From 9445f135003c29c61140e3b062fd70e4b03bb810 Mon Sep 17 00:00:00 2001 From: 3pings Date: Fri, 17 Jul 2026 12:58:21 -0400 Subject: [PATCH 1/5] Add victoria-metrics-operator v0.66.2 community pack Adds the VictoriaMetrics Operator pack (operator app version v0.73.1), including README and the full pack.content.images list covering the operator, config reloader, CRD helper jobs, and all operator-managed component default images for offline caching. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../README.md | 94 + .../victoria-metrics-operator-0.66.2.tgz | Bin 0 -> 173439 bytes .../victoria-metrics-operator-crds-0.13.1.tgz | Bin 0 -> 113291 bytes .../.helmignore | 26 + .../victoria-metrics-operator-crds/Chart.lock | 6 + .../victoria-metrics-operator-crds/Chart.yaml | 48 + .../victoria-metrics-operator-crds/README.md | 4 + .../RELEASE_NOTES | 7 + .../charts/crds/Chart.yaml | 6 + .../charts/crds/README.md | 9 + .../charts/crds/crd.yaml | 49344 ++++++++++++++++ .../charts/crds/templates/crd.yaml | 11 + .../charts/crds/values.yaml | 1 + .../values.yaml | 3 + .../victoria-metrics-operator/.helmignore | 29 + .../victoria-metrics-operator/Chart.lock | 9 + .../victoria-metrics-operator/Chart.yaml | 52 + .../victoria-metrics-operator/README.md | 4 + .../victoria-metrics-operator/RELEASE_NOTES | 7 + .../charts/crds/Chart.yaml | 6 + .../charts/crds/README.md | 9 + .../charts/crds/crds/crd.yaml | 49344 ++++++++++++++++ .../charts/crds/files/crd.yaml.bz2 | Bin 0 -> 35482 bytes .../charts/crds/templates/_helpers.yaml | 13 + .../charts/crds/templates/cm.yaml | 18 + .../charts/crds/templates/job.yaml | 131 + .../charts/crds/templates/role.yaml | 52 + .../charts/crds/templates/serviceaccount.yaml | 25 + .../charts/crds/values.yaml | 17 + .../victoria-metrics-common/.helmignore | 26 + .../charts/victoria-metrics-common/Chart.lock | 3 + .../charts/victoria-metrics-common/Chart.yaml | 33 + .../charts/victoria-metrics-common/README.md | 4 + .../victoria-metrics-common/RELEASE_NOTES | 7 + .../templates/_enterprise.tpl | 87 + .../templates/_helpers.tpl | 320 + .../templates/_image.tpl | 61 + .../templates/_ingress.tpl | 8 + .../templates/_pod.tpl | 140 + .../templates/_service.tpl | 177 + .../victoria-metrics-common/values.yaml | 1 + .../charts/victoria-metrics-operator/crd.yaml | 2378 + .../templates/NOTES.txt | 5 + .../templates/_helpers.tpl | 48 + .../templates/cleanup.yaml | 62 + .../templates/crb.yaml | 41 + .../templates/crd.yaml | 21 + .../templates/extra-objects.yaml | 4 + .../templates/monitor.yaml | 48 + .../templates/pdb.yaml | 26 + .../templates/rb.yaml | 24 + .../templates/role.yaml | 225 + .../templates/server.yaml | 215 + .../templates/service.yaml | 56 + .../templates/serviceaccount.yaml | 27 + .../templates/webhook.yaml | 153 + .../victoria-metrics-operator/values.yaml | 464 + .../logo.png | Bin 0 -> 49641 bytes .../pack.json | 18 + .../values.yaml | 500 + 60 files changed, 104457 insertions(+) create mode 100644 packs/victoria-metrics-operator-v0.66.2/README.md create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-0.66.2.tgz create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds-0.13.1.tgz create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/.helmignore create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/Chart.lock create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/Chart.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/README.md create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/RELEASE_NOTES create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/Chart.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/README.md create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/crd.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/templates/crd.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/values.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/values.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/.helmignore create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.lock create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/README.md create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/RELEASE_NOTES create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/Chart.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/README.md create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/crds/crd.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/files/crd.yaml.bz2 create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/_helpers.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/cm.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/job.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/role.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/serviceaccount.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/values.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/.helmignore create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.lock create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/README.md create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/RELEASE_NOTES create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_enterprise.tpl create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_helpers.tpl create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_image.tpl create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_ingress.tpl create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_pod.tpl create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_service.tpl create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/values.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/crd.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/NOTES.txt create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/_helpers.tpl create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/cleanup.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crb.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crd.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/extra-objects.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/monitor.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/pdb.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/rb.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/role.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/server.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/service.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/serviceaccount.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/webhook.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/values.yaml create mode 100644 packs/victoria-metrics-operator-v0.66.2/logo.png create mode 100644 packs/victoria-metrics-operator-v0.66.2/pack.json create mode 100644 packs/victoria-metrics-operator-v0.66.2/values.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/README.md b/packs/victoria-metrics-operator-v0.66.2/README.md new file mode 100644 index 00000000..1982cdfc --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/README.md @@ -0,0 +1,94 @@ +# Victoria Metrics Operator + +The [VictoriaMetrics Operator](https://docs.victoriametrics.com/operator/) is a Kubernetes operator that manages VictoriaMetrics monitoring and observability components through Custom Resources (CRs). Instead of hand-writing Deployments and StatefulSets, you declare objects such as `VMSingle`, `VMCluster`, `VMAgent`, `VMAlert`, `VMAuth`, and `VMAlertmanager`, and the operator reconciles them into running workloads. It also converts existing Prometheus Operator objects (`ServiceMonitor`, `PodMonitor`, `PrometheusRule`, and others) into their VictoriaMetrics equivalents, easing migration from a Prometheus-based stack. + +This pack installs the operator (app version `v0.73.1`) and its Custom Resource Definitions. It does not deploy any monitoring workloads on its own — you create the VictoriaMetrics CRs after the operator is running. + + +## Prerequisites + +- A running Kubernetes cluster on version `1.25.0` or later. +- Helm-based add-on support in Palette (this is a Helm chart-based pack). +- Sufficient cluster resources for the operator and any VictoriaMetrics components you later create. +- For air-gapped or offline environments, mirror the operator image and every managed-component image the operator may pull. See the [References](#references) for the image list. + + +## Parameters + +The pack is configured under the `charts.victoria-metrics-operator` key. The most commonly adjusted parameters are listed below. + +| **Parameter** | **Description** | **Type** | **Default Value** | **Required** | +|---|---|---|---|---| +| `image.repository` | Operator image repository. | String | `victoriametrics/operator` | No | +| `image.tag` | Operator image tag. Overrides `Chart.AppVersion` when set. | String | `""` (uses `v0.73.1`) | No | +| `global.image.registry` | Registry prefix shared across the operator and all managed components. Set this to point every image at a private/mirror registry. | String | `""` | No | +| `replicaCount` | Number of operator replicas. | Int | `1` | No | +| `watchNamespaces` | Namespaces the operator watches. Empty means all namespaces. | Array | `[]` | No | +| `operator.disable_prometheus_converter` | Disables conversion of Prometheus Operator objects into VictoriaMetrics objects. | Bool | `false` | No | +| `admissionWebhooks.enabled` | Enables the validating admission webhook for VictoriaMetrics CRs. | Bool | `true` | No | +| `crds.enabled` | Manages CRD creation through the operator chart. | Bool | `true` | No | +| `env` | Extra operator environment variables, including `VM_*DEFAULT_VERSION` / `VM_*DEFAULT_IMAGE` overrides for managed components. | Array | `[]` | No | + +The full parameter reference is available in the [VictoriaMetrics Operator Helm chart documentation](https://docs.victoriametrics.com/helm/victoria-metrics-operator/) and the [operator configuration variables](https://docs.victoriametrics.com/operator/configuration/#environment-variables). + + +## Upgrade + +- CRDs are **not** upgraded automatically by a standard Helm upgrade. This chart provides an optional CRD upgrade job (`crds.upgrade.enabled`) and cleanup job (`crds.cleanup.enabled`); review the [changelog](https://docs.victoriametrics.com/helm/victoria-metrics-operator/changelog/) before upgrading across minor versions. +- Default versions for managed components (for example `VMSingle`, `VMAgent`, `VMCluster`) are compiled into the operator and change with each operator release. After upgrading, newly reconciled or newly created CRs adopt the new defaults unless you pin versions explicitly on the CR or via the operator `env` (for example `VM_VMSINGLEDEFAULT_VERSION`). +- Pin the operator image tag with `image.tag` if you need reproducible, offline-cacheable deployments rather than tracking `Chart.AppVersion`. + +> [!CAUTION] +> Upgrades from a manifest-based pack to a Helm chart-based pack might not be compatible. + + +## Usage + +Create a new [add-on cluster profile](https://docs.spectrocloud.com/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/) and add the **Victoria Metrics Operator** pack. The operator and its CRDs deploy into the `victoria-metrics` namespace. + +The operator only manages CRs — it does not stand up a monitoring stack by itself. Add a manifest layer with the VictoriaMetrics objects you want. The example below deploys a single-node VictoriaMetrics instance and a `VMAgent` that scrapes targets and remote-writes to it. + +```yaml +apiVersion: operator.victoriametrics.com/v1beta1 +kind: VMSingle +metadata: + name: example + namespace: victoria-metrics +spec: + retentionPeriod: "1" + removePvcAfterDelete: true +--- +apiVersion: operator.victoriametrics.com/v1beta1 +kind: VMAgent +metadata: + name: example + namespace: victoria-metrics +spec: + selectAllByDefault: true + remoteWrite: + - url: "http://vmsingle-example.victoria-metrics.svc:8429/api/v1/write" +``` + +To point every image at a private or mirror registry (for example in an air-gapped install), set the shared registry override in the pack YAML: + +```yaml +charts: + victoria-metrics-operator: + global: + image: + registry: my-registry.example.com +``` + +By default the operator converts existing Prometheus Operator objects into VictoriaMetrics objects. Set `operator.disable_prometheus_converter` to `true` if you run Prometheus Operator alongside this pack and do not want that conversion. + +> [!CAUTION] +> Deleting a VictoriaMetrics CR removes its managed workloads. Set `removePvcAfterDelete` deliberately — persistent volumes for storage components are retained unless you opt in to their removal. + + +## References + +- [VictoriaMetrics Operator documentation](https://docs.victoriametrics.com/operator/) +- [Operator configuration and environment variables](https://docs.victoriametrics.com/operator/configuration/) +- [VictoriaMetrics Operator Helm chart](https://docs.victoriametrics.com/helm/victoria-metrics-operator/) +- [VictoriaMetrics Operator on GitHub](https://github.com/VictoriaMetrics/operator) +- [Custom Resource API reference](https://docs.victoriametrics.com/operator/api/) diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-0.66.2.tgz b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-0.66.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0ca75422a1b271c9c6397eb73b2aef4d143cc827 GIT binary patch literal 173439 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Ν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.25.0-0' +name: victoria-metrics-operator-crds +sources: +- https://github.com/VictoriaMetrics/helm-charts +- https://github.com/VictoriaMetrics/operator +type: application +version: 0.13.1 diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/README.md b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/README.md new file mode 100644 index 00000000..082a03c5 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/README.md @@ -0,0 +1,4 @@ +# VictoriaMetrics Operator CRDs Helm chart + +Chart documentation is available [here](https://docs.victoriametrics.com/helm/victoria-metrics-operator-crds/). +Changelog is [here](https://docs.victoriametrics.com/helm/victoria-metrics-operator-crds/changelog/). diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/RELEASE_NOTES b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/RELEASE_NOTES new file mode 100644 index 00000000..f541a033 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/RELEASE_NOTES @@ -0,0 +1,7 @@ +# Release notes for version 0.13.1 + +**Release date:** 08 Jul 2026 + +![Helm: v3](https://img.shields.io/badge/Helm-v3.14%2B-informational?color=informational&logo=helm&link=https%3A%2F%2Fgithub.com%2Fhelm%2Fhelm%2Freleases%2Ftag%2Fv3.14.0) ![AppVersion: v0.73.1](https://img.shields.io/badge/v0.73.1-success?logo=VictoriaMetrics&labelColor=gray&link=https%3A%2F%2Fdocs.victoriametrics.com%2Foperator%2Fchangelog%2F%23v0731) + +- Release CRDs for operator [v0.73.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.73.1) diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/Chart.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/Chart.yaml new file mode 100644 index 00000000..ecd8e7b0 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +appVersion: 0.0.0 +description: A subchart stores victoriametrics operator CRDs. +name: crds +type: application +version: 0.0.0 diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/README.md b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/README.md new file mode 100644 index 00000000..e2bc8e0b --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/README.md @@ -0,0 +1,9 @@ +--- +build: + list: never + publishResources: false + render: never +sitemap: + disable: true +--- +# Subchart for VictoriaMetrics Operator CRDs diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/crd.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/crd.yaml new file mode 100644 index 00000000..6cccf4fe --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/crd.yaml @@ -0,0 +1,49344 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlagents.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLAgent + listKind: VLAgentList + plural: vlagents + singular: vlagent + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current number of replicas + jsonPath: .status.replicas + name: Replica Count + type: integer + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + x-kubernetes-preserve-unknown-fields: true + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + k8sCollector: + properties: + checkpointsPath: + type: string + decolorizeFields: + items: + type: string + type: array + enabled: + type: boolean + excludeFilter: + type: string + extraFields: + type: string + ignoreFields: + items: + type: string + type: array + includeNodeAnnotations: + type: boolean + includeNodeLabels: + type: boolean + includePodAnnotations: + type: boolean + includePodLabels: + type: boolean + logsPath: + type: string + msgFields: + items: + type: string + type: array + streamFields: + items: + type: string + type: array + tenantID: + type: string + timeFields: + items: + type: string + type: array + type: object + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + remoteWrite: + items: + properties: + bearerTokenPath: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + headers: + items: + type: string + type: array + maxDiskUsage: + x-kubernetes-preserve-unknown-fields: true + oauth2: + properties: + clientIDFile: + type: string + clientIDSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + clientSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + clientSecretFile: + type: string + endpointParams: + additionalProperties: + type: string + type: object + scopes: + items: + type: string + type: array + tokenURL: + minLength: 1 + type: string + required: + - tokenURL + type: object + proxyURL: + type: string + sendTimeout: + pattern: '[0-9]+(ms|s|m|h)' + type: string + tlsConfig: + properties: + caFile: + type: string + caSecretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + certFile: + type: string + certSecretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url: + type: string + required: + - url + type: object + type: array + remoteWriteSettings: + properties: + flushInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + maxBlockSize: + x-kubernetes-preserve-unknown-fields: true + maxDiskUsagePerURL: + x-kubernetes-preserve-unknown-fields: true + queues: + format: int32 + type: integer + showURL: + type: boolean + tmpDataPath: + type: string + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + syslogSpec: + properties: + tcpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + tlsConfig: + properties: + certFile: + type: string + certSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - listenPort + type: object + type: array + udpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + required: + - listenPort + type: object + type: array + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tmpDataPath: + type: string + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + required: + - remoteWrite + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + replicas: + format: int32 + type: integer + selector: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.shardCount + statusReplicasPath: .status.shards + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlclusters.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLCluster + listKind: VLClusterList + plural: vlclusters + singular: vlcluster + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: replicas of VLInsert + jsonPath: .spec.vlinsert.replicaCount + name: Insert Count + type: string + - description: replicas of VLStorage + jsonPath: .spec.vlstorage.replicaCount + name: Storage Count + type: string + - description: replicas of VLSelect + jsonPath: .spec.vlselect.replicaCount + name: Select Count + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current status of cluster + jsonPath: .status.updateStatus + name: Status + type: string + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + clusterDomainName: + type: string + clusterVersion: + type: string + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + paused: + type: boolean + requestsLoadBalancer: + properties: + disableInsertBalancing: + type: boolean + disableSelectBalancing: + type: boolean + enabled: + type: boolean + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + serviceAccountName: + type: string + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + vlinsert: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + syslogSpec: + properties: + tcpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + tlsConfig: + properties: + certFile: + type: string + certSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - listenPort + type: object + type: array + udpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + required: + - listenPort + type: object + type: array + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + vlselect: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + extraStorageNodes: + items: + properties: + addr: + type: string + required: + - addr + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + vlstorage: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + claimTemplates: + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + futureRetention: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logIngestedRows: + type: boolean + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + logNewStreams: + type: boolean + maintenanceInsertNodeIDs: + items: + format: int32 + type: integer + type: array + maintenanceSelectNodeIDs: + items: + format: int32 + type: integer + type: array + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionMaxDiskSpaceUsageBytes: + type: string + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + rollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + storageDataPath: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlogs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLogs + listKind: VLogsList + plural: vlogs + singular: vlogs + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of logs instance update process + jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - retentionPeriod + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlsingles.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLSingle + listKind: VLSingleList + plural: vlsingles + singular: vlsingle + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of logs instance update process + jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + futureRetention: + pattern: ^[0-9]+(h|d|y)?$ + type: string + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logIngestedRows: + type: boolean + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + logNewStreams: + type: boolean + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionMaxDiskSpaceUsageBytes: + type: string + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + storageDataPath: + type: string + storageMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + syslogSpec: + properties: + tcpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + tlsConfig: + properties: + certFile: + type: string + certSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - listenPort + type: object + type: array + udpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + required: + - listenPort + type: object + type: array + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmagents.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAgent + listKind: VMAgentList + plural: vmagents + singular: vmagent + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current number of shards + jsonPath: .status.shards + name: Shards Count + type: integer + - description: current number of replicas + jsonPath: .status.replicas + name: Replica Count + type: integer + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + additionalScrapeConfigs: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + apiServerConfig: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerToken: + type: string + bearerTokenFile: + type: string + host: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - host + type: object + arbitraryFSAccessThroughSMs: + properties: + deny: + type: boolean + type: object + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + x-kubernetes-preserve-unknown-fields: true + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + daemonSetMode: + type: boolean + daemonSetRollingUpdateStrategyBehavior: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + daemonSetUpdateStrategy: + type: string + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableKubernetesAPISelectors: + type: boolean + enableServiceLinks: + type: boolean + enforcedNamespaceLabel: + type: string + externalLabelName: + type: string + externalLabels: + additionalProperties: + type: string + type: object + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + globalScrapeMetricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + globalScrapeRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + ignoreNamespaceSelectors: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + ingestOnlyMode: + type: boolean + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + inlineRelabelConfig: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + inlineScrapeConfig: + type: string + insertPorts: + properties: + graphitePort: + type: string + influxPort: + type: string + openTSDBHTTPPort: + type: string + openTSDBPort: + type: string + type: object + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + maxScrapeInterval: + type: string + minReadySeconds: + format: int32 + type: integer + minScrapeInterval: + type: string + nodeScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + nodeScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + nodeScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + nodeSelector: + additionalProperties: + type: string + type: object + overrideHonorLabels: + type: boolean + overrideHonorTimestamps: + type: boolean + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + podScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + podScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + podScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + probeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + probeScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + probeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + relabelConfig: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + remoteWrite: + items: + properties: + aws: + properties: + ec2Endpoint: + type: string + region: + type: string + roleARN: + type: string + service: + type: string + stsEndpoint: + type: string + useSigv4: + type: boolean + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + forceVMProto: + type: boolean + headers: + items: + type: string + type: array + inlineUrlRelabelConfig: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + maxDiskUsage: + x-kubernetes-preserve-unknown-fields: true + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyURL: + type: string + queues: + format: int32 + type: integer + sendTimeout: + pattern: '[0-9]+(ms|s|m|h)' + type: string + streamAggrConfig: + properties: + configmap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + dedupInterval: + type: string + dropInput: + type: boolean + dropInputLabels: + items: + type: string + type: array + enableWindows: + type: boolean + ignoreFirstIntervals: + type: integer + ignoreFirstSampleInterval: + type: string + ignoreOldSamples: + type: boolean + keepInput: + type: boolean + rules: + items: + properties: + by: + items: + type: string + type: array + dedup_interval: + type: string + drop_input_labels: + items: + type: string + type: array + enable_windows: + type: boolean + flush_on_shutdown: + type: boolean + ignore_first_intervals: + type: integer + ignore_old_samples: + type: boolean + ignoreFirstSampleInterval: + type: string + input_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + interval: + type: string + keep_metric_names: + type: boolean + match: + x-kubernetes-preserve-unknown-fields: true + no_align_flush_to_interval: + type: boolean + output_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + outputs: + items: + type: string + type: array + staleness_interval: + type: string + without: + items: + type: string + type: array + required: + - interval + - outputs + type: object + type: array + type: object + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url: + type: string + urlRelabelConfig: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - url + type: object + type: array + remoteWriteSettings: + properties: + flushInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + label: + additionalProperties: + type: string + type: object + maxBlockSize: + format: int32 + type: integer + maxDiskUsagePerURL: + x-kubernetes-preserve-unknown-fields: true + queues: + format: int32 + type: integer + showURL: + type: boolean + tmpDataPath: + type: string + useMultiTenantMode: + type: boolean + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + sampleLimit: + type: integer + schedulerName: + type: string + scrapeClasses: + items: + properties: + attachMetadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + default: + type: boolean + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + name: + minLength: 1 + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + scrapeConfigNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + scrapeConfigRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + scrapeConfigSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + scrapeInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + scrapeTimeout: + pattern: '[0-9]+(ms|s|m|h)' + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + serviceScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + serviceScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + shardCount: + format: int32 + type: integer + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + statefulMode: + type: boolean + statefulRollingUpdateStrategy: + type: string + statefulRollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + statefulStorage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + staticScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + staticScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + staticScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + streamAggrConfig: + properties: + configmap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + dedupInterval: + type: string + dropInput: + type: boolean + dropInputLabels: + items: + type: string + type: array + enableWindows: + type: boolean + ignoreFirstIntervals: + type: integer + ignoreFirstSampleInterval: + type: string + ignoreOldSamples: + type: boolean + keepInput: + type: boolean + rules: + items: + properties: + by: + items: + type: string + type: array + dedup_interval: + type: string + drop_input_labels: + items: + type: string + type: array + enable_windows: + type: boolean + flush_on_shutdown: + type: boolean + ignore_first_intervals: + type: integer + ignore_old_samples: + type: boolean + ignoreFirstSampleInterval: + type: string + input_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + interval: + type: string + keep_metric_names: + type: boolean + match: + x-kubernetes-preserve-unknown-fields: true + no_align_flush_to_interval: + type: boolean + output_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + outputs: + items: + type: string + type: array + staleness_interval: + type: string + without: + items: + type: string + type: array + required: + - interval + - outputs + type: object + type: array + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + vmAgentExternalLabelName: + type: string + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + required: + - remoteWrite + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + replicas: + format: int32 + type: integer + selector: + type: string + shards: + format: int32 + type: integer + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.shardCount + statusReplicasPath: .status.shards + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmalertmanagerconfigs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAlertmanagerConfig + listKind: VMAlertmanagerConfigList + plural: vmalertmanagerconfigs + singular: vmalertmanagerconfig + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + inhibit_rules: + items: + properties: + equal: + items: + type: string + type: array + source_matchers: + items: + type: string + type: array + target_matchers: + items: + type: string + type: array + type: object + type: array + receivers: + items: + properties: + discord_configs: + items: + properties: + avatar_url: + type: string + content: + maxLength: 2000 + type: string + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + message: + type: string + send_resolved: + type: boolean + title: + type: string + username: + type: string + webhook_url: + type: string + webhook_url_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + email_configs: + items: + properties: + auth_identity: + type: string + auth_password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + auth_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + auth_username: + type: string + from: + type: string + headers: + additionalProperties: + type: string + type: object + hello: + type: string + html: + type: string + require_tls: + type: boolean + send_resolved: + type: boolean + smarthost: + type: string + text: + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + to: + type: string + type: object + type: array + incidentio_configs: + items: + properties: + alert_source_token: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + alert_source_token_file: + type: string + http_config: + x-kubernetes-preserve-unknown-fields: true + max_alerts: + type: integer + send_resolved: + type: boolean + timeout: + type: string + url: + type: string + url_file: + type: string + type: object + type: array + jira_configs: + items: + properties: + api_url: + type: string + custom_fields: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + description: + type: string + http_config: + x-kubernetes-preserve-unknown-fields: true + issue_type: + type: string + labels: + items: + type: string + type: array + priority: + type: string + project: + type: string + reopen_duration: + 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 + reopen_transition: + type: string + resolve_transition: + type: string + send_resolved: + type: boolean + summary: + type: string + wont_fix_resolution: + type: string + required: + - issue_type + - project + type: object + type: array + mattermost_configs: + items: + properties: + attachments: + items: + properties: + author_icon: + type: string + author_link: + type: string + author_name: + type: string + color: + type: string + fallback: + type: string + fields: + items: + properties: + short: + type: boolean + title: + type: string + value: + type: string + type: object + type: array + footer: + type: string + footer_icon: + type: string + image_url: + type: string + pretext: + type: string + text: + type: string + thumb_url: + type: string + title: + type: string + title_link: + type: string + type: object + type: array + channel: + type: string + http_config: + x-kubernetes-preserve-unknown-fields: true + icon_emoji: + type: string + icon_url: + type: string + priority: + properties: + persistent_notifications: + type: boolean + priority: + type: string + requested_ack: + type: boolean + type: object + props: + properties: + card: + type: string + type: object + send_resolved: + type: boolean + text: + type: string + url: + type: string + url_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + type: string + required: + - text + type: object + type: array + msteams_configs: + items: + properties: + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + send_resolved: + type: boolean + text: + type: string + title: + type: string + webhook_url: + type: string + webhook_url_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + msteamsv2_configs: + items: + properties: + http_config: + x-kubernetes-preserve-unknown-fields: true + send_resolved: + type: boolean + text: + type: string + title: + type: string + webhook_url: + type: string + webhook_url_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + name: + minLength: 1 + type: string + opsgenie_configs: + items: + properties: + actions: + type: string + api_key: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + apiURL: + type: string + description: + type: string + details: + additionalProperties: + type: string + type: object + entity: + type: string + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + message: + type: string + note: + type: string + priority: + type: string + responders: + items: + properties: + id: + type: string + name: + type: string + type: + minLength: 1 + type: string + username: + type: string + required: + - type + type: object + type: array + send_resolved: + type: boolean + source: + type: string + tags: + type: string + update_alerts: + type: boolean + type: object + type: array + pagerduty_configs: + items: + properties: + class: + type: string + client: + type: string + client_url: + type: string + component: + type: string + description: + type: string + details: + additionalProperties: + type: string + type: object + group: + type: string + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + images: + items: + properties: + alt: + type: string + href: + type: string + source: + type: string + required: + - source + type: object + type: array + links: + items: + properties: + href: + type: string + text: + type: string + required: + - href + type: object + type: array + routing_key: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + send_resolved: + type: boolean + service_key: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + severity: + type: string + url: + type: string + type: object + type: array + pushover_configs: + items: + properties: + expire: + type: string + html: + type: boolean + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + message: + type: string + priority: + type: string + retry: + type: string + send_resolved: + type: boolean + sound: + type: string + title: + type: string + token: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + url: + type: string + url_title: + type: string + user_key: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + rocketchat_configs: + items: + properties: + actions: + items: + properties: + msg: + type: string + text: + type: string + type: + type: string + url: + type: string + type: object + type: array + api_url: + type: string + channel: + type: string + color: + type: string + emoji: + type: string + fields: + items: + properties: + short: + type: boolean + title: + type: string + value: + type: string + type: object + type: array + http_config: + x-kubernetes-preserve-unknown-fields: true + icon_url: + type: string + image_url: + type: string + link_names: + type: boolean + send_resolved: + type: boolean + short_fields: + type: boolean + text: + type: string + thumb_url: + type: string + title: + type: string + title_link: + type: string + token: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + token_id: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + slack_configs: + items: + properties: + actions: + items: + properties: + confirm: + properties: + dismiss_text: + type: string + ok_text: + type: string + text: + minLength: 1 + type: string + title: + type: string + required: + - text + type: object + name: + type: string + style: + type: string + text: + minLength: 1 + type: string + type: + minLength: 1 + type: string + url: + type: string + value: + type: string + required: + - text + - type + type: object + type: array + api_url: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + callback_id: + type: string + channel: + type: string + color: + type: string + fallback: + type: string + fields: + items: + properties: + short: + type: boolean + title: + minLength: 1 + type: string + value: + minLength: 1 + type: string + required: + - title + - value + type: object + type: array + footer: + type: string + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + icon_emoji: + type: string + icon_url: + type: string + image_url: + type: string + link_names: + type: boolean + mrkdwn_in: + items: + type: string + type: array + pretext: + type: string + send_resolved: + type: boolean + short_fields: + type: boolean + text: + type: string + thumb_url: + type: string + title: + type: string + title_link: + type: string + update_message: + type: boolean + username: + type: string + type: object + type: array + sns_configs: + items: + properties: + api_url: + type: string + attributes: + additionalProperties: + type: string + type: object + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + message: + type: string + phone_number: + type: string + send_resolved: + type: boolean + sigv4: + properties: + access_key: + type: string + access_key_selector: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + profile: + type: string + region: + type: string + role_arn: + type: string + secret_key_selector: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + subject: + type: string + target_arn: + type: string + topic_arn: + type: string + type: object + type: array + telegram_configs: + items: + properties: + api_url: + type: string + bot_token: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + chat_id: + type: integer + disable_notifications: + type: boolean + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + message: + type: string + message_thread_id: + type: integer + parse_mode: + type: string + send_resolved: + type: boolean + required: + - bot_token + - chat_id + type: object + type: array + victorops_configs: + items: + properties: + api_key: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + api_url: + type: string + custom_fields: + additionalProperties: + type: string + type: object + entity_display_name: + type: string + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + message_type: + type: string + monitoring_tool: + type: string + routing_key: + type: string + send_resolved: + type: boolean + state_message: + type: string + required: + - routing_key + type: object + type: array + webex_configs: + items: + properties: + api_url: + type: string + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + message: + type: string + room_id: + type: string + send_resolved: + type: boolean + required: + - room_id + type: object + type: array + webhook_configs: + items: + properties: + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + max_alerts: + format: int32 + minimum: 0 + type: integer + send_resolved: + type: boolean + timeout: + 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: + type: string + url_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + wechat_configs: + items: + properties: + agent_id: + type: string + api_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + api_url: + type: string + corp_id: + type: string + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + message: + type: string + message_type: + type: string + send_resolved: + type: boolean + to_party: + type: string + to_tag: + type: string + to_user: + type: string + type: object + type: array + required: + - name + type: object + type: array + route: + properties: + active_time_intervals: + items: + type: string + type: array + continue: + type: boolean + group_by: + items: + type: string + type: array + group_interval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + group_wait: + pattern: '[0-9]+(ms|s|m|h)' + type: string + matchers: + items: + type: string + type: array + mute_time_intervals: + items: + type: string + type: array + receiver: + type: string + repeat_interval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + routes: + items: + x-kubernetes-preserve-unknown-fields: true + type: array + required: + - receiver + type: object + time_intervals: + items: + properties: + name: + type: string + time_intervals: + items: + properties: + days_of_month: + items: + type: string + type: array + location: + type: string + months: + items: + type: string + type: array + times: + items: + properties: + end_time: + type: string + start_time: + type: string + required: + - end_time + - start_time + type: object + type: array + weekdays: + items: + type: string + type: array + years: + items: + type: string + type: array + type: object + type: array + required: + - name + - time_intervals + type: object + type: array + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastErrorParentAlertmanagerName: + type: string + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmalertmanagers.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAlertmanager + listKind: VMAlertmanagerList + plural: vmalertmanagers + shortNames: + - vma + singular: vmalertmanager + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: The desired replicas number of Alertmanagers + jsonPath: .spec.replicaCount + name: ReplicaCount + type: integer + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current update status + jsonPath: .status.updateStatus + name: Update Status + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + additionalPeers: + items: + type: string + type: array + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + arbitraryFSAccessThroughSMs: + properties: + deny: + type: boolean + type: object + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + x-kubernetes-preserve-unknown-fields: true + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + clusterAdvertiseAddress: + type: string + clusterDomainName: + type: string + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + configRawYaml: + type: string + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + configSecret: + type: string + configSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableNamespaceMatcher: + type: boolean + disableRouteContinueEnforce: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + enforcedNamespaceLabel: + type: string + enforcedTopRouteMatchers: + items: + type: string + type: array + externalURL: + type: string + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + gossipConfig: + properties: + tls_client_config: + properties: + ca_file: + type: string + ca_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + cert_file: + type: string + cert_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + insecure_skip_verify: + type: boolean + key_file: + type: string + key_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + server_name: + type: string + type: object + tls_server_config: + properties: + cert_file: + type: string + cert_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + cipher_suites: + items: + type: string + type: array + client_auth_type: + enum: + - NoClientCert + - RequireAndVerifyClientCert + type: string + client_ca_file: + type: string + client_ca_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + curve_preferences: + items: + type: string + type: array + key_file: + type: string + key_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + max_version: + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + min_version: + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + prefer_server_cipher_suites: + type: boolean + type: object + type: object + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + listenLocal: + type: boolean + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - logfmt + - json + type: string + logLevel: + enum: + - debug + - info + - warn + - error + - DEBUG + - INFO + - WARN + - ERROR + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + portName: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retention: + pattern: '[0-9]+(ms|s|m|h)' + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + routePrefix: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + templates: + items: + properties: + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + tracingConfig: + properties: + client_type: + enum: + - http + - grpc + type: string + compression: + type: string + endpoint: + type: string + headers: + additionalProperties: + type: string + type: object + insecure: + type: boolean + sampling_fraction: + type: string + timeout: + type: string + tls_config: + properties: + ca_file: + type: string + ca_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + cert_file: + type: string + cert_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + insecure_skip_verify: + type: boolean + key_file: + type: string + key_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + server_name: + type: string + type: object + required: + - endpoint + type: object + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + webConfig: + properties: + basic_auth_users: + additionalProperties: + type: string + type: object + http_server_config: + properties: + headers: + additionalProperties: + type: string + type: object + http2: + type: boolean + type: object + tls_server_config: + properties: + cert_file: + type: string + cert_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + cipher_suites: + items: + type: string + type: array + client_auth_type: + enum: + - NoClientCert + - RequireAndVerifyClientCert + type: string + client_ca_file: + type: string + client_ca_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + curve_preferences: + items: + type: string + type: array + key_file: + type: string + key_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + max_version: + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + min_version: + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + prefer_server_cipher_suites: + type: boolean + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmalerts.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAlert + listKind: VMAlertList + plural: vmalerts + singular: vmalert + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - description: The desired replicas number of VMAlerts + jsonPath: .spec.replicaCount + name: ReplicaCount + type: integer + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + datasource: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + headers: + items: + type: string + type: array + oauth2: + required: + - client_id + - token_url + type: object + x-kubernetes-preserve-unknown-fields: true + tlsConfig: + type: object + x-kubernetes-preserve-unknown-fields: true + url: + type: string + required: + - url + type: object + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + enforcedNamespaceLabel: + type: string + evaluationInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + externalLabels: + additionalProperties: + type: string + type: object + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + notifier: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + headers: + items: + type: string + type: array + oauth2: + required: + - client_id + - token_url + type: object + x-kubernetes-preserve-unknown-fields: true + selector: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + type: object + tlsConfig: + type: object + x-kubernetes-preserve-unknown-fields: true + url: + type: string + type: object + notifierConfigRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + notifiers: + items: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + headers: + items: + type: string + type: array + oauth2: + required: + - client_id + - token_url + type: object + x-kubernetes-preserve-unknown-fields: true + selector: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + type: object + tlsConfig: + type: object + x-kubernetes-preserve-unknown-fields: true + url: + type: string + type: object + type: array + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + remoteRead: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + headers: + items: + type: string + type: array + lookback: + type: string + oauth2: + required: + - client_id + - token_url + type: object + x-kubernetes-preserve-unknown-fields: true + tlsConfig: + type: object + x-kubernetes-preserve-unknown-fields: true + url: + type: string + required: + - url + type: object + remoteWrite: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + concurrency: + format: int32 + type: integer + flushInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + headers: + items: + type: string + type: array + maxBatchSize: + format: int32 + type: integer + maxQueueSize: + format: int32 + type: integer + oauth2: + required: + - client_id + - token_url + type: object + x-kubernetes-preserve-unknown-fields: true + tlsConfig: + type: object + x-kubernetes-preserve-unknown-fields: true + url: + type: string + required: + - url + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + ruleNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + rulePath: + items: + type: string + type: array + ruleSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + required: + - datasource + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmanomalies.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAnomaly + listKind: VMAnomalyList + plural: vmanomalies + singular: vmanomaly + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current number of shards + jsonPath: .status.shards + name: Shards Count + type: integer + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + x-kubernetes-preserve-unknown-fields: true + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + configRawYaml: + type: string + configSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + monitoring: + properties: + pull: + properties: + port: + type: string + required: + - port + type: object + push: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer: + properties: + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + extraLabels: + additionalProperties: + type: string + type: object + healthPath: + type: string + pushFrequency: + type: string + tenantID: + type: string + timeout: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url: + type: string + required: + - url + type: object + type: object + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + reader: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer: + properties: + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + dataRange: + items: + type: string + type: array + datasourceURL: + type: string + extraFilters: + items: + type: string + type: array + healthPath: + type: string + latencyOffset: + type: string + maxPointsPerQuery: + type: integer + offset: + type: string + queryFromLastSeenTimestamp: + type: boolean + queryRangePath: + type: string + samplingPeriod: + type: string + tenantID: + type: string + timeout: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + tz: + type: string + required: + - datasourceURL + - samplingPeriod + type: object + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + server: + properties: + addr: + type: string + maxConcurrentTasks: + minimum: 1 + type: integer + pathPrefix: + type: string + port: + type: string + uiDefaultState: + type: string + useReaderConnectionSettings: + type: boolean + type: object + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + shardCount: + format: int32 + type: integer + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + writer: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer: + properties: + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + connectionRetryAttempts: + minimum: 1 + type: integer + datasourceURL: + type: string + healthPath: + type: string + metricFormat: + properties: + __name__: + type: string + extraLabels: + additionalProperties: + type: string + type: object + for: + type: string + required: + - __name__ + - for + type: object + tenantID: + type: string + timeout: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - datasourceURL + type: object + required: + - reader + - writer + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + shards: + format: int32 + type: integer + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.shardCount + statusReplicasPath: .status.shards + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmanomalyconfigs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAnomalyConfig + listKind: VMAnomalyConfigList + plural: vmanomalyconfigs + singular: vmanomalyconfig + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmauths.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAuth + listKind: VMAuthList + plural: vmauths + singular: vmauth + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: The desired replicas number of VMAuth + jsonPath: .spec.replicaCount + name: ReplicaCount + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + arbitraryFSAccessThroughSMs: + properties: + deny: + type: boolean + type: object + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + configSecret: + type: string + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + defaultTargetRefs: + items: + properties: + crd: + properties: + kind: + enum: + - VMAgent + - VMAlert + - VMSingle + - VLogs + - VMAlertManager + - VMAlertmanager + - VMCluster/vmselect + - VMCluster/vmstorage + - VMCluster/vminsert + - VLSingle + - VLCluster/vlinsert + - VLCluster/vlselect + - VLCluster/vlstorage + - VLAgent + - VTCluster/vtinsert + - VTCluster/vtselect + - VTCluster/vtstorage + - VTSingle + - VMAnomaly + type: string + name: + type: string + namespace: + type: string + objects: + items: + properties: + name: + type: string + namespace: + type: string + useExtraService: + type: boolean + required: + - name + - namespace + type: object + type: array + useExtraService: + type: boolean + required: + - kind + - name + - namespace + type: object + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + hosts: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + name: + type: string + paths: + items: + type: string + type: array + query_args: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + static: + properties: + url: + type: string + urls: + items: + type: string + type: array + type: object + target_path_suffix: + type: string + targetRefBasicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - password + - username + type: object + type: object + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + externalConfig: + properties: + localPath: + type: string + secretRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + httpRoute: + properties: + annotations: + additionalProperties: + type: string + type: object + extraRules: + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + x-kubernetes-preserve-unknown-fields: true + hostnames: + items: + 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: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + parentRefs: + items: + properties: + group: + 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 + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + maxLength: 253 + minLength: 1 + type: string + namespace: + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + format: int32 + maximum: 65535 + minimum: 1 + type: integer + sectionName: + 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 + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + ingress: + properties: + annotations: + additionalProperties: + type: string + type: object + class_name: + type: string + extraRules: + items: + properties: + host: + type: string + http: + properties: + paths: + items: + properties: + backend: + properties: + resource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + service: + properties: + name: + type: string + port: + properties: + name: + type: string + number: + format: int32 + type: integer + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + type: object + path: + type: string + pathType: + type: string + required: + - backend + - pathType + type: object + type: array + x-kubernetes-list-type: atomic + required: + - paths + type: object + type: object + type: array + extraTls: + items: + properties: + hosts: + items: + type: string + type: array + x-kubernetes-list-type: atomic + secretName: + type: string + type: object + type: array + host: + type: string + labels: + additionalProperties: + type: string + type: object + name: + type: string + paths: + items: + type: string + type: array + tlsHosts: + items: + type: string + type: array + tlsSecretName: + type: string + type: object + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + internalListenPort: + type: string + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + unauthorizedAccessConfig: + x-kubernetes-preserve-unknown-fields: true + unauthorizedUserAccessSpec: + properties: + access_log: + properties: + filters: + properties: + skip_status_codes: + items: + type: integer + type: array + type: object + type: object + default_url: + items: + type: string + type: array + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + dump_request_on_errors: + type: boolean + headers: + items: + type: string + type: array + ip_filters: + properties: + allow_list: + items: + type: string + type: array + deny_list: + items: + type: string + type: array + type: object + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + max_concurrent_requests: + type: integer + metric_labels: + additionalProperties: + type: string + type: object + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + targetRefs: + items: + properties: + crd: + properties: + kind: + enum: + - VMAgent + - VMAlert + - VMSingle + - VLogs + - VMAlertManager + - VMAlertmanager + - VMCluster/vmselect + - VMCluster/vmstorage + - VMCluster/vminsert + - VLSingle + - VLCluster/vlinsert + - VLCluster/vlselect + - VLCluster/vlstorage + - VLAgent + - VTCluster/vtinsert + - VTCluster/vtselect + - VTCluster/vtstorage + - VTSingle + - VMAnomaly + type: string + name: + type: string + namespace: + type: string + objects: + items: + properties: + name: + type: string + namespace: + type: string + useExtraService: + type: boolean + required: + - name + - namespace + type: object + type: array + useExtraService: + type: boolean + required: + - kind + - name + - namespace + type: object + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + hosts: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + name: + type: string + paths: + items: + type: string + type: array + query_args: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + static: + properties: + url: + type: string + urls: + items: + type: string + type: array + type: object + target_path_suffix: + type: string + targetRefBasicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - password + - username + type: object + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url_map: + items: + properties: + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_hosts: + items: + type: string + type: array + src_paths: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + url_prefix: + x-kubernetes-preserve-unknown-fields: true + type: object + type: array + url_prefix: + x-kubernetes-preserve-unknown-fields: true + type: object + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useProxyProtocol: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + userNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + userSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmclusters.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMCluster + listKind: VMClusterList + plural: vmclusters + singular: vmcluster + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: replicas of VMInsert + jsonPath: .spec.vminsert.replicaCount + name: Insert Count + type: string + - description: replicas of VMStorage + jsonPath: .spec.vmstorage.replicaCount + name: Storage Count + type: string + - description: replicas of VMSelect + jsonPath: .spec.vmselect.replicaCount + name: Select Count + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current status of cluster + jsonPath: .status.updateStatus + name: Status + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + clusterDomainName: + type: string + clusterVersion: + type: string + discovery: + properties: + enabled: + type: boolean + filter: + type: string + interval: + pattern: ^[0-9]+(s|m|h)$ + type: string + required: + - enabled + type: object + downsampling: + properties: + dedupInterval: + type: string + rules: + items: + properties: + filter: + type: string + periods: + items: + properties: + interval: + type: string + offset: + type: string + required: + - interval + - offset + type: object + type: array + required: + - periods + type: object + type: array + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + paused: + type: boolean + replicationFactor: + format: int32 + type: integer + requestsLoadBalancer: + properties: + disableInsertBalancing: + type: boolean + disableSelectBalancing: + type: boolean + enabled: + type: boolean + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + serviceAccountName: + type: string + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + vminsert: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + clusterNativeListenPort: + type: string + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + discovery: + properties: + enabled: + type: boolean + filter: + type: string + interval: + pattern: ^[0-9]+(s|m|h)$ + type: string + required: + - enabled + type: object + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + insertPorts: + properties: + graphitePort: + type: string + influxPort: + type: string + openTSDBHTTPPort: + type: string + openTSDBPort: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + vmselect: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + cacheMountPath: + type: string + claimTemplates: + items: + type: object + type: array + clusterNativeListenPort: + type: string + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + discovery: + properties: + enabled: + type: boolean + filter: + type: string + interval: + pattern: ^[0-9]+(s|m|h)$ + type: string + required: + - enabled + type: object + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + rollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + vmstorage: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + claimTemplates: + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + maintenanceInsertNodeIDs: + items: + format: int32 + type: integer + type: array + maintenanceSelectNodeIDs: + items: + format: int32 + type: integer + type: array + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionFilters: + items: + properties: + filter: + type: string + retention: + type: string + required: + - filter + - retention + type: object + type: array + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + rollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + storageDataPath: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + vmBackup: + properties: + acceptEULA: + type: boolean + concurrency: + format: int32 + type: integer + credentialsSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + customS3Endpoint: + type: string + destination: + type: string + destinationDisableSuffixAdd: + type: boolean + disableDaily: + type: boolean + disableHourly: + type: boolean + disableMonthly: + type: boolean + disableWeekly: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + port: + type: string + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + restore: + properties: + onStart: + properties: + enabled: + type: boolean + type: object + type: object + snapshotCreateURL: + type: string + snapshotDeleteURL: + type: string + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + type: object + vmInsertPort: + type: string + vmSelectPort: + type: string + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmdistributed.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMDistributed + listKind: VMDistributedList + plural: vmdistributed + singular: vmdistributed + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + backendType: + enum: + - VMCluster + - VMSingle + type: string + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + paused: + type: boolean + retain: + type: boolean + vmauth: + properties: + enabled: + default: true + type: boolean + name: + type: string + spec: + properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object + arbitraryFSAccessThroughSMs: + properties: + deny: + type: boolean + type: object + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + configSecret: + type: string + containers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + defaultTargetRefs: + items: + properties: + crd: + properties: + kind: + enum: + - VMAgent + - VMAlert + - VMSingle + - VLogs + - VMAlertManager + - VMAlertmanager + - VMCluster/vmselect + - VMCluster/vmstorage + - VMCluster/vminsert + - VLSingle + - VLCluster/vlinsert + - VLCluster/vlselect + - VLCluster/vlstorage + - VLAgent + - VTCluster/vtinsert + - VTCluster/vtselect + - VTCluster/vtstorage + - VTSingle + - VMAnomaly + type: string + name: + type: string + namespace: + type: string + objects: + items: + properties: + name: + type: string + namespace: + type: string + useExtraService: + type: boolean + required: + - name + - namespace + type: object + type: array + useExtraService: + type: boolean + required: + - kind + - name + - namespace + type: object + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + hosts: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + name: + type: string + paths: + items: + type: string + type: array + query_args: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + static: + properties: + url: + type: string + urls: + items: + type: string + type: array + type: object + target_path_suffix: + type: string + targetRefBasicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - password + - username + type: object + type: object + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + externalConfig: + properties: + localPath: + type: string + secretRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + httpRoute: + properties: + annotations: + additionalProperties: + type: string + type: object + extraRules: + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + x-kubernetes-preserve-unknown-fields: true + hostnames: + items: + 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: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + parentRefs: + items: + properties: + group: + 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 + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + maxLength: 253 + minLength: 1 + type: string + namespace: + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + format: int32 + maximum: 65535 + minimum: 1 + type: integer + sectionName: + 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 + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + ingress: + properties: + annotations: + additionalProperties: + type: string + type: object + class_name: + type: string + extraRules: + items: + properties: + host: + type: string + http: + properties: + paths: + items: + properties: + backend: + properties: + resource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + service: + properties: + name: + type: string + port: + properties: + name: + type: string + number: + format: int32 + type: integer + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + type: object + path: + type: string + pathType: + type: string + required: + - backend + - pathType + type: object + type: array + x-kubernetes-list-type: atomic + required: + - paths + type: object + type: object + type: array + extraTls: + items: + properties: + hosts: + items: + type: string + type: array + x-kubernetes-list-type: atomic + secretName: + type: string + type: object + type: array + host: + type: string + labels: + additionalProperties: + type: string + type: object + name: + type: string + paths: + items: + type: string + type: array + tlsHosts: + items: + type: string + type: array + tlsSecretName: + type: string + type: object + initContainers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + internalListenPort: + type: string + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxChangePolicy: + type: string + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic + supplementalGroupsPolicy: + type: string + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeSpec: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + discoveryRole: + enum: + - endpoints + - service + - endpointslices + - endpointslice + type: string + endpoints: + items: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + port: + type: string + proxyURL: + type: string + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + type: object + type: array + jobLabel: + type: string + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + podTargetLabels: + items: + type: string + type: array + sampleLimit: + type: integer + scrapeClass: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + seriesLimit: + type: integer + targetLabels: + items: + type: string + type: array + required: + - endpoints + type: object + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + 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 + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + unauthorizedAccessConfig: + x-kubernetes-preserve-unknown-fields: true + unauthorizedUserAccessSpec: + properties: + access_log: + properties: + filters: + properties: + skip_status_codes: + items: + type: integer + type: array + type: object + type: object + default_url: + items: + type: string + type: array + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + dump_request_on_errors: + type: boolean + headers: + items: + type: string + type: array + ip_filters: + properties: + allow_list: + items: + type: string + type: array + deny_list: + items: + type: string + type: array + type: object + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + max_concurrent_requests: + type: integer + metric_labels: + additionalProperties: + type: string + type: object + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + targetRefs: + items: + properties: + crd: + properties: + kind: + enum: + - VMAgent + - VMAlert + - VMSingle + - VLogs + - VMAlertManager + - VMAlertmanager + - VMCluster/vmselect + - VMCluster/vmstorage + - VMCluster/vminsert + - VLSingle + - VLCluster/vlinsert + - VLCluster/vlselect + - VLCluster/vlstorage + - VLAgent + - VTCluster/vtinsert + - VTCluster/vtselect + - VTCluster/vtstorage + - VTSingle + - VMAnomaly + type: string + name: + type: string + namespace: + type: string + objects: + items: + properties: + name: + type: string + namespace: + type: string + useExtraService: + type: boolean + required: + - name + - namespace + type: object + type: array + useExtraService: + type: boolean + required: + - kind + - name + - namespace + type: object + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + hosts: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + name: + type: string + paths: + items: + type: string + type: array + query_args: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + static: + properties: + url: + type: string + urls: + items: + type: string + type: array + type: object + target_path_suffix: + type: string + targetRefBasicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - password + - username + type: object + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url_map: + items: + properties: + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_hosts: + items: + type: string + type: array + src_paths: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + url_prefix: + x-kubernetes-preserve-unknown-fields: true + type: object + type: array + url_prefix: + x-kubernetes-preserve-unknown-fields: true + type: object + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useProxyProtocol: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + userNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + userSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + default: ext4 + type: string + kind: + type: string + readOnly: + default: false + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + type: array + x-kubernetes-list-type: atomic + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + wwids: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + image: + properties: + pullPolicy: + type: string + reference: + type: string + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + default: default + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + x-kubernetes-list-type: atomic + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + 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: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + x-kubernetes-list-type: atomic + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + default: /etc/ceph/keyring + type: string + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + pool: + default: rbd + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + default: admin + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + default: xfs + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + sslEnabled: + type: boolean + storageMode: + default: ThinProvisioned + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type + is Factor and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type + is Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + zoneCommon: + properties: + readyTimeout: + type: string + remoteWrite: + x-kubernetes-preserve-unknown-fields: true + updatePause: + type: string + vmagent: + properties: + name: + type: string + spec: + properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + configMaps: + items: + type: string + type: array + containers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + remoteWriteSettings: + properties: + flushInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + label: + additionalProperties: + type: string + type: object + maxBlockSize: + format: int32 + type: integer + maxDiskUsagePerURL: + x-kubernetes-preserve-unknown-fields: true + queues: + format: int32 + type: integer + showURL: + type: boolean + tmpDataPath: + type: string + useMultiTenantMode: + type: boolean + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxChangePolicy: + type: string + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic + supplementalGroupsPolicy: + type: string + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + statefulMode: + type: boolean + statefulRollingUpdateStrategy: + type: string + statefulRollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + statefulStorage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + default: ext4 + type: string + kind: + type: string + readOnly: + default: false + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + type: array + x-kubernetes-list-type: atomic + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + wwids: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + image: + properties: + pullPolicy: + type: string + reference: + type: string + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + default: default + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + x-kubernetes-list-type: atomic + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + 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: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + x-kubernetes-list-type: atomic + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + default: /etc/ceph/keyring + type: string + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + pool: + default: rbd + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + default: admin + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + default: xfs + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + sslEnabled: + type: boolean + storageMode: + default: ThinProvisioned + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + vmcluster: + properties: + name: + type: string + spec: + x-kubernetes-preserve-unknown-fields: true + type: object + vmsingle: + properties: + name: + type: string + spec: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + zones: + items: + properties: + name: + type: string + remoteWrite: + x-kubernetes-preserve-unknown-fields: true + trafficMode: + enum: + - read-only + - write-only + - read-write + - maintenance + type: string + vmagent: + properties: + name: + type: string + spec: + properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + configMaps: + items: + type: string + type: array + containers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + remoteWriteSettings: + properties: + flushInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + label: + additionalProperties: + type: string + type: object + maxBlockSize: + format: int32 + type: integer + maxDiskUsagePerURL: + x-kubernetes-preserve-unknown-fields: true + queues: + format: int32 + type: integer + showURL: + type: boolean + tmpDataPath: + type: string + useMultiTenantMode: + type: boolean + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxChangePolicy: + type: string + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic + supplementalGroupsPolicy: + type: string + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + statefulMode: + type: boolean + statefulRollingUpdateStrategy: + type: string + statefulRollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + statefulStorage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + default: ext4 + type: string + kind: + type: string + readOnly: + default: false + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + type: array + x-kubernetes-list-type: atomic + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + wwids: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + image: + properties: + pullPolicy: + type: string + reference: + type: string + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + default: default + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + x-kubernetes-list-type: atomic + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + 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: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + x-kubernetes-list-type: atomic + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + default: /etc/ceph/keyring + type: string + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + pool: + default: rbd + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + default: admin + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + default: xfs + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + sslEnabled: + type: boolean + storageMode: + default: ThinProvisioned + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + vmcluster: + properties: + name: + type: string + spec: + x-kubernetes-preserve-unknown-fields: true + type: object + vmsingle: + properties: + name: + type: string + spec: + x-kubernetes-preserve-unknown-fields: true + type: object + required: + - name + type: object + type: array + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmnodescrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMNodeScrape + listKind: VMNodeScrapeList + plural: vmnodescrapes + singular: vmnodescrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + jobLabel: + type: string + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + port: + type: string + proxyURL: + type: string + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeClass: + type: string + scrapeTimeout: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + seriesLimit: + type: integer + targetLabels: + items: + type: string + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmpodscrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMPodScrape + listKind: VMPodScrapeList + plural: vmpodscrapes + singular: vmpodscrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + jobLabel: + type: string + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + podMetricsEndpoints: + items: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + filterRunning: + type: boolean + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + port: + type: string + portNumber: + format: int32 + maximum: 65535 + minimum: 1 + type: integer + proxyURL: + type: string + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + type: object + type: array + podTargetLabels: + items: + type: string + type: array + sampleLimit: + type: integer + scrapeClass: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + seriesLimit: + type: integer + required: + - podMetricsEndpoints + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmprobes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMProbe + listKind: VMProbeList + plural: vmprobes + singular: vmprobe + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + jobName: + type: string + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + module: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + proxyURL: + type: string + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeClass: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + targets: + properties: + ingress: + properties: + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + relabelingConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + role: + enum: + - service + - ingress + - pod + - node + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + type: object + kubernetes: + items: + properties: + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + relabelingConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + role: + enum: + - service + - ingress + - pod + - node + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + type: object + type: array + static: + properties: + labels: + additionalProperties: + type: string + type: object + relabelingConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + targets: + items: + type: string + type: array + required: + - targets + type: object + staticConfig: + properties: + labels: + additionalProperties: + type: string + type: object + relabelingConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + targets: + items: + type: string + type: array + required: + - targets + type: object + type: object + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + vmProberSpec: + properties: + path: + type: string + scheme: + enum: + - http + - https + type: string + url: + type: string + required: + - url + type: object + required: + - vmProberSpec + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmrules.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMRule + listKind: VMRuleList + plural: vmrules + singular: vmrule + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + groups: + items: + properties: + concurrency: + type: integer + eval_alignment: + type: boolean + eval_delay: + type: string + eval_offset: + type: string + headers: + items: + type: string + type: array + interval: + type: string + labels: + additionalProperties: + type: string + type: object + limit: + type: integer + name: + type: string + notifier_headers: + items: + type: string + type: array + params: + additionalProperties: + items: + type: string + type: array + type: object + rules: + items: + properties: + alert: + default: "" + type: string + annotations: + additionalProperties: + type: string + type: object + debug: + type: boolean + expr: + type: string + for: + type: string + keep_firing_for: + type: string + labels: + additionalProperties: + type: string + type: object + record: + default: "" + type: string + update_entries_limit: + type: integer + type: object + type: array + tenant: + type: string + type: + type: string + required: + - name + - rules + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + required: + - groups + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmscrapeconfigs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMScrapeConfig + listKind: VMScrapeConfigList + plural: vmscrapeconfigs + singular: vmscrapeconfig + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + azureSDConfigs: + items: + properties: + authenticationMethod: + enum: + - OAuth + - ManagedIdentity + type: string + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + clientID: + type: string + clientSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + environment: + type: string + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + resourceGroup: + type: string + subscriptionID: + minLength: 1 + type: string + tenantID: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - subscriptionID + type: object + type: array + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + consulAgentSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + datacenter: + type: string + filter: + type: string + followRedirects: + type: boolean + namespace: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + scheme: + enum: + - HTTP + - HTTPS + - http + - https + type: string + server: + type: string + services: + items: + type: string + type: array + x-kubernetes-list-type: atomic + tagSeparator: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + tokenRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + consulSDConfigs: + items: + properties: + allowStale: + type: boolean + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + datacenter: + type: string + filter: + type: string + followRedirects: + type: boolean + namespace: + type: string + nodeMeta: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + partition: + type: string + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + scheme: + enum: + - HTTP + - HTTPS + type: string + server: + minLength: 1 + type: string + services: + items: + type: string + type: array + x-kubernetes-list-type: atomic + tagSeparator: + type: string + tags: + items: + type: string + type: array + x-kubernetes-list-type: atomic + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + tokenRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - server + type: object + type: array + digitalOceanSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + server: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + type: array + dnsSDConfigs: + items: + properties: + names: + items: + type: string + minItems: 1 + type: array + port: + format: int32 + type: integer + type: + enum: + - SRV + - A + - AAAA + - MX + type: string + required: + - names + type: object + type: array + dockerSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + filters: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - name + - values + type: object + type: array + followRedirects: + type: boolean + host: + type: string + hostNetworkingHost: + type: string + matchFirstNetwork: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + type: array + dockerSwarmSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + filters: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - name + - values + type: object + type: array + followRedirects: + type: boolean + host: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + role: + enum: + - services + - tasks + - nodes + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - host + - role + type: object + type: array + ec2SDConfigs: + items: + properties: + accessKey: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + filters: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + port: + format: int32 + type: integer + region: + type: string + roleARN: + type: string + secretKey: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + eurekaSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + server: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + type: array + fileSDConfigs: + items: + properties: + files: + items: + type: string + minItems: 1 + type: array + required: + - files + type: object + type: array + follow_redirects: + type: boolean + gceSDConfigs: + items: + properties: + filter: + type: string + port: + format: int32 + type: integer + project: + minLength: 1 + type: string + tagSeparator: + type: string + zone: + x-kubernetes-preserve-unknown-fields: true + required: + - project + - zone + type: object + type: array + hetznerSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + role: + enum: + - robot + - Robot + - hcloud + - Cloud + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - role + type: object + type: array + honorLabels: + type: boolean + honorTimestamps: + type: boolean + httpSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url: + minLength: 1 + pattern: ^http(s)?://.+$ + type: string + required: + - url + type: object + type: array + interval: + type: string + kubernetesSDConfigs: + items: + properties: + apiServer: + type: string + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + namespaces: + properties: + names: + items: + type: string + type: array + ownNamespace: + type: boolean + type: object + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + role: + enum: + - node + - pod + - service + - endpoints + - endpointslice + - ingress + type: string + selectors: + items: + properties: + field: + type: string + label: + type: string + role: + enum: + - node + - pod + - service + - endpoints + - endpointslice + - ingress + type: string + required: + - role + type: object + type: array + x-kubernetes-list-map-keys: + - role + x-kubernetes-list-type: map + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - role + type: object + type: array + kumaSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + clientID: + type: string + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + server: + minLength: 1 + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - server + type: object + type: array + marathonSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + servers: + items: + type: string + minItems: 1 + type: array + x-kubernetes-list-type: atomic + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - servers + type: object + type: array + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + nomadSDConfigs: + items: + properties: + allowStale: + type: boolean + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + namespace: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + region: + type: string + server: + minLength: 1 + type: string + tagSeparator: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - server + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + openstackSDConfigs: + items: + properties: + allTenants: + type: boolean + applicationCredentialId: + type: string + applicationCredentialName: + type: string + applicationCredentialSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + availability: + enum: + - Public + - public + - Admin + - admin + - Internal + - internal + type: string + domainID: + type: string + domainName: + type: string + identityEndpoint: + type: string + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + port: + format: int32 + type: integer + projectID: + type: string + projectName: + type: string + region: + minLength: 1 + type: string + role: + enum: + - Instance + - instance + - Hypervisor + - hypervisor + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + userid: + type: string + username: + type: string + required: + - region + - role + type: object + type: array + ovhcloudSDConfigs: + items: + properties: + applicationKey: + minLength: 1 + type: string + applicationSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + consumerKey: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + endpoint: + type: string + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + service: + enum: + - vps + - VPS + - dedicated_server + - DedicatedServer + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - applicationKey + - applicationSecret + - consumerKey + - service + type: object + type: array + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + proxyURL: + type: string + puppetDBSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + includeParameters: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + query: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url: + type: string + required: + - query + - url + type: object + type: array + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeClass: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + staticConfigs: + items: + properties: + labels: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + targets: + items: + type: string + type: array + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + vultrSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + firewallGroupID: + type: string + followRedirects: + type: boolean + hostname: + type: string + label: + type: string + mainIP: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + region: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + type: array + yandexCloudSDConfigs: + items: + properties: + apiEndpoint: + type: string + folderIDs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + service: + enum: + - compute + - ydb + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + yandexPassportOAuthToken: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - service + type: object + type: array + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmservicescrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMServiceScrape + listKind: VMServiceScrapeList + plural: vmservicescrapes + singular: vmservicescrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + discoveryRole: + enum: + - endpoints + - service + - endpointslices + - endpointslice + type: string + endpoints: + items: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + port: + type: string + proxyURL: + type: string + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + type: object + type: array + jobLabel: + type: string + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + podTargetLabels: + items: + type: string + type: array + sampleLimit: + type: integer + scrapeClass: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + seriesLimit: + type: integer + targetLabels: + items: + type: string + type: array + required: + - endpoints + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmsingles.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMSingle + listKind: VMSingleList + plural: vmsingles + singular: vmsingle + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of single node update process + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + additionalScrapeConfigs: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + apiServerConfig: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerToken: + type: string + bearerTokenFile: + type: string + host: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - host + type: object + arbitraryFSAccessThroughSMs: + properties: + deny: + type: boolean + type: object + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + downsampling: + properties: + dedupInterval: + type: string + rules: + items: + properties: + filter: + type: string + periods: + items: + properties: + interval: + type: string + offset: + type: string + required: + - interval + - offset + type: object + type: array + required: + - periods + type: object + type: array + type: object + enableKubernetesAPISelectors: + type: boolean + enableServiceLinks: + type: boolean + enforcedNamespaceLabel: + type: string + externalLabelName: + type: string + externalLabels: + additionalProperties: + type: string + type: object + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + globalScrapeMetricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + globalScrapeRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + ignoreNamespaceSelectors: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + ingestOnlyMode: + type: boolean + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + inlineRelabelConfig: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + inlineScrapeConfig: + type: string + insertPorts: + properties: + graphitePort: + type: string + influxPort: + type: string + openTSDBHTTPPort: + type: string + openTSDBPort: + type: string + type: object + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + maxScrapeInterval: + type: string + minReadySeconds: + format: int32 + type: integer + minScrapeInterval: + type: string + nodeScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + nodeScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + nodeScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + nodeSelector: + additionalProperties: + type: string + type: object + overrideHonorLabels: + type: boolean + overrideHonorTimestamps: + type: boolean + paused: + type: boolean + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + podScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + podScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + podScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + probeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + probeScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + probeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + relabelConfig: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + removePvcAfterDelete: + type: boolean + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionFilters: + items: + properties: + filter: + type: string + retention: + type: string + required: + - filter + - retention + type: object + type: array + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + runtimeClassName: + type: string + sampleLimit: + type: integer + schedulerName: + type: string + scrapeClasses: + items: + properties: + attachMetadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + default: + type: boolean + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + name: + minLength: 1 + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + scrapeConfigNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + scrapeConfigRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + scrapeConfigSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + scrapeInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + scrapeTimeout: + pattern: '[0-9]+(ms|s|m|h)' + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + serviceScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + serviceScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + staticScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + staticScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + staticScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storage: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + storageDataPath: + type: string + storageMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + streamAggrConfig: + properties: + configmap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + dedupInterval: + type: string + dropInput: + type: boolean + dropInputLabels: + items: + type: string + type: array + enableWindows: + type: boolean + ignoreFirstIntervals: + type: integer + ignoreFirstSampleInterval: + type: string + ignoreOldSamples: + type: boolean + keepInput: + type: boolean + rules: + items: + properties: + by: + items: + type: string + type: array + dedup_interval: + type: string + drop_input_labels: + items: + type: string + type: array + enable_windows: + type: boolean + flush_on_shutdown: + type: boolean + ignore_first_intervals: + type: integer + ignore_old_samples: + type: boolean + ignoreFirstSampleInterval: + type: string + input_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + interval: + type: string + keep_metric_names: + type: boolean + match: + x-kubernetes-preserve-unknown-fields: true + no_align_flush_to_interval: + type: boolean + output_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + outputs: + items: + type: string + type: array + staleness_interval: + type: string + without: + items: + type: string + type: array + required: + - interval + - outputs + type: object + type: array + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + vmAgentExternalLabelName: + type: string + vmBackup: + properties: + acceptEULA: + type: boolean + concurrency: + format: int32 + type: integer + credentialsSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + customS3Endpoint: + type: string + destination: + type: string + destinationDisableSuffixAdd: + type: boolean + disableDaily: + type: boolean + disableHourly: + type: boolean + disableMonthly: + type: boolean + disableWeekly: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + port: + type: string + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + restore: + properties: + onStart: + properties: + enabled: + type: boolean + type: object + type: object + snapshotCreateURL: + type: string + snapshotDeleteURL: + type: string + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + type: object + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmstaticscrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMStaticScrape + listKind: VMStaticScrapeList + plural: vmstaticscrapes + singular: vmstaticscrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + jobName: + type: string + sampleLimit: + type: integer + scrapeClass: + type: string + seriesLimit: + type: integer + targetEndpoints: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + labels: + additionalProperties: + type: string + type: object + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + proxyURL: + type: string + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + targets: + items: + type: string + minItems: 1 + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + required: + - targets + type: object + type: array + required: + - targetEndpoints + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmusers.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMUser + listKind: VMUserList + plural: vmusers + singular: vmuser + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + access_log: + properties: + filters: + properties: + skip_status_codes: + items: + type: integer + type: array + type: object + type: object + bearerToken: + type: string + default_url: + items: + type: string + type: array + disable_secret_creation: + type: boolean + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + dump_request_on_errors: + type: boolean + generatePassword: + type: boolean + headers: + items: + type: string + type: array + ip_filters: + properties: + allow_list: + items: + type: string + type: array + deny_list: + items: + type: string + type: array + type: object + jwt: + properties: + matchClaims: + additionalProperties: + type: string + type: object + oidc: + properties: + issuer: + type: string + required: + - issuer + type: object + publicKeyRefs: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + publicKeys: + items: + type: string + type: array + skipVerify: + type: boolean + type: object + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + max_concurrent_requests: + type: integer + metric_labels: + additionalProperties: + type: string + type: object + name: + type: string + password: + type: string + passwordRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + targetRefs: + items: + properties: + crd: + properties: + kind: + enum: + - VMAgent + - VMAlert + - VMSingle + - VLogs + - VMAlertManager + - VMAlertmanager + - VMCluster/vmselect + - VMCluster/vmstorage + - VMCluster/vminsert + - VLSingle + - VLCluster/vlinsert + - VLCluster/vlselect + - VLCluster/vlstorage + - VLAgent + - VTCluster/vtinsert + - VTCluster/vtselect + - VTCluster/vtstorage + - VTSingle + - VMAnomaly + type: string + name: + type: string + namespace: + type: string + objects: + items: + properties: + name: + type: string + namespace: + type: string + useExtraService: + type: boolean + required: + - name + - namespace + type: object + type: array + useExtraService: + type: boolean + required: + - kind + - name + - namespace + type: object + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + hosts: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + name: + type: string + paths: + items: + type: string + type: array + query_args: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + static: + properties: + url: + type: string + urls: + items: + type: string + type: array + type: object + target_path_suffix: + type: string + targetRefBasicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - password + - username + type: object + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + tokenRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + useLegacyNaming: + type: boolean + username: + type: string + required: + - targetRefs + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vtclusters.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VTCluster + listKind: VTClusterList + plural: vtclusters + singular: vtcluster + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: replicas of VTInsert + jsonPath: .spec.insert.replicaCount + name: Insert Count + type: string + - description: replicas of VTStorage + jsonPath: .spec.storage.replicaCount + name: Storage Count + type: string + - description: replicas of VTSelect + jsonPath: .spec.select.replicaCount + name: Select Count + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current status of cluster + jsonPath: .status.updateStatus + name: Status + type: string + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + clusterDomainName: + type: string + clusterVersion: + type: string + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + insert: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + paused: + type: boolean + requestsLoadBalancer: + properties: + disableInsertBalancing: + type: boolean + disableSelectBalancing: + type: boolean + enabled: + type: boolean + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + select: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + extraStorageNodes: + items: + properties: + addr: + type: string + required: + - addr + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + serviceAccountName: + type: string + storage: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + claimTemplates: + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + futureRetention: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logIngestedRows: + type: boolean + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + logNewStreams: + type: boolean + maintenanceInsertNodeIDs: + items: + format: int32 + type: integer + type: array + maintenanceSelectNodeIDs: + items: + format: int32 + type: integer + type: array + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionMaxDiskSpaceUsageBytes: + type: string + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + rollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + storageDataPath: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vtsingles.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VTSingle + listKind: VTSingleList + plural: vtsingles + singular: vtsingle + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of traces instance update process + jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + futureRetention: + pattern: ^[0-9]+(h|d|y)?$ + type: string + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logIngestedRows: + type: boolean + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + logNewStreams: + type: boolean + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionMaxDiskSpaceUsageBytes: + type: string + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + storageDataPath: + type: string + storageMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/templates/crd.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/templates/crd.yaml new file mode 100644 index 00000000..cfdc4ffb --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/templates/crd.yaml @@ -0,0 +1,11 @@ +{{- $files := .Files }} +{{- $crds := $files.Get "crd.yaml" | splitList "---" }} +{{- $extra := dict "metadata" (dict "annotations" .Values.annotations "labels" .Values.labels) -}} +{{- range $crds }} + {{- $crd := merge (fromYaml .) $extra }} + {{- range $attrKey, $attrValue := $crd }} + {{- $attrKey }}: {{ toJson $attrValue }} + {{- printf "\n" -}} + {{ end }} + {{- print "\n---\n" }} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/values.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/values.yaml new file mode 100644 index 00000000..9d2455b3 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/values.yaml @@ -0,0 +1 @@ +annotations: {} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/values.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/values.yaml new file mode 100644 index 00000000..76705fa4 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/values.yaml @@ -0,0 +1,3 @@ +# -- VM operator CRD annotations +crds: + annotations: {} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/.helmignore b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/.helmignore new file mode 100644 index 00000000..a181e3c7 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/.helmignore @@ -0,0 +1,29 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +*.md.gotmpl +CHANGELOG.md +_changelog.md +_index.md +e2e/ +lint/ +tests/ diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.lock b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.lock new file mode 100644 index 00000000..65ae06fc --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: victoria-metrics-common + repository: oci://ghcr.io/victoriametrics/helm-charts + version: 0.3.15 +- name: crds + repository: "" + version: 0.0.* +digest: sha256:c311f27ec4bd554cdfb7914593c9d507bae7b59661394ba8a637a8a1ffe68a51 +generated: "2026-07-02T11:42:32.861937155Z" diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.yaml new file mode 100644 index 00000000..cc7a1683 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.yaml @@ -0,0 +1,52 @@ +annotations: + artifacthub.io/category: monitoring-logging + artifacthub.io/changes: | + - updates operator to [v0.73.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.73.1) version + artifacthub.io/license: Apache-2.0 + artifacthub.io/links: | + - name: Sources + url: https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator + - name: Charts repo + url: https://victoriametrics.github.io/helm-charts/ + - name: Docs + url: https://docs.victoriametrics.com/operator/ + - name: Changelog + url: https://docs.victoriametrics.com/helm/victoria-metrics-operator/changelog/ + - name: App Changelog + url: https://docs.victoriametrics.com/operator/changelog/ + artifacthub.io/operator: "true" + artifacthub.io/readme: | + # VictoriaMetrics Operator Helm chart + + Chart documentation is available [here](https://docs.victoriametrics.com/helm/victoria-metrics-operator/). + Changelog is [here](https://docs.victoriametrics.com/helm/victoria-metrics-operator/changelog/). +apiVersion: v2 +appVersion: v0.73.1 +dependencies: +- name: victoria-metrics-common + repository: oci://ghcr.io/victoriametrics/helm-charts + version: 0.3.* +- condition: crds.plain + name: crds + repository: "" + version: 0.0.* +description: VictoriaMetrics Operator +home: https://github.com/VictoriaMetrics/operator +icon: https://avatars.githubusercontent.com/u/43720803?s=200&v=4 +keywords: +- victoriametrics +- operator +- monitoring +- kubernetes +- observability +- tsdb +- metrics +- metricsql +- timeseries +kubeVersion: '>=1.25.0-0' +name: victoria-metrics-operator +sources: +- https://github.com/VictoriaMetrics/helm-charts +- https://github.com/VictoriaMetrics/operator +type: application +version: 0.66.2 diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/README.md b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/README.md new file mode 100644 index 00000000..6a080424 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/README.md @@ -0,0 +1,4 @@ +# VictoriaMetrics Operator Helm chart + +Chart documentation is available [here](https://docs.victoriametrics.com/helm/victoria-metrics-operator/). +Changelog is [here](https://docs.victoriametrics.com/helm/victoria-metrics-operator/changelog/). diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/RELEASE_NOTES b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/RELEASE_NOTES new file mode 100644 index 00000000..a3f04eed --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/RELEASE_NOTES @@ -0,0 +1,7 @@ +# Release notes for version 0.66.2 + +**Release date:** 08 Jul 2026 + +![Helm: v3](https://img.shields.io/badge/Helm-v3.14%2B-informational?color=informational&logo=helm&link=https%3A%2F%2Fgithub.com%2Fhelm%2Fhelm%2Freleases%2Ftag%2Fv3.14.0) ![AppVersion: v0.73.1](https://img.shields.io/badge/v0.73.1-success?logo=VictoriaMetrics&labelColor=gray&link=https%3A%2F%2Fdocs.victoriametrics.com%2Foperator%2Fchangelog%2F%23v0731) + +- updates operator to [v0.73.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.73.1) version diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/Chart.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/Chart.yaml new file mode 100644 index 00000000..ecd8e7b0 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +appVersion: 0.0.0 +description: A subchart stores victoriametrics operator CRDs. +name: crds +type: application +version: 0.0.0 diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/README.md b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/README.md new file mode 100644 index 00000000..e2bc8e0b --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/README.md @@ -0,0 +1,9 @@ +--- +build: + list: never + publishResources: false + render: never +sitemap: + disable: true +--- +# Subchart for VictoriaMetrics Operator CRDs diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/crds/crd.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/crds/crd.yaml new file mode 100644 index 00000000..6cccf4fe --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/crds/crd.yaml @@ -0,0 +1,49344 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlagents.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLAgent + listKind: VLAgentList + plural: vlagents + singular: vlagent + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current number of replicas + jsonPath: .status.replicas + name: Replica Count + type: integer + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + x-kubernetes-preserve-unknown-fields: true + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + k8sCollector: + properties: + checkpointsPath: + type: string + decolorizeFields: + items: + type: string + type: array + enabled: + type: boolean + excludeFilter: + type: string + extraFields: + type: string + ignoreFields: + items: + type: string + type: array + includeNodeAnnotations: + type: boolean + includeNodeLabels: + type: boolean + includePodAnnotations: + type: boolean + includePodLabels: + type: boolean + logsPath: + type: string + msgFields: + items: + type: string + type: array + streamFields: + items: + type: string + type: array + tenantID: + type: string + timeFields: + items: + type: string + type: array + type: object + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + remoteWrite: + items: + properties: + bearerTokenPath: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + headers: + items: + type: string + type: array + maxDiskUsage: + x-kubernetes-preserve-unknown-fields: true + oauth2: + properties: + clientIDFile: + type: string + clientIDSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + clientSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + clientSecretFile: + type: string + endpointParams: + additionalProperties: + type: string + type: object + scopes: + items: + type: string + type: array + tokenURL: + minLength: 1 + type: string + required: + - tokenURL + type: object + proxyURL: + type: string + sendTimeout: + pattern: '[0-9]+(ms|s|m|h)' + type: string + tlsConfig: + properties: + caFile: + type: string + caSecretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + certFile: + type: string + certSecretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url: + type: string + required: + - url + type: object + type: array + remoteWriteSettings: + properties: + flushInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + maxBlockSize: + x-kubernetes-preserve-unknown-fields: true + maxDiskUsagePerURL: + x-kubernetes-preserve-unknown-fields: true + queues: + format: int32 + type: integer + showURL: + type: boolean + tmpDataPath: + type: string + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + syslogSpec: + properties: + tcpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + tlsConfig: + properties: + certFile: + type: string + certSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - listenPort + type: object + type: array + udpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + required: + - listenPort + type: object + type: array + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tmpDataPath: + type: string + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + required: + - remoteWrite + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + replicas: + format: int32 + type: integer + selector: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.shardCount + statusReplicasPath: .status.shards + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlclusters.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLCluster + listKind: VLClusterList + plural: vlclusters + singular: vlcluster + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: replicas of VLInsert + jsonPath: .spec.vlinsert.replicaCount + name: Insert Count + type: string + - description: replicas of VLStorage + jsonPath: .spec.vlstorage.replicaCount + name: Storage Count + type: string + - description: replicas of VLSelect + jsonPath: .spec.vlselect.replicaCount + name: Select Count + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current status of cluster + jsonPath: .status.updateStatus + name: Status + type: string + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + clusterDomainName: + type: string + clusterVersion: + type: string + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + paused: + type: boolean + requestsLoadBalancer: + properties: + disableInsertBalancing: + type: boolean + disableSelectBalancing: + type: boolean + enabled: + type: boolean + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + serviceAccountName: + type: string + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + vlinsert: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + syslogSpec: + properties: + tcpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + tlsConfig: + properties: + certFile: + type: string + certSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - listenPort + type: object + type: array + udpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + required: + - listenPort + type: object + type: array + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + vlselect: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + extraStorageNodes: + items: + properties: + addr: + type: string + required: + - addr + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + vlstorage: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + claimTemplates: + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + futureRetention: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logIngestedRows: + type: boolean + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + logNewStreams: + type: boolean + maintenanceInsertNodeIDs: + items: + format: int32 + type: integer + type: array + maintenanceSelectNodeIDs: + items: + format: int32 + type: integer + type: array + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionMaxDiskSpaceUsageBytes: + type: string + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + rollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + storageDataPath: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlogs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLogs + listKind: VLogsList + plural: vlogs + singular: vlogs + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of logs instance update process + jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - retentionPeriod + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlsingles.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLSingle + listKind: VLSingleList + plural: vlsingles + singular: vlsingle + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of logs instance update process + jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + futureRetention: + pattern: ^[0-9]+(h|d|y)?$ + type: string + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logIngestedRows: + type: boolean + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + logNewStreams: + type: boolean + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionMaxDiskSpaceUsageBytes: + type: string + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + storageDataPath: + type: string + storageMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + syslogSpec: + properties: + tcpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + tlsConfig: + properties: + certFile: + type: string + certSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - listenPort + type: object + type: array + udpListeners: + items: + properties: + compressMethod: + pattern: ^(none|zstd|gzip|deflate)$ + type: string + decolorizeFields: + type: string + ignoreFields: + type: string + listenPort: + format: int32 + type: integer + streamFields: + type: string + tenantID: + type: string + required: + - listenPort + type: object + type: array + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmagents.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAgent + listKind: VMAgentList + plural: vmagents + singular: vmagent + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current number of shards + jsonPath: .status.shards + name: Shards Count + type: integer + - description: current number of replicas + jsonPath: .status.replicas + name: Replica Count + type: integer + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + additionalScrapeConfigs: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + apiServerConfig: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerToken: + type: string + bearerTokenFile: + type: string + host: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - host + type: object + arbitraryFSAccessThroughSMs: + properties: + deny: + type: boolean + type: object + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + x-kubernetes-preserve-unknown-fields: true + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + daemonSetMode: + type: boolean + daemonSetRollingUpdateStrategyBehavior: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + daemonSetUpdateStrategy: + type: string + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableKubernetesAPISelectors: + type: boolean + enableServiceLinks: + type: boolean + enforcedNamespaceLabel: + type: string + externalLabelName: + type: string + externalLabels: + additionalProperties: + type: string + type: object + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + globalScrapeMetricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + globalScrapeRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + ignoreNamespaceSelectors: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + ingestOnlyMode: + type: boolean + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + inlineRelabelConfig: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + inlineScrapeConfig: + type: string + insertPorts: + properties: + graphitePort: + type: string + influxPort: + type: string + openTSDBHTTPPort: + type: string + openTSDBPort: + type: string + type: object + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + maxScrapeInterval: + type: string + minReadySeconds: + format: int32 + type: integer + minScrapeInterval: + type: string + nodeScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + nodeScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + nodeScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + nodeSelector: + additionalProperties: + type: string + type: object + overrideHonorLabels: + type: boolean + overrideHonorTimestamps: + type: boolean + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + podScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + podScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + podScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + probeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + probeScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + probeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + relabelConfig: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + remoteWrite: + items: + properties: + aws: + properties: + ec2Endpoint: + type: string + region: + type: string + roleARN: + type: string + service: + type: string + stsEndpoint: + type: string + useSigv4: + type: boolean + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + forceVMProto: + type: boolean + headers: + items: + type: string + type: array + inlineUrlRelabelConfig: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + maxDiskUsage: + x-kubernetes-preserve-unknown-fields: true + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyURL: + type: string + queues: + format: int32 + type: integer + sendTimeout: + pattern: '[0-9]+(ms|s|m|h)' + type: string + streamAggrConfig: + properties: + configmap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + dedupInterval: + type: string + dropInput: + type: boolean + dropInputLabels: + items: + type: string + type: array + enableWindows: + type: boolean + ignoreFirstIntervals: + type: integer + ignoreFirstSampleInterval: + type: string + ignoreOldSamples: + type: boolean + keepInput: + type: boolean + rules: + items: + properties: + by: + items: + type: string + type: array + dedup_interval: + type: string + drop_input_labels: + items: + type: string + type: array + enable_windows: + type: boolean + flush_on_shutdown: + type: boolean + ignore_first_intervals: + type: integer + ignore_old_samples: + type: boolean + ignoreFirstSampleInterval: + type: string + input_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + interval: + type: string + keep_metric_names: + type: boolean + match: + x-kubernetes-preserve-unknown-fields: true + no_align_flush_to_interval: + type: boolean + output_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + outputs: + items: + type: string + type: array + staleness_interval: + type: string + without: + items: + type: string + type: array + required: + - interval + - outputs + type: object + type: array + type: object + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url: + type: string + urlRelabelConfig: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - url + type: object + type: array + remoteWriteSettings: + properties: + flushInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + label: + additionalProperties: + type: string + type: object + maxBlockSize: + format: int32 + type: integer + maxDiskUsagePerURL: + x-kubernetes-preserve-unknown-fields: true + queues: + format: int32 + type: integer + showURL: + type: boolean + tmpDataPath: + type: string + useMultiTenantMode: + type: boolean + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + sampleLimit: + type: integer + schedulerName: + type: string + scrapeClasses: + items: + properties: + attachMetadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + default: + type: boolean + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + name: + minLength: 1 + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + scrapeConfigNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + scrapeConfigRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + scrapeConfigSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + scrapeInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + scrapeTimeout: + pattern: '[0-9]+(ms|s|m|h)' + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + serviceScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + serviceScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + shardCount: + format: int32 + type: integer + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + statefulMode: + type: boolean + statefulRollingUpdateStrategy: + type: string + statefulRollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + statefulStorage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + staticScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + staticScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + staticScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + streamAggrConfig: + properties: + configmap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + dedupInterval: + type: string + dropInput: + type: boolean + dropInputLabels: + items: + type: string + type: array + enableWindows: + type: boolean + ignoreFirstIntervals: + type: integer + ignoreFirstSampleInterval: + type: string + ignoreOldSamples: + type: boolean + keepInput: + type: boolean + rules: + items: + properties: + by: + items: + type: string + type: array + dedup_interval: + type: string + drop_input_labels: + items: + type: string + type: array + enable_windows: + type: boolean + flush_on_shutdown: + type: boolean + ignore_first_intervals: + type: integer + ignore_old_samples: + type: boolean + ignoreFirstSampleInterval: + type: string + input_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + interval: + type: string + keep_metric_names: + type: boolean + match: + x-kubernetes-preserve-unknown-fields: true + no_align_flush_to_interval: + type: boolean + output_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + outputs: + items: + type: string + type: array + staleness_interval: + type: string + without: + items: + type: string + type: array + required: + - interval + - outputs + type: object + type: array + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + vmAgentExternalLabelName: + type: string + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + required: + - remoteWrite + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + replicas: + format: int32 + type: integer + selector: + type: string + shards: + format: int32 + type: integer + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.shardCount + statusReplicasPath: .status.shards + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmalertmanagerconfigs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAlertmanagerConfig + listKind: VMAlertmanagerConfigList + plural: vmalertmanagerconfigs + singular: vmalertmanagerconfig + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + inhibit_rules: + items: + properties: + equal: + items: + type: string + type: array + source_matchers: + items: + type: string + type: array + target_matchers: + items: + type: string + type: array + type: object + type: array + receivers: + items: + properties: + discord_configs: + items: + properties: + avatar_url: + type: string + content: + maxLength: 2000 + type: string + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + message: + type: string + send_resolved: + type: boolean + title: + type: string + username: + type: string + webhook_url: + type: string + webhook_url_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + email_configs: + items: + properties: + auth_identity: + type: string + auth_password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + auth_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + auth_username: + type: string + from: + type: string + headers: + additionalProperties: + type: string + type: object + hello: + type: string + html: + type: string + require_tls: + type: boolean + send_resolved: + type: boolean + smarthost: + type: string + text: + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + to: + type: string + type: object + type: array + incidentio_configs: + items: + properties: + alert_source_token: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + alert_source_token_file: + type: string + http_config: + x-kubernetes-preserve-unknown-fields: true + max_alerts: + type: integer + send_resolved: + type: boolean + timeout: + type: string + url: + type: string + url_file: + type: string + type: object + type: array + jira_configs: + items: + properties: + api_url: + type: string + custom_fields: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + description: + type: string + http_config: + x-kubernetes-preserve-unknown-fields: true + issue_type: + type: string + labels: + items: + type: string + type: array + priority: + type: string + project: + type: string + reopen_duration: + 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 + reopen_transition: + type: string + resolve_transition: + type: string + send_resolved: + type: boolean + summary: + type: string + wont_fix_resolution: + type: string + required: + - issue_type + - project + type: object + type: array + mattermost_configs: + items: + properties: + attachments: + items: + properties: + author_icon: + type: string + author_link: + type: string + author_name: + type: string + color: + type: string + fallback: + type: string + fields: + items: + properties: + short: + type: boolean + title: + type: string + value: + type: string + type: object + type: array + footer: + type: string + footer_icon: + type: string + image_url: + type: string + pretext: + type: string + text: + type: string + thumb_url: + type: string + title: + type: string + title_link: + type: string + type: object + type: array + channel: + type: string + http_config: + x-kubernetes-preserve-unknown-fields: true + icon_emoji: + type: string + icon_url: + type: string + priority: + properties: + persistent_notifications: + type: boolean + priority: + type: string + requested_ack: + type: boolean + type: object + props: + properties: + card: + type: string + type: object + send_resolved: + type: boolean + text: + type: string + url: + type: string + url_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + type: string + required: + - text + type: object + type: array + msteams_configs: + items: + properties: + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + send_resolved: + type: boolean + text: + type: string + title: + type: string + webhook_url: + type: string + webhook_url_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + msteamsv2_configs: + items: + properties: + http_config: + x-kubernetes-preserve-unknown-fields: true + send_resolved: + type: boolean + text: + type: string + title: + type: string + webhook_url: + type: string + webhook_url_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + name: + minLength: 1 + type: string + opsgenie_configs: + items: + properties: + actions: + type: string + api_key: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + apiURL: + type: string + description: + type: string + details: + additionalProperties: + type: string + type: object + entity: + type: string + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + message: + type: string + note: + type: string + priority: + type: string + responders: + items: + properties: + id: + type: string + name: + type: string + type: + minLength: 1 + type: string + username: + type: string + required: + - type + type: object + type: array + send_resolved: + type: boolean + source: + type: string + tags: + type: string + update_alerts: + type: boolean + type: object + type: array + pagerduty_configs: + items: + properties: + class: + type: string + client: + type: string + client_url: + type: string + component: + type: string + description: + type: string + details: + additionalProperties: + type: string + type: object + group: + type: string + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + images: + items: + properties: + alt: + type: string + href: + type: string + source: + type: string + required: + - source + type: object + type: array + links: + items: + properties: + href: + type: string + text: + type: string + required: + - href + type: object + type: array + routing_key: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + send_resolved: + type: boolean + service_key: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + severity: + type: string + url: + type: string + type: object + type: array + pushover_configs: + items: + properties: + expire: + type: string + html: + type: boolean + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + message: + type: string + priority: + type: string + retry: + type: string + send_resolved: + type: boolean + sound: + type: string + title: + type: string + token: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + url: + type: string + url_title: + type: string + user_key: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + rocketchat_configs: + items: + properties: + actions: + items: + properties: + msg: + type: string + text: + type: string + type: + type: string + url: + type: string + type: object + type: array + api_url: + type: string + channel: + type: string + color: + type: string + emoji: + type: string + fields: + items: + properties: + short: + type: boolean + title: + type: string + value: + type: string + type: object + type: array + http_config: + x-kubernetes-preserve-unknown-fields: true + icon_url: + type: string + image_url: + type: string + link_names: + type: boolean + send_resolved: + type: boolean + short_fields: + type: boolean + text: + type: string + thumb_url: + type: string + title: + type: string + title_link: + type: string + token: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + token_id: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + slack_configs: + items: + properties: + actions: + items: + properties: + confirm: + properties: + dismiss_text: + type: string + ok_text: + type: string + text: + minLength: 1 + type: string + title: + type: string + required: + - text + type: object + name: + type: string + style: + type: string + text: + minLength: 1 + type: string + type: + minLength: 1 + type: string + url: + type: string + value: + type: string + required: + - text + - type + type: object + type: array + api_url: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + callback_id: + type: string + channel: + type: string + color: + type: string + fallback: + type: string + fields: + items: + properties: + short: + type: boolean + title: + minLength: 1 + type: string + value: + minLength: 1 + type: string + required: + - title + - value + type: object + type: array + footer: + type: string + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + icon_emoji: + type: string + icon_url: + type: string + image_url: + type: string + link_names: + type: boolean + mrkdwn_in: + items: + type: string + type: array + pretext: + type: string + send_resolved: + type: boolean + short_fields: + type: boolean + text: + type: string + thumb_url: + type: string + title: + type: string + title_link: + type: string + update_message: + type: boolean + username: + type: string + type: object + type: array + sns_configs: + items: + properties: + api_url: + type: string + attributes: + additionalProperties: + type: string + type: object + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + message: + type: string + phone_number: + type: string + send_resolved: + type: boolean + sigv4: + properties: + access_key: + type: string + access_key_selector: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + profile: + type: string + region: + type: string + role_arn: + type: string + secret_key_selector: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + subject: + type: string + target_arn: + type: string + topic_arn: + type: string + type: object + type: array + telegram_configs: + items: + properties: + api_url: + type: string + bot_token: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + chat_id: + type: integer + disable_notifications: + type: boolean + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + message: + type: string + message_thread_id: + type: integer + parse_mode: + type: string + send_resolved: + type: boolean + required: + - bot_token + - chat_id + type: object + type: array + victorops_configs: + items: + properties: + api_key: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + api_url: + type: string + custom_fields: + additionalProperties: + type: string + type: object + entity_display_name: + type: string + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + message_type: + type: string + monitoring_tool: + type: string + routing_key: + type: string + send_resolved: + type: boolean + state_message: + type: string + required: + - routing_key + type: object + type: array + webex_configs: + items: + properties: + api_url: + type: string + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + message: + type: string + room_id: + type: string + send_resolved: + type: boolean + required: + - room_id + type: object + type: array + webhook_configs: + items: + properties: + http_config: + type: object + x-kubernetes-preserve-unknown-fields: true + max_alerts: + format: int32 + minimum: 0 + type: integer + send_resolved: + type: boolean + timeout: + 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: + type: string + url_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + wechat_configs: + items: + properties: + agent_id: + type: string + api_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + api_url: + type: string + corp_id: + type: string + http_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + type: string + bearer_token_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + noProxy: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxyConnectHeader: + additionalProperties: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + type: object + proxyFromEnvironment: + type: boolean + proxyURL: + pattern: ^(http|https|socks5)://.+$ + type: string + tls_config: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + message: + type: string + message_type: + type: string + send_resolved: + type: boolean + to_party: + type: string + to_tag: + type: string + to_user: + type: string + type: object + type: array + required: + - name + type: object + type: array + route: + properties: + active_time_intervals: + items: + type: string + type: array + continue: + type: boolean + group_by: + items: + type: string + type: array + group_interval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + group_wait: + pattern: '[0-9]+(ms|s|m|h)' + type: string + matchers: + items: + type: string + type: array + mute_time_intervals: + items: + type: string + type: array + receiver: + type: string + repeat_interval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + routes: + items: + x-kubernetes-preserve-unknown-fields: true + type: array + required: + - receiver + type: object + time_intervals: + items: + properties: + name: + type: string + time_intervals: + items: + properties: + days_of_month: + items: + type: string + type: array + location: + type: string + months: + items: + type: string + type: array + times: + items: + properties: + end_time: + type: string + start_time: + type: string + required: + - end_time + - start_time + type: object + type: array + weekdays: + items: + type: string + type: array + years: + items: + type: string + type: array + type: object + type: array + required: + - name + - time_intervals + type: object + type: array + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastErrorParentAlertmanagerName: + type: string + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmalertmanagers.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAlertmanager + listKind: VMAlertmanagerList + plural: vmalertmanagers + shortNames: + - vma + singular: vmalertmanager + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: The desired replicas number of Alertmanagers + jsonPath: .spec.replicaCount + name: ReplicaCount + type: integer + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current update status + jsonPath: .status.updateStatus + name: Update Status + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + additionalPeers: + items: + type: string + type: array + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + arbitraryFSAccessThroughSMs: + properties: + deny: + type: boolean + type: object + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + x-kubernetes-preserve-unknown-fields: true + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + clusterAdvertiseAddress: + type: string + clusterDomainName: + type: string + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + configRawYaml: + type: string + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + configSecret: + type: string + configSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableNamespaceMatcher: + type: boolean + disableRouteContinueEnforce: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + enforcedNamespaceLabel: + type: string + enforcedTopRouteMatchers: + items: + type: string + type: array + externalURL: + type: string + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + gossipConfig: + properties: + tls_client_config: + properties: + ca_file: + type: string + ca_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + cert_file: + type: string + cert_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + insecure_skip_verify: + type: boolean + key_file: + type: string + key_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + server_name: + type: string + type: object + tls_server_config: + properties: + cert_file: + type: string + cert_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + cipher_suites: + items: + type: string + type: array + client_auth_type: + enum: + - NoClientCert + - RequireAndVerifyClientCert + type: string + client_ca_file: + type: string + client_ca_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + curve_preferences: + items: + type: string + type: array + key_file: + type: string + key_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + max_version: + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + min_version: + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + prefer_server_cipher_suites: + type: boolean + type: object + type: object + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + listenLocal: + type: boolean + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - logfmt + - json + type: string + logLevel: + enum: + - debug + - info + - warn + - error + - DEBUG + - INFO + - WARN + - ERROR + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + portName: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retention: + pattern: '[0-9]+(ms|s|m|h)' + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + routePrefix: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + templates: + items: + properties: + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + tracingConfig: + properties: + client_type: + enum: + - http + - grpc + type: string + compression: + type: string + endpoint: + type: string + headers: + additionalProperties: + type: string + type: object + insecure: + type: boolean + sampling_fraction: + type: string + timeout: + type: string + tls_config: + properties: + ca_file: + type: string + ca_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + cert_file: + type: string + cert_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + insecure_skip_verify: + type: boolean + key_file: + type: string + key_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + server_name: + type: string + type: object + required: + - endpoint + type: object + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + webConfig: + properties: + basic_auth_users: + additionalProperties: + type: string + type: object + http_server_config: + properties: + headers: + additionalProperties: + type: string + type: object + http2: + type: boolean + type: object + tls_server_config: + properties: + cert_file: + type: string + cert_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + cipher_suites: + items: + type: string + type: array + client_auth_type: + enum: + - NoClientCert + - RequireAndVerifyClientCert + type: string + client_ca_file: + type: string + client_ca_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + curve_preferences: + items: + type: string + type: array + key_file: + type: string + key_secret_ref: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + max_version: + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + min_version: + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + prefer_server_cipher_suites: + type: boolean + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmalerts.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAlert + listKind: VMAlertList + plural: vmalerts + singular: vmalert + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - description: The desired replicas number of VMAlerts + jsonPath: .spec.replicaCount + name: ReplicaCount + type: integer + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + datasource: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + headers: + items: + type: string + type: array + oauth2: + required: + - client_id + - token_url + type: object + x-kubernetes-preserve-unknown-fields: true + tlsConfig: + type: object + x-kubernetes-preserve-unknown-fields: true + url: + type: string + required: + - url + type: object + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + enforcedNamespaceLabel: + type: string + evaluationInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + externalLabels: + additionalProperties: + type: string + type: object + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + notifier: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + headers: + items: + type: string + type: array + oauth2: + required: + - client_id + - token_url + type: object + x-kubernetes-preserve-unknown-fields: true + selector: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + type: object + tlsConfig: + type: object + x-kubernetes-preserve-unknown-fields: true + url: + type: string + type: object + notifierConfigRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + notifiers: + items: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + headers: + items: + type: string + type: array + oauth2: + required: + - client_id + - token_url + type: object + x-kubernetes-preserve-unknown-fields: true + selector: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + type: object + tlsConfig: + type: object + x-kubernetes-preserve-unknown-fields: true + url: + type: string + type: object + type: array + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + remoteRead: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + headers: + items: + type: string + type: array + lookback: + type: string + oauth2: + required: + - client_id + - token_url + type: object + x-kubernetes-preserve-unknown-fields: true + tlsConfig: + type: object + x-kubernetes-preserve-unknown-fields: true + url: + type: string + required: + - url + type: object + remoteWrite: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + concurrency: + format: int32 + type: integer + flushInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + headers: + items: + type: string + type: array + maxBatchSize: + format: int32 + type: integer + maxQueueSize: + format: int32 + type: integer + oauth2: + required: + - client_id + - token_url + type: object + x-kubernetes-preserve-unknown-fields: true + tlsConfig: + type: object + x-kubernetes-preserve-unknown-fields: true + url: + type: string + required: + - url + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + ruleNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + rulePath: + items: + type: string + type: array + ruleSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + required: + - datasource + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmanomalies.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAnomaly + listKind: VMAnomalyList + plural: vmanomalies + singular: vmanomaly + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current number of shards + jsonPath: .status.shards + name: Shards Count + type: integer + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + x-kubernetes-preserve-unknown-fields: true + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + configRawYaml: + type: string + configSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + monitoring: + properties: + pull: + properties: + port: + type: string + required: + - port + type: object + push: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer: + properties: + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + extraLabels: + additionalProperties: + type: string + type: object + healthPath: + type: string + pushFrequency: + type: string + tenantID: + type: string + timeout: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url: + type: string + required: + - url + type: object + type: object + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + reader: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer: + properties: + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + dataRange: + items: + type: string + type: array + datasourceURL: + type: string + extraFilters: + items: + type: string + type: array + healthPath: + type: string + latencyOffset: + type: string + maxPointsPerQuery: + type: integer + offset: + type: string + queryFromLastSeenTimestamp: + type: boolean + queryRangePath: + type: string + samplingPeriod: + type: string + tenantID: + type: string + timeout: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + tz: + type: string + required: + - datasourceURL + - samplingPeriod + type: object + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + server: + properties: + addr: + type: string + maxConcurrentTasks: + minimum: 1 + type: integer + pathPrefix: + type: string + port: + type: string + uiDefaultState: + type: string + useReaderConnectionSettings: + type: boolean + type: object + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + shardCount: + format: int32 + type: integer + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + writer: + properties: + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer: + properties: + bearerTokenFile: + type: string + bearerTokenSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + connectionRetryAttempts: + minimum: 1 + type: integer + datasourceURL: + type: string + healthPath: + type: string + metricFormat: + properties: + __name__: + type: string + extraLabels: + additionalProperties: + type: string + type: object + for: + type: string + required: + - __name__ + - for + type: object + tenantID: + type: string + timeout: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - datasourceURL + type: object + required: + - reader + - writer + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + shards: + format: int32 + type: integer + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.shardCount + statusReplicasPath: .status.shards + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmanomalyconfigs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAnomalyConfig + listKind: VMAnomalyConfigList + plural: vmanomalyconfigs + singular: vmanomalyconfig + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmauths.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAuth + listKind: VMAuthList + plural: vmauths + singular: vmauth + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: The desired replicas number of VMAuth + jsonPath: .spec.replicaCount + name: ReplicaCount + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + arbitraryFSAccessThroughSMs: + properties: + deny: + type: boolean + type: object + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + configSecret: + type: string + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + defaultTargetRefs: + items: + properties: + crd: + properties: + kind: + enum: + - VMAgent + - VMAlert + - VMSingle + - VLogs + - VMAlertManager + - VMAlertmanager + - VMCluster/vmselect + - VMCluster/vmstorage + - VMCluster/vminsert + - VLSingle + - VLCluster/vlinsert + - VLCluster/vlselect + - VLCluster/vlstorage + - VLAgent + - VTCluster/vtinsert + - VTCluster/vtselect + - VTCluster/vtstorage + - VTSingle + - VMAnomaly + type: string + name: + type: string + namespace: + type: string + objects: + items: + properties: + name: + type: string + namespace: + type: string + useExtraService: + type: boolean + required: + - name + - namespace + type: object + type: array + useExtraService: + type: boolean + required: + - kind + - name + - namespace + type: object + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + hosts: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + name: + type: string + paths: + items: + type: string + type: array + query_args: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + static: + properties: + url: + type: string + urls: + items: + type: string + type: array + type: object + target_path_suffix: + type: string + targetRefBasicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - password + - username + type: object + type: object + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + externalConfig: + properties: + localPath: + type: string + secretRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + httpRoute: + properties: + annotations: + additionalProperties: + type: string + type: object + extraRules: + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + x-kubernetes-preserve-unknown-fields: true + hostnames: + items: + 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: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + parentRefs: + items: + properties: + group: + 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 + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + maxLength: 253 + minLength: 1 + type: string + namespace: + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + format: int32 + maximum: 65535 + minimum: 1 + type: integer + sectionName: + 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 + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + ingress: + properties: + annotations: + additionalProperties: + type: string + type: object + class_name: + type: string + extraRules: + items: + properties: + host: + type: string + http: + properties: + paths: + items: + properties: + backend: + properties: + resource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + service: + properties: + name: + type: string + port: + properties: + name: + type: string + number: + format: int32 + type: integer + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + type: object + path: + type: string + pathType: + type: string + required: + - backend + - pathType + type: object + type: array + x-kubernetes-list-type: atomic + required: + - paths + type: object + type: object + type: array + extraTls: + items: + properties: + hosts: + items: + type: string + type: array + x-kubernetes-list-type: atomic + secretName: + type: string + type: object + type: array + host: + type: string + labels: + additionalProperties: + type: string + type: object + name: + type: string + paths: + items: + type: string + type: array + tlsHosts: + items: + type: string + type: array + tlsSecretName: + type: string + type: object + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + internalListenPort: + type: string + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + unauthorizedAccessConfig: + x-kubernetes-preserve-unknown-fields: true + unauthorizedUserAccessSpec: + properties: + access_log: + properties: + filters: + properties: + skip_status_codes: + items: + type: integer + type: array + type: object + type: object + default_url: + items: + type: string + type: array + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + dump_request_on_errors: + type: boolean + headers: + items: + type: string + type: array + ip_filters: + properties: + allow_list: + items: + type: string + type: array + deny_list: + items: + type: string + type: array + type: object + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + max_concurrent_requests: + type: integer + metric_labels: + additionalProperties: + type: string + type: object + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + targetRefs: + items: + properties: + crd: + properties: + kind: + enum: + - VMAgent + - VMAlert + - VMSingle + - VLogs + - VMAlertManager + - VMAlertmanager + - VMCluster/vmselect + - VMCluster/vmstorage + - VMCluster/vminsert + - VLSingle + - VLCluster/vlinsert + - VLCluster/vlselect + - VLCluster/vlstorage + - VLAgent + - VTCluster/vtinsert + - VTCluster/vtselect + - VTCluster/vtstorage + - VTSingle + - VMAnomaly + type: string + name: + type: string + namespace: + type: string + objects: + items: + properties: + name: + type: string + namespace: + type: string + useExtraService: + type: boolean + required: + - name + - namespace + type: object + type: array + useExtraService: + type: boolean + required: + - kind + - name + - namespace + type: object + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + hosts: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + name: + type: string + paths: + items: + type: string + type: array + query_args: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + static: + properties: + url: + type: string + urls: + items: + type: string + type: array + type: object + target_path_suffix: + type: string + targetRefBasicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - password + - username + type: object + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url_map: + items: + properties: + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_hosts: + items: + type: string + type: array + src_paths: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + url_prefix: + x-kubernetes-preserve-unknown-fields: true + type: object + type: array + url_prefix: + x-kubernetes-preserve-unknown-fields: true + type: object + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useProxyProtocol: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + userNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + userSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmclusters.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMCluster + listKind: VMClusterList + plural: vmclusters + singular: vmcluster + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: replicas of VMInsert + jsonPath: .spec.vminsert.replicaCount + name: Insert Count + type: string + - description: replicas of VMStorage + jsonPath: .spec.vmstorage.replicaCount + name: Storage Count + type: string + - description: replicas of VMSelect + jsonPath: .spec.vmselect.replicaCount + name: Select Count + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current status of cluster + jsonPath: .status.updateStatus + name: Status + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + clusterDomainName: + type: string + clusterVersion: + type: string + discovery: + properties: + enabled: + type: boolean + filter: + type: string + interval: + pattern: ^[0-9]+(s|m|h)$ + type: string + required: + - enabled + type: object + downsampling: + properties: + dedupInterval: + type: string + rules: + items: + properties: + filter: + type: string + periods: + items: + properties: + interval: + type: string + offset: + type: string + required: + - interval + - offset + type: object + type: array + required: + - periods + type: object + type: array + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + paused: + type: boolean + replicationFactor: + format: int32 + type: integer + requestsLoadBalancer: + properties: + disableInsertBalancing: + type: boolean + disableSelectBalancing: + type: boolean + enabled: + type: boolean + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + serviceAccountName: + type: string + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + vminsert: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + clusterNativeListenPort: + type: string + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + discovery: + properties: + enabled: + type: boolean + filter: + type: string + interval: + pattern: ^[0-9]+(s|m|h)$ + type: string + required: + - enabled + type: object + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + insertPorts: + properties: + graphitePort: + type: string + influxPort: + type: string + openTSDBHTTPPort: + type: string + openTSDBPort: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + vmselect: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + cacheMountPath: + type: string + claimTemplates: + items: + type: object + type: array + clusterNativeListenPort: + type: string + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + discovery: + properties: + enabled: + type: boolean + filter: + type: string + interval: + pattern: ^[0-9]+(s|m|h)$ + type: string + required: + - enabled + type: object + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + rollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + vmstorage: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + claimTemplates: + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + maintenanceInsertNodeIDs: + items: + format: int32 + type: integer + type: array + maintenanceSelectNodeIDs: + items: + format: int32 + type: integer + type: array + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionFilters: + items: + properties: + filter: + type: string + retention: + type: string + required: + - filter + - retention + type: object + type: array + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + rollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + storageDataPath: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + vmBackup: + properties: + acceptEULA: + type: boolean + concurrency: + format: int32 + type: integer + credentialsSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + customS3Endpoint: + type: string + destination: + type: string + destinationDisableSuffixAdd: + type: boolean + disableDaily: + type: boolean + disableHourly: + type: boolean + disableMonthly: + type: boolean + disableWeekly: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + port: + type: string + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + restore: + properties: + onStart: + properties: + enabled: + type: boolean + type: object + type: object + snapshotCreateURL: + type: string + snapshotDeleteURL: + type: string + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + type: object + vmInsertPort: + type: string + vmSelectPort: + type: string + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmdistributed.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMDistributed + listKind: VMDistributedList + plural: vmdistributed + singular: vmdistributed + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + backendType: + enum: + - VMCluster + - VMSingle + type: string + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + paused: + type: boolean + retain: + type: boolean + vmauth: + properties: + enabled: + default: true + type: boolean + name: + type: string + spec: + properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object + arbitraryFSAccessThroughSMs: + properties: + deny: + type: boolean + type: object + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + configSecret: + type: string + containers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + defaultTargetRefs: + items: + properties: + crd: + properties: + kind: + enum: + - VMAgent + - VMAlert + - VMSingle + - VLogs + - VMAlertManager + - VMAlertmanager + - VMCluster/vmselect + - VMCluster/vmstorage + - VMCluster/vminsert + - VLSingle + - VLCluster/vlinsert + - VLCluster/vlselect + - VLCluster/vlstorage + - VLAgent + - VTCluster/vtinsert + - VTCluster/vtselect + - VTCluster/vtstorage + - VTSingle + - VMAnomaly + type: string + name: + type: string + namespace: + type: string + objects: + items: + properties: + name: + type: string + namespace: + type: string + useExtraService: + type: boolean + required: + - name + - namespace + type: object + type: array + useExtraService: + type: boolean + required: + - kind + - name + - namespace + type: object + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + hosts: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + name: + type: string + paths: + items: + type: string + type: array + query_args: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + static: + properties: + url: + type: string + urls: + items: + type: string + type: array + type: object + target_path_suffix: + type: string + targetRefBasicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - password + - username + type: object + type: object + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + externalConfig: + properties: + localPath: + type: string + secretRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + httpRoute: + properties: + annotations: + additionalProperties: + type: string + type: object + extraRules: + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + x-kubernetes-preserve-unknown-fields: true + hostnames: + items: + 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: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + parentRefs: + items: + properties: + group: + 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 + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + maxLength: 253 + minLength: 1 + type: string + namespace: + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + format: int32 + maximum: 65535 + minimum: 1 + type: integer + sectionName: + 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 + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + ingress: + properties: + annotations: + additionalProperties: + type: string + type: object + class_name: + type: string + extraRules: + items: + properties: + host: + type: string + http: + properties: + paths: + items: + properties: + backend: + properties: + resource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + service: + properties: + name: + type: string + port: + properties: + name: + type: string + number: + format: int32 + type: integer + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + type: object + path: + type: string + pathType: + type: string + required: + - backend + - pathType + type: object + type: array + x-kubernetes-list-type: atomic + required: + - paths + type: object + type: object + type: array + extraTls: + items: + properties: + hosts: + items: + type: string + type: array + x-kubernetes-list-type: atomic + secretName: + type: string + type: object + type: array + host: + type: string + labels: + additionalProperties: + type: string + type: object + name: + type: string + paths: + items: + type: string + type: array + tlsHosts: + items: + type: string + type: array + tlsSecretName: + type: string + type: object + initContainers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + internalListenPort: + type: string + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxChangePolicy: + type: string + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic + supplementalGroupsPolicy: + type: string + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeSpec: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + discoveryRole: + enum: + - endpoints + - service + - endpointslices + - endpointslice + type: string + endpoints: + items: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + port: + type: string + proxyURL: + type: string + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + type: object + type: array + jobLabel: + type: string + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + podTargetLabels: + items: + type: string + type: array + sampleLimit: + type: integer + scrapeClass: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + seriesLimit: + type: integer + targetLabels: + items: + type: string + type: array + required: + - endpoints + type: object + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + 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 + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + unauthorizedAccessConfig: + x-kubernetes-preserve-unknown-fields: true + unauthorizedUserAccessSpec: + properties: + access_log: + properties: + filters: + properties: + skip_status_codes: + items: + type: integer + type: array + type: object + type: object + default_url: + items: + type: string + type: array + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + dump_request_on_errors: + type: boolean + headers: + items: + type: string + type: array + ip_filters: + properties: + allow_list: + items: + type: string + type: array + deny_list: + items: + type: string + type: array + type: object + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + max_concurrent_requests: + type: integer + metric_labels: + additionalProperties: + type: string + type: object + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + targetRefs: + items: + properties: + crd: + properties: + kind: + enum: + - VMAgent + - VMAlert + - VMSingle + - VLogs + - VMAlertManager + - VMAlertmanager + - VMCluster/vmselect + - VMCluster/vmstorage + - VMCluster/vminsert + - VLSingle + - VLCluster/vlinsert + - VLCluster/vlselect + - VLCluster/vlstorage + - VLAgent + - VTCluster/vtinsert + - VTCluster/vtselect + - VTCluster/vtstorage + - VTSingle + - VMAnomaly + type: string + name: + type: string + namespace: + type: string + objects: + items: + properties: + name: + type: string + namespace: + type: string + useExtraService: + type: boolean + required: + - name + - namespace + type: object + type: array + useExtraService: + type: boolean + required: + - kind + - name + - namespace + type: object + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + hosts: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + name: + type: string + paths: + items: + type: string + type: array + query_args: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + static: + properties: + url: + type: string + urls: + items: + type: string + type: array + type: object + target_path_suffix: + type: string + targetRefBasicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - password + - username + type: object + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url_map: + items: + properties: + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_hosts: + items: + type: string + type: array + src_paths: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + url_prefix: + x-kubernetes-preserve-unknown-fields: true + type: object + type: array + url_prefix: + x-kubernetes-preserve-unknown-fields: true + type: object + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useProxyProtocol: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + userNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + userSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + default: ext4 + type: string + kind: + type: string + readOnly: + default: false + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + type: array + x-kubernetes-list-type: atomic + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + wwids: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + image: + properties: + pullPolicy: + type: string + reference: + type: string + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + default: default + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + x-kubernetes-list-type: atomic + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + 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: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + x-kubernetes-list-type: atomic + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + default: /etc/ceph/keyring + type: string + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + pool: + default: rbd + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + default: admin + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + default: xfs + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + sslEnabled: + type: boolean + storageMode: + default: ThinProvisioned + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type + is Factor and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type + is Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + zoneCommon: + properties: + readyTimeout: + type: string + remoteWrite: + x-kubernetes-preserve-unknown-fields: true + updatePause: + type: string + vmagent: + properties: + name: + type: string + spec: + properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + configMaps: + items: + type: string + type: array + containers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + remoteWriteSettings: + properties: + flushInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + label: + additionalProperties: + type: string + type: object + maxBlockSize: + format: int32 + type: integer + maxDiskUsagePerURL: + x-kubernetes-preserve-unknown-fields: true + queues: + format: int32 + type: integer + showURL: + type: boolean + tmpDataPath: + type: string + useMultiTenantMode: + type: boolean + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxChangePolicy: + type: string + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic + supplementalGroupsPolicy: + type: string + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + statefulMode: + type: boolean + statefulRollingUpdateStrategy: + type: string + statefulRollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + statefulStorage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + default: ext4 + type: string + kind: + type: string + readOnly: + default: false + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + type: array + x-kubernetes-list-type: atomic + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + wwids: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + image: + properties: + pullPolicy: + type: string + reference: + type: string + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + default: default + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + x-kubernetes-list-type: atomic + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + 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: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + x-kubernetes-list-type: atomic + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + default: /etc/ceph/keyring + type: string + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + pool: + default: rbd + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + default: admin + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + default: xfs + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + sslEnabled: + type: boolean + storageMode: + default: ThinProvisioned + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + vmcluster: + properties: + name: + type: string + spec: + x-kubernetes-preserve-unknown-fields: true + type: object + vmsingle: + properties: + name: + type: string + spec: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + zones: + items: + properties: + name: + type: string + remoteWrite: + x-kubernetes-preserve-unknown-fields: true + trafficMode: + enum: + - read-only + - write-only + - read-write + - maintenance + type: string + vmagent: + properties: + name: + type: string + spec: + properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + 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: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + x-kubernetes-list-type: atomic + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object + claimTemplates: + items: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: array + configMaps: + items: + type: string + type: array + containers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + x-kubernetes-list-type: atomic + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + 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: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + stopSignal: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + 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: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map + workingDir: + type: string + required: + - name + type: object + type: array + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + remoteWriteSettings: + properties: + flushInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + label: + additionalProperties: + type: string + type: object + maxBlockSize: + format: int32 + type: integer + maxDiskUsagePerURL: + x-kubernetes-preserve-unknown-fields: true + queues: + format: int32 + type: integer + showURL: + type: boolean + tmpDataPath: + type: string + useMultiTenantMode: + type: boolean + type: object + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + capabilities: + properties: + add: + items: + type: string + type: array + x-kubernetes-list-type: atomic + drop: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxChangePolicy: + type: string + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic + supplementalGroupsPolicy: + type: string + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + default: "" + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + statefulMode: + type: boolean + statefulRollingUpdateStrategy: + type: string + statefulRollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + statefulStorage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + status: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + allocatedResourceStatuses: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: granular + allocatedResources: + 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 + capacity: + 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 + conditions: + items: + properties: + lastProbeTime: + format: date-time + type: string + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + type: string + modifyVolumeStatus: + properties: + status: + type: string + targetVolumeAttributesClassName: + type: string + required: + - status + type: object + phase: + type: string + type: object + type: object + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + default: ext4 + type: string + kind: + type: string + readOnly: + default: false + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + type: array + x-kubernetes-list-type: atomic + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + wwids: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + image: + properties: + pullPolicy: + type: string + reference: + type: string + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + default: default + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + x-kubernetes-list-type: atomic + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + 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: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + x-kubernetes-list-type: atomic + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + default: /etc/ceph/keyring + type: string + monitors: + items: + type: string + type: array + x-kubernetes-list-type: atomic + pool: + default: rbd + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + user: + default: admin + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + default: xfs + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + sslEnabled: + type: boolean + storageMode: + default: ThinProvisioned + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + x-kubernetes-list-type: atomic + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + vmcluster: + properties: + name: + type: string + spec: + x-kubernetes-preserve-unknown-fields: true + type: object + vmsingle: + properties: + name: + type: string + spec: + x-kubernetes-preserve-unknown-fields: true + type: object + required: + - name + type: object + type: array + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmnodescrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMNodeScrape + listKind: VMNodeScrapeList + plural: vmnodescrapes + singular: vmnodescrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + jobLabel: + type: string + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + port: + type: string + proxyURL: + type: string + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeClass: + type: string + scrapeTimeout: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + seriesLimit: + type: integer + targetLabels: + items: + type: string + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmpodscrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMPodScrape + listKind: VMPodScrapeList + plural: vmpodscrapes + singular: vmpodscrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + jobLabel: + type: string + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + podMetricsEndpoints: + items: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + filterRunning: + type: boolean + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + port: + type: string + portNumber: + format: int32 + maximum: 65535 + minimum: 1 + type: integer + proxyURL: + type: string + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + type: object + type: array + podTargetLabels: + items: + type: string + type: array + sampleLimit: + type: integer + scrapeClass: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + seriesLimit: + type: integer + required: + - podMetricsEndpoints + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmprobes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMProbe + listKind: VMProbeList + plural: vmprobes + singular: vmprobe + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + jobName: + type: string + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + module: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + proxyURL: + type: string + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeClass: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + targets: + properties: + ingress: + properties: + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + relabelingConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + role: + enum: + - service + - ingress + - pod + - node + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + type: object + kubernetes: + items: + properties: + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + relabelingConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + role: + enum: + - service + - ingress + - pod + - node + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + type: object + type: array + static: + properties: + labels: + additionalProperties: + type: string + type: object + relabelingConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + targets: + items: + type: string + type: array + required: + - targets + type: object + staticConfig: + properties: + labels: + additionalProperties: + type: string + type: object + relabelingConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + targets: + items: + type: string + type: array + required: + - targets + type: object + type: object + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + vmProberSpec: + properties: + path: + type: string + scheme: + enum: + - http + - https + type: string + url: + type: string + required: + - url + type: object + required: + - vmProberSpec + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmrules.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMRule + listKind: VMRuleList + plural: vmrules + singular: vmrule + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + groups: + items: + properties: + concurrency: + type: integer + eval_alignment: + type: boolean + eval_delay: + type: string + eval_offset: + type: string + headers: + items: + type: string + type: array + interval: + type: string + labels: + additionalProperties: + type: string + type: object + limit: + type: integer + name: + type: string + notifier_headers: + items: + type: string + type: array + params: + additionalProperties: + items: + type: string + type: array + type: object + rules: + items: + properties: + alert: + default: "" + type: string + annotations: + additionalProperties: + type: string + type: object + debug: + type: boolean + expr: + type: string + for: + type: string + keep_firing_for: + type: string + labels: + additionalProperties: + type: string + type: object + record: + default: "" + type: string + update_entries_limit: + type: integer + type: object + type: array + tenant: + type: string + type: + type: string + required: + - name + - rules + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + required: + - groups + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmscrapeconfigs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMScrapeConfig + listKind: VMScrapeConfigList + plural: vmscrapeconfigs + singular: vmscrapeconfig + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + azureSDConfigs: + items: + properties: + authenticationMethod: + enum: + - OAuth + - ManagedIdentity + type: string + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + clientID: + type: string + clientSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + environment: + type: string + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + resourceGroup: + type: string + subscriptionID: + minLength: 1 + type: string + tenantID: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - subscriptionID + type: object + type: array + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + consulAgentSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + datacenter: + type: string + filter: + type: string + followRedirects: + type: boolean + namespace: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + scheme: + enum: + - HTTP + - HTTPS + - http + - https + type: string + server: + type: string + services: + items: + type: string + type: array + x-kubernetes-list-type: atomic + tagSeparator: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + tokenRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + consulSDConfigs: + items: + properties: + allowStale: + type: boolean + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + datacenter: + type: string + filter: + type: string + followRedirects: + type: boolean + namespace: + type: string + nodeMeta: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + partition: + type: string + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + scheme: + enum: + - HTTP + - HTTPS + type: string + server: + minLength: 1 + type: string + services: + items: + type: string + type: array + x-kubernetes-list-type: atomic + tagSeparator: + type: string + tags: + items: + type: string + type: array + x-kubernetes-list-type: atomic + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + tokenRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - server + type: object + type: array + digitalOceanSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + server: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + type: array + dnsSDConfigs: + items: + properties: + names: + items: + type: string + minItems: 1 + type: array + port: + format: int32 + type: integer + type: + enum: + - SRV + - A + - AAAA + - MX + type: string + required: + - names + type: object + type: array + dockerSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + filters: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - name + - values + type: object + type: array + followRedirects: + type: boolean + host: + type: string + hostNetworkingHost: + type: string + matchFirstNetwork: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + type: array + dockerSwarmSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + filters: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - name + - values + type: object + type: array + followRedirects: + type: boolean + host: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + role: + enum: + - services + - tasks + - nodes + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - host + - role + type: object + type: array + ec2SDConfigs: + items: + properties: + accessKey: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + filters: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + port: + format: int32 + type: integer + region: + type: string + roleARN: + type: string + secretKey: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + eurekaSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + server: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + type: array + fileSDConfigs: + items: + properties: + files: + items: + type: string + minItems: 1 + type: array + required: + - files + type: object + type: array + follow_redirects: + type: boolean + gceSDConfigs: + items: + properties: + filter: + type: string + port: + format: int32 + type: integer + project: + minLength: 1 + type: string + tagSeparator: + type: string + zone: + x-kubernetes-preserve-unknown-fields: true + required: + - project + - zone + type: object + type: array + hetznerSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + role: + enum: + - robot + - Robot + - hcloud + - Cloud + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - role + type: object + type: array + honorLabels: + type: boolean + honorTimestamps: + type: boolean + httpSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url: + minLength: 1 + pattern: ^http(s)?://.+$ + type: string + required: + - url + type: object + type: array + interval: + type: string + kubernetesSDConfigs: + items: + properties: + apiServer: + type: string + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + namespaces: + properties: + names: + items: + type: string + type: array + ownNamespace: + type: boolean + type: object + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + role: + enum: + - node + - pod + - service + - endpoints + - endpointslice + - ingress + type: string + selectors: + items: + properties: + field: + type: string + label: + type: string + role: + enum: + - node + - pod + - service + - endpoints + - endpointslice + - ingress + type: string + required: + - role + type: object + type: array + x-kubernetes-list-map-keys: + - role + x-kubernetes-list-type: map + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - role + type: object + type: array + kumaSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + clientID: + type: string + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + server: + minLength: 1 + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - server + type: object + type: array + marathonSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + servers: + items: + type: string + minItems: 1 + type: array + x-kubernetes-list-type: atomic + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - servers + type: object + type: array + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + nomadSDConfigs: + items: + properties: + allowStale: + type: boolean + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + namespace: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + region: + type: string + server: + minLength: 1 + type: string + tagSeparator: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - server + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + openstackSDConfigs: + items: + properties: + allTenants: + type: boolean + applicationCredentialId: + type: string + applicationCredentialName: + type: string + applicationCredentialSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + availability: + enum: + - Public + - public + - Admin + - admin + - Internal + - internal + type: string + domainID: + type: string + domainName: + type: string + identityEndpoint: + type: string + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + port: + format: int32 + type: integer + projectID: + type: string + projectName: + type: string + region: + minLength: 1 + type: string + role: + enum: + - Instance + - instance + - Hypervisor + - hypervisor + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + userid: + type: string + username: + type: string + required: + - region + - role + type: object + type: array + ovhcloudSDConfigs: + items: + properties: + applicationKey: + minLength: 1 + type: string + applicationSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + consumerKey: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + endpoint: + type: string + followRedirects: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + service: + enum: + - vps + - VPS + - dedicated_server + - DedicatedServer + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - applicationKey + - applicationSecret + - consumerKey + - service + type: object + type: array + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + proxyURL: + type: string + puppetDBSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + followRedirects: + type: boolean + includeParameters: + type: boolean + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + query: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + url: + type: string + required: + - query + - url + type: object + type: array + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeClass: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + staticConfigs: + items: + properties: + labels: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + targets: + items: + type: string + type: array + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + vultrSDConfigs: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + firewallGroupID: + type: string + followRedirects: + type: boolean + hostname: + type: string + label: + type: string + mainIP: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + port: + format: int32 + type: integer + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + proxyURL: + type: string + region: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + type: object + type: array + yandexCloudSDConfigs: + items: + properties: + apiEndpoint: + type: string + folderIDs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + service: + enum: + - compute + - ydb + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + yandexPassportOAuthToken: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - service + type: object + type: array + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmservicescrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMServiceScrape + listKind: VMServiceScrapeList + plural: vmservicescrapes + singular: vmservicescrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + discoveryRole: + enum: + - endpoints + - service + - endpointslices + - endpointslice + type: string + endpoints: + items: + properties: + attach_metadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + port: + type: string + proxyURL: + type: string + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + type: object + type: array + jobLabel: + type: string + namespaceSelector: + properties: + any: + type: boolean + matchNames: + items: + type: string + type: array + type: object + podTargetLabels: + items: + type: string + type: array + sampleLimit: + type: integer + scrapeClass: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + seriesLimit: + type: integer + targetLabels: + items: + type: string + type: array + required: + - endpoints + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmsingles.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMSingle + listKind: VMSingleList + plural: vmsingles + singular: vmsingle + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of single node update process + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + additionalScrapeConfigs: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + apiServerConfig: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerToken: + type: string + bearerTokenFile: + type: string + host: + type: string + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - host + type: object + arbitraryFSAccessThroughSMs: + properties: + deny: + type: boolean + type: object + componentVersion: + type: string + configMaps: + items: + type: string + type: array + configReloadAuthKeySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + configReloaderExtraArgs: + additionalProperties: + type: string + type: object + configReloaderImage: + type: string + configReloaderImageTag: + type: string + configReloaderResources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + downsampling: + properties: + dedupInterval: + type: string + rules: + items: + properties: + filter: + type: string + periods: + items: + properties: + interval: + type: string + offset: + type: string + required: + - interval + - offset + type: object + type: array + required: + - periods + type: object + type: array + type: object + enableKubernetesAPISelectors: + type: boolean + enableServiceLinks: + type: boolean + enforcedNamespaceLabel: + type: string + externalLabelName: + type: string + externalLabels: + additionalProperties: + type: string + type: object + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + globalScrapeMetricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + globalScrapeRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + ignoreNamespaceSelectors: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + ingestOnlyMode: + type: boolean + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + inlineRelabelConfig: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + inlineScrapeConfig: + type: string + insertPorts: + properties: + graphitePort: + type: string + influxPort: + type: string + openTSDBHTTPPort: + type: string + openTSDBPort: + type: string + type: object + license: + properties: + forceOffline: + type: boolean + key: + type: string + keyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + reloadInterval: + type: string + type: object + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + maxScrapeInterval: + type: string + minReadySeconds: + format: int32 + type: integer + minScrapeInterval: + type: string + nodeScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + nodeScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + nodeScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + nodeSelector: + additionalProperties: + type: string + type: object + overrideHonorLabels: + type: boolean + overrideHonorTimestamps: + type: boolean + paused: + type: boolean + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + podScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + podScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + podScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + probeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + probeScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + probeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + relabelConfig: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + removePvcAfterDelete: + type: boolean + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionFilters: + items: + properties: + filter: + type: string + retention: + type: string + required: + - filter + - retention + type: object + type: array + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + runtimeClassName: + type: string + sampleLimit: + type: integer + schedulerName: + type: string + scrapeClasses: + items: + properties: + attachMetadata: + properties: + namespace: + type: boolean + node: + type: boolean + type: object + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + default: + type: boolean + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + name: + minLength: 1 + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + scrapeConfigNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + scrapeConfigRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + scrapeConfigSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + scrapeInterval: + pattern: '[0-9]+(ms|s|m|h)' + type: string + scrapeTimeout: + pattern: '[0-9]+(ms|s|m|h)' + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + selectAllByDefault: + type: boolean + serviceAccountName: + type: string + serviceScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + serviceScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + serviceScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + staticScrapeNamespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + staticScrapeRelabelTemplate: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + staticScrapeSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storage: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + storageDataPath: + type: string + storageMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + streamAggrConfig: + properties: + configmap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + dedupInterval: + type: string + dropInput: + type: boolean + dropInputLabels: + items: + type: string + type: array + enableWindows: + type: boolean + ignoreFirstIntervals: + type: integer + ignoreFirstSampleInterval: + type: string + ignoreOldSamples: + type: boolean + keepInput: + type: boolean + rules: + items: + properties: + by: + items: + type: string + type: array + dedup_interval: + type: string + drop_input_labels: + items: + type: string + type: array + enable_windows: + type: boolean + flush_on_shutdown: + type: boolean + ignore_first_intervals: + type: integer + ignore_old_samples: + type: boolean + ignoreFirstSampleInterval: + type: string + input_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + interval: + type: string + keep_metric_names: + type: boolean + match: + x-kubernetes-preserve-unknown-fields: true + no_align_flush_to_interval: + type: boolean + output_relabel_configs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + outputs: + items: + type: string + type: array + staleness_interval: + type: string + without: + items: + type: string + type: array + required: + - interval + - outputs + type: object + type: array + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + useVMConfigReloader: + type: boolean + vmAgentExternalLabelName: + type: string + vmBackup: + properties: + acceptEULA: + type: boolean + concurrency: + format: int32 + type: integer + credentialsSecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + customS3Endpoint: + type: string + destination: + type: string + destinationDisableSuffixAdd: + type: boolean + disableDaily: + type: boolean + disableHourly: + type: boolean + disableMonthly: + type: boolean + disableWeekly: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - 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: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + port: + type: string + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + restore: + properties: + onStart: + properties: + enabled: + type: boolean + type: object + type: object + snapshotCreateURL: + type: string + snapshotDeleteURL: + type: string + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + type: object + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmstaticscrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMStaticScrape + listKind: VMStaticScrapeList + plural: vmstaticscrapes + singular: vmstaticscrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + jobName: + type: string + sampleLimit: + type: integer + scrapeClass: + type: string + seriesLimit: + type: integer + targetEndpoints: + items: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + type: string + bearerTokenSecret: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + follow_redirects: + type: boolean + honorLabels: + type: boolean + honorTimestamps: + type: boolean + interval: + type: string + labels: + additionalProperties: + type: string + type: object + max_scrape_size: + type: string + metricRelabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + params: + additionalProperties: + items: + type: string + type: array + type: object + path: + type: string + proxyURL: + type: string + relabelConfigs: + items: + properties: + action: + type: string + if: + x-kubernetes-preserve-unknown-fields: true + labels: + additionalProperties: + type: string + type: object + match: + type: string + modulus: + format: int64 + type: integer + regex: + x-kubernetes-preserve-unknown-fields: true + replacement: + type: string + separator: + type: string + source_labels: + items: + type: string + type: array + sourceLabels: + items: + type: string + type: array + target_label: + type: string + targetLabel: + type: string + type: object + type: array + sampleLimit: + type: integer + scheme: + enum: + - http + - https + - HTTPS + - HTTP + type: string + scrape_interval: + type: string + scrapeTimeout: + type: string + seriesLimit: + type: integer + targets: + items: + type: string + minItems: 1 + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + vm_scrape_params: + properties: + disable_compression: + type: boolean + disable_keep_alive: + type: boolean + headers: + items: + type: string + type: array + no_stale_markers: + type: boolean + proxy_client_config: + properties: + authorization: + properties: + credentials: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + type: string + type: + type: string + type: object + basic_auth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + type: string + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token: + nullable: true + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + bearer_token_file: + type: string + oauth2: + properties: + client_id: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + client_secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + client_secret_file: + type: string + endpoint_params: + additionalProperties: + type: string + type: object + proxy_url: + type: string + scopes: + items: + type: string + type: array + tls_config: + x-kubernetes-preserve-unknown-fields: true + token_url: + minLength: 1 + type: string + required: + - client_id + - token_url + type: object + tls_config: + x-kubernetes-preserve-unknown-fields: true + type: object + scrape_align_interval: + type: string + scrape_offset: + type: string + stream_parse: + type: boolean + type: object + required: + - targets + type: object + type: array + required: + - targetEndpoints + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmusers.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMUser + listKind: VMUserList + plural: vmusers + singular: vmuser + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + access_log: + properties: + filters: + properties: + skip_status_codes: + items: + type: integer + type: array + type: object + type: object + bearerToken: + type: string + default_url: + items: + type: string + type: array + disable_secret_creation: + type: boolean + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + dump_request_on_errors: + type: boolean + generatePassword: + type: boolean + headers: + items: + type: string + type: array + ip_filters: + properties: + allow_list: + items: + type: string + type: array + deny_list: + items: + type: string + type: array + type: object + jwt: + properties: + matchClaims: + additionalProperties: + type: string + type: object + oidc: + properties: + issuer: + type: string + required: + - issuer + type: object + publicKeyRefs: + items: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + publicKeys: + items: + type: string + type: array + skipVerify: + type: boolean + type: object + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + max_concurrent_requests: + type: integer + metric_labels: + additionalProperties: + type: string + type: object + name: + type: string + password: + type: string + passwordRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + targetRefs: + items: + properties: + crd: + properties: + kind: + enum: + - VMAgent + - VMAlert + - VMSingle + - VLogs + - VMAlertManager + - VMAlertmanager + - VMCluster/vmselect + - VMCluster/vmstorage + - VMCluster/vminsert + - VLSingle + - VLCluster/vlinsert + - VLCluster/vlselect + - VLCluster/vlstorage + - VLAgent + - VTCluster/vtinsert + - VTCluster/vtselect + - VTCluster/vtstorage + - VTSingle + - VMAnomaly + type: string + name: + type: string + namespace: + type: string + objects: + items: + properties: + name: + type: string + namespace: + type: string + useExtraService: + type: boolean + required: + - name + - namespace + type: object + type: array + useExtraService: + type: boolean + required: + - kind + - name + - namespace + type: object + discover_backend_ips: + type: boolean + drop_src_path_prefix_parts: + type: integer + headers: + items: + type: string + type: array + hosts: + items: + type: string + type: array + load_balancing_policy: + enum: + - least_loaded + - first_available + type: string + name: + type: string + paths: + items: + type: string + type: array + query_args: + items: + properties: + name: + type: string + values: + items: + type: string + type: array + required: + - name + - values + type: object + type: array + response_headers: + items: + type: string + type: array + retry_status_codes: + items: + type: integer + type: array + src_headers: + items: + type: string + type: array + src_query_args: + items: + type: string + type: array + static: + properties: + url: + type: string + urls: + items: + type: string + type: array + type: object + target_path_suffix: + type: string + targetRefBasicAuth: + properties: + password: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + required: + - password + - username + type: object + type: object + type: array + tlsConfig: + properties: + ca: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + type: string + cert: + properties: + configMap: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + type: string + insecureSkipVerify: + type: boolean + keyFile: + type: string + keySecret: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + type: string + type: object + tokenRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + useLegacyNaming: + type: boolean + username: + type: string + required: + - targetRefs + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vtclusters.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VTCluster + listKind: VTClusterList + plural: vtclusters + singular: vtcluster + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: replicas of VTInsert + jsonPath: .spec.insert.replicaCount + name: Insert Count + type: string + - description: replicas of VTStorage + jsonPath: .spec.storage.replicaCount + name: Storage Count + type: string + - description: replicas of VTSelect + jsonPath: .spec.select.replicaCount + name: Select Count + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current status of cluster + jsonPath: .status.updateStatus + name: Status + type: string + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + clusterDomainName: + type: string + clusterVersion: + type: string + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + insert: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + paused: + type: boolean + requestsLoadBalancer: + properties: + disableInsertBalancing: + type: boolean + disableSelectBalancing: + type: boolean + enabled: + type: boolean + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + select: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + extraStorageNodes: + items: + properties: + addr: + type: string + required: + - addr + type: object + type: array + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + type: object + x-kubernetes-preserve-unknown-fields: true + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdate: + properties: + maxSurge: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + updateStrategy: + enum: + - Recreate + - RollingUpdate + type: string + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + serviceAccountName: + type: string + storage: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + claimTemplates: + items: + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + futureRetention: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + hpa: + properties: + behaviour: + properties: + scaleDown: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + scaleUp: + properties: + policies: + items: + properties: + periodSeconds: + format: int32 + type: integer + type: + type: string + value: + format: int32 + type: integer + required: + - periodSeconds + - type + - value + type: object + type: array + x-kubernetes-list-type: atomic + selectPolicy: + type: string + stabilizationWindowSeconds: + format: int32 + type: integer + tolerance: + 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 + type: object + maxReplicas: + format: int32 + type: integer + metrics: + items: + properties: + containerResource: + properties: + container: + type: string + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - container + - name + - target + type: object + external: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + object: + properties: + describedObject: + properties: + apiVersion: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - describedObject + - metric + - target + type: object + pods: + properties: + metric: + properties: + name: + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + required: + - name + type: object + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - metric + - target + type: object + resource: + properties: + name: + type: string + target: + properties: + averageUtilization: + format: int32 + type: integer + averageValue: + 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: + type: string + value: + 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 + required: + - type + type: object + required: + - name + - target + type: object + type: + type: string + required: + - type + type: object + type: array + minReplicas: + format: int32 + type: integer + type: object + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logIngestedRows: + type: boolean + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + logNewStreams: + type: boolean + maintenanceInsertNodeIDs: + items: + format: int32 + type: integer + type: array + maintenanceSelectNodeIDs: + items: + format: int32 + type: integer + type: array + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + persistentVolumeClaimRetentionPolicy: + properties: + whenDeleted: + type: string + whenScaled: + type: string + type: object + podDisruptionBudget: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + selectorLabels: + additionalProperties: + type: string + type: object + unhealthyPodEvictionPolicy: + enum: + - IfHealthyBudget + - AlwaysAllow + type: string + type: object + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionMaxDiskSpaceUsageBytes: + type: string + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + rollingUpdateStrategy: + type: string + rollingUpdateStrategyBehavior: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + volumeClaimTemplate: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + storageDataPath: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is + Quantity and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vtsingles.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VTSingle + listKind: VTSingleList + plural: vtsingles + singular: vtsingle + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of traces instance update process + jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + affinity: + type: object + x-kubernetes-preserve-unknown-fields: true + componentVersion: + type: string + configMaps: + items: + type: string + type: array + containers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + disableAutomountServiceAccountToken: + type: boolean + disableSelfServiceScrape: + type: boolean + dnsConfig: + items: + x-kubernetes-preserve-unknown-fields: true + properties: + nameservers: + items: + type: string + type: array + x-kubernetes-list-type: atomic + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + x-kubernetes-list-type: atomic + searches: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + extraArgs: + additionalProperties: + type: string + type: object + extraEnvs: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + extraEnvsFrom: + items: + properties: + configMapRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + default: "" + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + futureRetention: + pattern: ^[0-9]+(h|d|y)?$ + type: string + host_aliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ip: + type: string + required: + - ip + type: object + type: array + hostNetwork: + type: boolean + image: + properties: + pullPolicy: + type: string + repository: + type: string + tag: + type: string + type: object + imagePullSecrets: + items: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: array + initContainers: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + livenessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + logFormat: + enum: + - default + - json + type: string + logIngestedRows: + type: boolean + logLevel: + enum: + - INFO + - WARN + - ERROR + - FATAL + - PANIC + type: string + logNewStreams: + type: boolean + managedMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + minReadySeconds: + format: int32 + type: integer + nodeSelector: + additionalProperties: + type: string + type: object + paused: + type: boolean + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + port: + type: string + preStopSleepSeconds: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + readinessProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + 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 + 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 + type: object + retentionMaxDiskSpaceUsageBytes: + type: string + retentionPeriod: + pattern: ^[0-9]+(h|d|w|y)?$ + type: string + revisionHistoryLimitCount: + format: int32 + type: integer + runtimeClassName: + type: string + schedulerName: + type: string + secrets: + items: + type: string + type: array + securityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + serviceAccountName: + type: string + serviceScrapeSpec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + serviceSpec: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + useAsDefault: + type: boolean + required: + - spec + type: object + startupProbe: + type: object + x-kubernetes-preserve-unknown-fields: true + storage: + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + 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 + 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 + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + 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 + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + storageDataPath: + type: string + storageMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + name: + type: string + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + useDefaultResources: + type: boolean + useLegacyNaming: + type: boolean + useStrictSecurity: + type: boolean + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + recursiveReadOnly: + type: string + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + required: + - name + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + vpa: + properties: + recommenders: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + resourcePolicy: + properties: + containerPolicies: + items: + properties: + containerName: + type: string + controlledResources: + items: + type: string + type: array + controlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + maxAllowed: + 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 + memoryAggregationIntervalCount: + format: int64 + minimum: 1 + type: integer + memoryAggregationIntervalSeconds: + format: int32 + minimum: 1 + type: integer + minAllowed: + 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 + mode: + enum: + - Auto + - "Off" + type: string + oomBumpUpRatio: + 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 + oomMinBumpUp: + 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 + startupBoost: + properties: + cpu: + properties: + durationSeconds: + format: int32 + type: integer + factor: + format: int32 + type: integer + quantity: + 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: + enum: + - Factor + - Quantity + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: factor is required when type is Factor + and forbidden otherwise + rule: (self.type == 'Factor') == has(self.factor) + - message: quantity is required when type is Quantity + and forbidden otherwise + rule: (self.type == 'Quantity') == has(self.quantity) + type: object + type: object + type: array + type: object + updatePolicy: + properties: + evictAfterOOMSeconds: + format: int32 + minimum: 1 + type: integer + evictionRequirements: + items: + properties: + changeRequirement: + enum: + - TargetHigherThanRequests + - TargetLowerThanRequests + type: string + resources: + items: + type: string + type: array + required: + - changeRequirement + - resources + type: object + type: array + minReplicas: + format: int32 + type: integer + updateMode: + enum: + - "Off" + - Initial + - Recreate + - InPlaceOrRecreate + - InPlace + - Auto + type: string + type: object + type: object + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/files/crd.yaml.bz2 b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/files/crd.yaml.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..7d23c7c402fa5b72865a792a55c689d62f108158 GIT binary patch literal 35482 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 m1ys /tmp/crd.yaml + {{- with $app.resources }} + resources: {{ toYaml . | nindent 12 }} + {{- end }} + {{- with $app.securityContext }} + securityContext: {{ toYaml . | nindent 12 }} + {{- end }} + volumeMounts: + - mountPath: /crds/ + name: crds + - mountPath: /tmp/ + name: tmp + {{- with $app.extraVolumeMounts }} + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with $app.env }} + env: {{ toYaml . | nindent 12 }} + {{- end }} + containers: + - name: kubectl + {{- $_ := set $ctx "appKey" (list "upgrade" "kubectl") }} + image: {{ include "vm.image" $ctx }} + imagePullPolicy: {{ $app.kubectl.image.pullPolicy }} + command: + - kubectl + args: + - apply + - --server-side + {{- if $app.forceConflicts }} + - --force-conflicts + {{- end }} + - --filename + - /tmp/crd.yaml + {{- with $app.resources }} + resources: {{ toYaml . | nindent 12 }} + {{- end }} + {{- with $app.securityContext }} + securityContext: {{ toYaml . | nindent 12 }} + {{- end }} + volumeMounts: + - mountPath: /tmp/ + name: tmp + {{- with $app.extraVolumeMounts }} + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with $app.env }} + env: {{ toYaml . | nindent 12 }} + {{- end }} + volumes: + - name: tmp + emptyDir: {} + - name: crds + configMap: + name: {{ template "crds.upgrade.name" . }} + {{- with $app.extraVolumes }} + {{- toYaml . | nindent 8 }} + {{- end }} + restartPolicy: OnFailure + {{- with $app.nodeSelector }} + nodeSelector: {{ toYaml . | nindent 8 }} + {{- end }} + {{- with $app.tolerations }} + tolerations: {{ toYaml . | nindent 8 }} + {{- end }} + {{- with $app.affinity }} + affinity: {{ toYaml . | nindent 8 }} + {{- end }} + {{- with $app.topologySpreadConstraints }} + topologySpreadConstraints: {{ toYaml . | nindent 8 }} + {{- end }} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/role.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/role.yaml new file mode 100644 index 00000000..7cb71a2d --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/role.yaml @@ -0,0 +1,52 @@ +{{- if .Values.upgrade.enabled }} +{{- $ctx := dict "helm" . }} +{{- $_ := set $ctx "extraLabels" (dict "app.kubernetes.io/component" "upgrade-crds") }} +{{- $labels := include "vm.labels" $ctx }} +{{- $_ := unset $ctx "extraLabels" }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ template "crds.upgrade.name" . }} + namespace: {{ template "vm.namespace" . }} + annotations: + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + "helm.sh/hook-weight": "-5" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded + labels: {{ $labels | nindent 4 }} + {{- $crds := .Files.Get "crds/crd.yaml" | splitList "---" }} +rules: + - apiGroups: + - "apiextensions.k8s.io" + resources: + - "customresourcedefinitions" + verbs: + - create + - patch + - update + - get + - list + resourceNames: + {{- range $crds }} + {{- $crd := fromYaml . }} + - {{ $crd.metadata.name }} + {{- end }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ template "crds.upgrade.name" . }} + namespace: {{ template "vm.namespace" . }} + annotations: + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + "helm.sh/hook-weight": "-3" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded + labels: {{ $labels | nindent 4 }} +subjects: + - kind: ServiceAccount + namespace: {{ template "vm.namespace" . }} + name: {{ template "crds.upgrade.serviceAccountName" . }} +roleRef: + kind: ClusterRole + name: {{ template "crds.upgrade.name" . }} + apiGroup: rbac.authorization.k8s.io +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/serviceaccount.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/serviceaccount.yaml new file mode 100644 index 00000000..2fa0dc40 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/serviceaccount.yaml @@ -0,0 +1,25 @@ +{{- $upgrade := .Values.upgrade }} +{{- if and $upgrade.enabled $upgrade.serviceAccount.create }} +{{- $ctx := dict "helm" . }} +{{- $fullname := include "vm.plain.fullname" $ctx }} +{{- $ns := include "vm.namespace" $ctx }} +{{- $sa := $upgrade.serviceAccount }} +apiVersion: v1 +kind: ServiceAccount +automountServiceAccountToken: {{ $sa.automountServiceAccountToken }} +metadata: + name: {{ include "crds.upgrade.name" . }} + namespace: {{ $ns }} + annotations: + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + "helm.sh/hook-weight": "-4" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded + {{- with $sa.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- $extraLabels := $sa.labels | default dict }} + {{- $_ := set $extraLabels "app.kubernetes.io/component" "upgrade-crds" }} + {{- $_ := set $ctx "extraLabels" $extraLabels }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + {{- $_ := unset $ctx "extraLabels" }} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/values.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/values.yaml new file mode 100644 index 00000000..89715f32 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/values.yaml @@ -0,0 +1,17 @@ +upgrade: + enabled: false + serviceAccount: + labels: {} + create: true + forceConflicts: false + busybox: + image: + repository: busybox + tag: latest + pullPolicy: IfNotPresent + kubectl: + image: + repository: rancher/kubectl + # use image tag that matches k8s API version by default + tag: "" + pullPolicy: IfNotPresent diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/.helmignore b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/.helmignore new file mode 100644 index 00000000..e7746f26 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +*.md.gotmpl +CHANGELOG.md +_changelog.md +_index.md diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.lock b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.lock new file mode 100644 index 00000000..7d366f4c --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.lock @@ -0,0 +1,3 @@ +dependencies: [] +digest: sha256:643d5437104296e21d906ecb15b2c96ad278f20cfc4af53b12bb6069bd853726 +generated: "2024-11-13T12:10:17.363248379Z" diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.yaml new file mode 100644 index 00000000..add29594 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.yaml @@ -0,0 +1,33 @@ +annotations: + artifacthub.io/category: monitoring-logging + artifacthub.io/changes: | + - added `vm.openshift.serviceCA.volume` and `vm.openshift.serviceCA.volumeMount` helpers to conditionally mount the OpenShift service signing CA (`openshift-service-ca.crt` ConfigMap) + artifacthub.io/license: Apache-2.0 + artifacthub.io/links: | + - name: Sources + url: https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-common + - name: Charts repo + url: https://victoriametrics.github.io/helm-charts/ + artifacthub.io/readme: | + # VictoriaMetrics Common Helm chart + + Chart documentation is available [here](https://docs.victoriametrics.com/helm/victoria-metrics-common/). + Changelog is [here](https://docs.victoriametrics.com/helm/victoria-metrics-common/changelog/). +apiVersion: v2 +description: VictoriaMetrics Common - contains shared templates for all Victoria Metrics + helm charts +keywords: +- victoriametrics +- monitoring +- kubernetes +- observability +- tsdb +- metrics +- metricsql +- timeseries +kubeVersion: '>=1.23.0-0' +name: victoria-metrics-common +sources: +- https://github.com/VictoriaMetrics/helm-charts +type: library +version: 0.3.15 diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/README.md b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/README.md new file mode 100644 index 00000000..c8ee7051 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/README.md @@ -0,0 +1,4 @@ +# VictoriaMetrics Common Helm chart + +Chart documentation is available [here](https://docs.victoriametrics.com/helm/victoria-metrics-common/). +Changelog is [here](https://docs.victoriametrics.com/helm/victoria-metrics-common/changelog/). diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/RELEASE_NOTES b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/RELEASE_NOTES new file mode 100644 index 00000000..2d2cf6aa --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/RELEASE_NOTES @@ -0,0 +1,7 @@ +# Release notes for version 0.3.15 + +**Release date:** 02 Jul 2026 + +![Helm: v3](https://img.shields.io/badge/Helm-v3.14%2B-informational?color=informational&logo=helm&link=https%3A%2F%2Fgithub.com%2Fhelm%2Fhelm%2Freleases%2Ftag%2Fv3.14.0) + +- added `vm.openshift.serviceCA.volume` and `vm.openshift.serviceCA.volumeMount` helpers to conditionally mount the OpenShift service signing CA (`openshift-service-ca.crt` ConfigMap) diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_enterprise.tpl b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_enterprise.tpl new file mode 100644 index 00000000..ffdc750d --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_enterprise.tpl @@ -0,0 +1,87 @@ +{{- define "vm.license.secret.key" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $plain := (($Values.license).secret).key | default ((($Values.global).license).secret).key -}} + {{- $managed := (($Values.license).keyRef).key | default ((($Values.global).license).keyRef).key }} + {{- if $plain -}} + {{- $plain -}} + {{- else if $managed -}} + {{- $managed -}} + {{- end -}} +{{- end -}} + +{{- define "vm.license.secret.name" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $plain := (($Values.license).secret).name | default ((($Values.global).license).secret).name -}} + {{- $managed := (($Values.license).keyRef).name | default ((($Values.global).license).keyRef).name -}} + {{- if $plain -}} + {{- $plain -}} + {{- else if $managed -}} + {{- $managed -}} + {{- end -}} +{{- end -}} + +{{- define "vm.license.key" -}} + {{- $Values := (.helm).Values | default .Values }} + {{- ($Values.license).key | default (($Values.global).license).key | default "" -}} +{{- end -}} + +{{- define "vm.enterprise.disabled" -}} + {{- $licenseKey := (include "vm.license.key" .) -}} + {{- $licenseSecretKey := (include "vm.license.secret.key" .) -}} + {{- $licenseSecretName := (include "vm.license.secret.name" .) -}} + {{- or .noEnterprise (and (empty $licenseKey) (and (empty $licenseSecretName) (empty $licenseSecretKey))) -}} +{{- end -}} + +{{- define "vm.enterprise.only" -}} + {{- if eq (include "vm.enterprise.disabled" .) "true" }} + {{ fail `Pass valid license at .Values.license or .Values.global.license if you have an enterprise license for running this software. + See https://victoriametrics.com/legal/esa/ for details. + Documentation - https://docs.victoriametrics.com/victoriametrics/enterprise/ + for more information, visit https://victoriametrics.com/products/enterprise/ + To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/` }} + {{- end -}} +{{- end -}} + +{{/* +Return license volume mount +*/}} +{{- define "vm.license.volume" -}} + {{- $licenseSecretKey := (include "vm.license.secret.key" .) -}} + {{- $licenseSecretName := (include "vm.license.secret.name" .) -}} + {{- if and $licenseSecretName $licenseSecretKey -}} +- name: license-key + secret: + secretName: {{ $licenseSecretName }} + {{- end -}} +{{- end -}} + +{{/* +Return license volume mount for container +*/}} +{{- define "vm.license.mount" -}} + {{- $licenseSecretKey := (include "vm.license.secret.key" .) -}} + {{- $licenseSecretName := (include "vm.license.secret.name" .) -}} + {{- if and $licenseSecretName $licenseSecretKey -}} +- name: license-key + mountPath: /etc/vm-license-key + readOnly: true + {{- end -}} +{{- end -}} + +{{/* +Return license flag if necessary. +*/}} +{{- define "vm.license.flag" -}} + {{- $licenseKey := (include "vm.license.key" .) -}} + {{- $licenseSecretKey := (include "vm.license.secret.key" .) -}} + {{- $licenseSecretName := (include "vm.license.secret.name" .) -}} + {{- if $licenseKey -}} + license: {{ $licenseKey }} + {{- else if and $licenseSecretName $licenseSecretKey -}} + {{- $flagName := "licenseFile" -}} + {{- if eq .flagStyle "kebab" }} + {{- $flagName = "license-file" -}} + {{- end -}} + {{- $flagName }}: /etc/vm-license-key/{{ $licenseSecretKey }} + {{- end -}} +{{- end -}} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_helpers.tpl b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_helpers.tpl new file mode 100644 index 00000000..13f58247 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_helpers.tpl @@ -0,0 +1,320 @@ +{{- define "vm.namespace" -}} + {{- include "vm.validate.args" . -}} + {{- $Release := (.helm).Release | default .Release -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $Values.namespaceOverride | default ($Values.global).namespaceOverride | default $Release.Namespace -}} +{{- end -}} + +{{- define "vm.validate.args" -}} + {{- $Chart := (.helm).Chart | default .Chart -}} + {{- $Capabilities := (.helm).Capabilities | default .Capabilities -}} + {{- if semverCompare "<3.14.0" $Capabilities.HelmVersion.Version }} + {{- fail "This chart requires helm version 3.14.0 or higher" }} + {{- end }} + {{- if empty $Chart -}} + {{- fail "invalid template data" -}} + {{- end -}} +{{- end -}} + +{{- /* Expand the name of the chart. */ -}} +{{- define "vm.name" -}} + {{- include "vm.validate.args" . -}} + {{- $Chart := (.helm).Chart | default .Chart -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $nameOverride := $Values.nameOverride | default ($Values.global).nameOverride | default $Chart.Name -}} + {{- if or ($Values.global).disableNameTruncation $Values.disableNameTruncation -}} + {{- $nameOverride -}} + {{- else -}} + {{- $nameOverride | trunc 63 | trimSuffix "-" -}} + {{- end -}} +{{- end -}} + +{{- /* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/ -}} +{{- define "vm.fullname" -}} + {{- include "vm.validate.args" . -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $Chart := (.helm).Chart | default .Chart -}} + {{- $Release := (.helm).Release | default .Release -}} + {{- $fullname := "" -}} + {{- if $Values.fullnameOverride -}} + {{- $fullname = $Values.fullnameOverride -}} + {{- else if ($Values.global).fullnameOverride -}} + {{- $fullname = $Values.global.fullnameOverride -}} + {{- else -}} + {{- $name := default $Chart.Name $Values.nameOverride -}} + {{- if contains $name $Release.Name -}} + {{- $fullname = $Release.Name -}} + {{- else -}} + {{- $fullname = (printf "%s-%s" $Release.Name $name) }} + {{- end -}} + {{- end -}} + {{- $fullname = tpl $fullname . -}} + {{- if or ($Values.global).disableNameTruncation $Values.disableNameTruncation -}} + {{- $fullname -}} + {{- else -}} + {{- $fullname | trunc 63 | trimSuffix "-" -}} + {{- end -}} +{{- end }} + +{{- define "vm.cr.fullname" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $_ := set . "overrideKey" "name" -}} + {{- $fullname := include "vm.internal.key" . -}} + {{- $_ := unset . "overrideKey" -}} + {{- if empty $fullname -}} + {{- $fullname = include "vm.fullname" . -}} + {{- end -}} + {{- $fullname = tpl $fullname . -}} + {{- if or ($Values.global).disableNameTruncation $Values.disableNameTruncation -}} + {{- $fullname -}} + {{- else -}} + {{- $fullname | trunc 63 | trimSuffix "-" -}} + {{- end -}} +{{- end -}} + +{{- define "vm.managed.fullname" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $_ := set . "overrideKey" "name" -}} + {{- $fullname := include "vm.internal.key" . -}} + {{- $_ := unset . "overrideKey" -}} + {{- if empty $fullname -}} + {{- $fullname = include "vm.fullname" . -}} + {{- end -}} + {{- $isLegacy := eq (include "vm.useLegacyNaming" .) "true" -}} + {{- with include "vm.internal.key.default" . -}} + {{- $prefix := ternary . (printf "vm%s" .) (or (hasPrefix "vm" .) (hasPrefix "vl" .) (hasPrefix "vt" .)) -}} + {{- if $isLegacy -}} + {{- $fullname = printf "%s-%s" $fullname $prefix -}} + {{- else -}} + {{- $fullname = printf "%s-%s" $prefix $fullname -}} + {{- end -}} + {{- end -}} + {{- $fullname = tpl $fullname . -}} + {{- if or ($Values.global).disableNameTruncation $Values.disableNameTruncation -}} + {{- $fullname -}} + {{- else -}} + {{- $fullname | trunc 63 | trimSuffix "-" -}} + {{- end -}} +{{- end -}} + +{{- /* +vm.operator.kind returns the operator resource-name prefix for the current +component (e.g. "vlsingle", "vminsert", "vmalertmanager"). +Rules (checked in order): + 1. appKey already has vm/vl/vt prefix → use as-is (cluster components) + 2. empty appKey or "server" → derive from chart name + 3. other named sub-component → chart prefix + appKey +*/ -}} +{{- define "vm.operator.kind" -}} + {{- $appKey := include "vm.internal.key.default" . -}} + {{- $Chart := (.helm).Chart | default .Chart -}} + {{- $p := "vm" -}} + {{- if hasPrefix "victoria-logs" $Chart.Name -}}{{- $p = "vl" -}}{{- end -}} + {{- if hasPrefix "victoria-traces" $Chart.Name -}}{{- $p = "vt" -}}{{- end -}} + {{- if or (hasPrefix "vm" $appKey) (hasPrefix "vl" $appKey) (hasPrefix "vt" $appKey) -}} + {{- $appKey -}} + {{- else if or (empty $appKey) (eq $appKey "server") -}} + {{- printf "%s%s" $p (regexReplaceAll "^victoria-(metrics|logs|traces)-" $Chart.Name "") -}} + {{- else -}} + {{- printf "%s%s" $p $appKey -}} + {{- end -}} +{{- end -}} + +{{- /* +vm.useLegacyNaming resolves the effective useLegacyNaming setting for the current context. +It traverses the appKey path in Values so that per-component settings (e.g. +.Values.vmsingle.spec.useLegacyNaming) take precedence over the chart-level +.Values.useLegacyNaming. +Returns "true", "false", or "" (not set at any level). +*/ -}} +{{- define "vm.useLegacyNaming" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $result := "" -}} + {{- if hasKey $Values "useLegacyNaming" -}} + {{- $result = ternary "true" "false" $Values.useLegacyNaming -}} + {{- end -}} + {{- $appKey := list -}} + {{- if .appKey -}} + {{- $appKey = ternary (list .appKey) .appKey (kindIs "string" .appKey) -}} + {{- end -}} + {{- $values := $Values -}} + {{- range $ak := $appKey -}} + {{- if kindIs "map" $values -}} + {{- $values = index $values $ak | default dict -}} + {{- if and (kindIs "map" $values) (hasKey $values "useLegacyNaming") -}} + {{- $result = ternary "true" "false" (index $values "useLegacyNaming") -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- $result -}} +{{- end -}} + +{{- define "vm.plain.fullname" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $_ := set . "overrideKey" "fullnameOverride" -}} + {{- $fullname := include "vm.internal.key" . -}} + {{- $_ := unset . "overrideKey" -}} + {{- if empty $fullname -}} + {{- if eq (include "vm.useLegacyNaming" .) "false" -}} + {{- $release := ((.helm).Release | default .Release).Name -}} + {{- $fullname = printf "%s-%s" (include "vm.operator.kind" .) $release -}} + {{- else -}} + {{- $fullname = include "vm.fullname" . -}} + {{- with include "vm.internal.key.default" . -}} + {{- $fullname = printf "%s-%s" $fullname . -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- $fullname = tpl $fullname . -}} + {{- if or ($Values.global).disableNameTruncation $Values.disableNameTruncation -}} + {{- $fullname -}} + {{- else -}} + {{- $fullname | trunc 63 | trimSuffix "-" -}} + {{- end -}} +{{- end -}} + +{{- define "vm.internal.key" -}} + {{- include "vm.validate.args" . -}} + {{- $overrideKey := .overrideKey | default "fullnameOverride" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $key := "" -}} + {{- if .appKey -}} + {{- $appKey := ternary (list .appKey) .appKey (kindIs "string" .appKey) -}} + {{- $ctx := . -}} + {{- $values := $Values -}} + {{- range $ak := $appKey }} + {{- $values = ternary (dict) (index $values $ak | default dict) (empty $values) -}} + {{- $ctx = ternary (dict) (index $ctx $ak | default dict) (empty $ctx) -}} + {{- if and (empty $values) (empty $ctx) -}} + {{- fail (printf "No data for appKey %s" (join "->" $appKey)) -}} + {{- end -}} + {{- if and (kindIs "map" $values) (index $values $overrideKey) -}} + {{- $key = index $values $overrideKey -}} + {{- else if and (kindIs "map" $ctx) (index $ctx $overrideKey) -}} + {{- $key = index $ctx $overrideKey -}} + {{- end -}} + {{- end }} + {{- if and (empty $key) .fallback -}} + {{- $key = include "vm.internal.key.default" . -}} + {{- end -}} + {{- end -}} + {{- $key -}} +{{- end -}} + +{{- define "vm.internal.key.default" -}} + {{- with .appKey -}} + {{- $key := ternary (list .) . (kindIs "string" .) -}} + {{- last (without $key "spec") -}} + {{- end -}} +{{- end -}} + +{{- /* Create chart name and version as used by the chart label. */ -}} +{{- define "vm.chart" -}} + {{- include "vm.validate.args" . -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $Chart := (.helm).Chart | default .Chart -}} + {{- $chart := printf "%s-%s" $Chart.Name $Chart.Version | replace "+" "_" -}} + {{- if or ($Values.global).disableNameTruncation $Values.disableNameTruncation -}} + {{- $chart -}} + {{- else -}} + {{- $chart | trunc 63 | trimSuffix "-" -}} + {{- end }} +{{- end }} + +{{- define "vm.metaLabels" -}} + {{- include "vm.validate.args" . -}} + {{- $Release := (.helm).Release | default .Release -}} + {{- $labels := .extraLabels | default dict -}} + {{- $_ := set $labels "helm.sh/chart" (include "vm.chart" .) -}} + {{- $_ := set $labels "app.kubernetes.io/managed-by" $Release.Service -}} + {{- toYaml $labels -}} +{{- end -}} + +{{- define "vm.podLabels" -}} + {{- include "vm.validate.args" . -}} + {{- $Release := (.helm).Release | default .Release -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $globalLabels := deepCopy (($Values.global).extraLabels | default dict) -}} + {{- $labels := fromYaml (include "vm.selectorLabels" .) -}} + {{- with $labels.app -}} + {{- $_ := set $labels "app.kubernetes.io/component" . -}} + {{- end -}} + {{- $labels = mergeOverwrite $globalLabels $labels (.extraLabels | default dict) -}} + {{- $_ := set $labels "app.kubernetes.io/managed-by" $Release.Service -}} + {{- toYaml $labels -}} +{{- end -}} + +{{- define "vm.annotations" -}} + {{- include "vm.validate.args" . -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $globalAnnotations := deepCopy (($Values.global).extraAnnotations | default dict) -}} + {{- $annotations := mergeOverwrite $globalAnnotations (.extraAnnotations | default dict) -}} + {{- if $annotations -}} + {{- toYaml $annotations -}} + {{- end -}} +{{- end -}} + +{{- define "vm.keyValue" -}} + {{- $pairs := list -}} + {{- range $k, $v := . -}} + {{- $pairs = append $pairs (printf "%s=%s" $k $v) -}} + {{- end -}} + {{- join "," ($pairs | sortAlpha) -}} +{{- end -}} + +{{- /* Common labels */ -}} +{{- define "vm.labels" -}} + {{- include "vm.validate.args" . -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $globalLabels := deepCopy (($Values.global).extraLabels | default dict) -}} + {{- $labels := fromYaml (include "vm.commonLabels" .) -}} + {{- $labels = mergeOverwrite $globalLabels $labels (fromYaml (include "vm.metaLabels" .)) -}} + {{- with (include "vm.image.tag" .) }} + {{- $_ := set $labels "app.kubernetes.io/version" (regexReplaceAll "(.*)(@sha.*)" . "${1}") -}} + {{- end -}} + {{- toYaml $labels -}} +{{- end -}} + +{{- define "vm.release" -}} + {{- include "vm.validate.args" . -}} + {{- $Release := (.helm).Release | default .Release -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $release := default $Release.Name $Values.argocdReleaseOverride -}} + {{- if or ($Values.global).disableNameTruncation $Values.disableNameTruncation -}} + {{- $release -}} + {{- else -}} + {{- $release | trunc 63 | trimSuffix "-" -}} + {{- end -}} +{{- end -}} + +{{- define "vm.app.name" -}} + {{- $_ := set . "overrideKey" "name" -}} + {{- $_ := set . "fallback" true -}} + {{- tpl (include "vm.internal.key" .) . -}} + {{- $_ := unset . "overrideKey" -}} + {{- $_ := unset . "fallback" -}} +{{- end -}} + +{{- /* Selector labels */ -}} +{{- define "vm.selectorLabels" -}} + {{- $labels := .extraLabels | default dict -}} + {{- $_ := set $labels "app.kubernetes.io/name" (include "vm.name" .) -}} + {{- $_ := set $labels "app.kubernetes.io/instance" (include "vm.release" .) -}} + {{- with (include "vm.app.name" .) -}} + {{- $_ := set $labels "app" . -}} + {{- end -}} + {{- toYaml $labels -}} +{{- end }} + +{{- define "vm.commonLabels" -}} + {{- $labels := fromYaml (include "vm.selectorLabels" . ) -}} + {{- with $labels.app -}} + {{- $_ := set $labels "app.kubernetes.io/component" . -}} + {{- $_ := unset $labels "app" -}} + {{- end -}} + {{- toYaml $labels -}} +{{- end -}} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_image.tpl b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_image.tpl new file mode 100644 index 00000000..66d019e3 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_image.tpl @@ -0,0 +1,61 @@ +{{/* +Victoria Metrics Image +*/}} +{{- define "vm.image" -}} + {{- $image := (fromYaml (include "vm.internal.image" .)).image | default dict -}} + {{- $tag := include "vm.image.tag" . -}} + {{- if empty $image.repository -}} + {{- fail "cannot create image without `.repository` defined" -}} + {{- end -}} + {{- $result := tpl (printf "%s:%s" $image.repository $tag) . -}} + {{- with $image.registry | default "" -}} + {{- $result = (printf "%s/%s" . $result) -}} + {{- end -}} + {{- $result -}} +{{- end -}} + +{{- define "vm.image.tag" -}} + {{- $Chart := (.helm).Chart | default .Chart -}} + {{- $image := (fromYaml (include "vm.internal.image" .)).image | default dict -}} + {{- $tag := $image.tag -}} + {{- if empty $tag }} + {{- $tag = $Chart.AppVersion -}} + {{- $variant := $image.variant }} + {{- if eq (include "vm.enterprise.disabled" .) "false" -}} + {{- if $variant }} + {{- $variant = printf "enterprise-%s" $variant }} + {{- else }} + {{- $variant = "enterprise" }} + {{- end }} + {{- end -}} + {{- with $variant -}} + {{- $tag = (printf "%s-%s" $tag .) -}} + {{- end -}} + {{- end -}} + {{- $tag -}} +{{- end -}} + +{{- define "vm.internal.image" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $values := $Values -}} + {{- $ctx := . -}} + {{- with .appKey -}} + {{- $appKey := ternary (list .) . (kindIs "string" .) -}} + {{- range $ak := $appKey -}} + {{- $values = ternary (dict) (index $values $ak | default dict) (empty $values) -}} + {{- $ctx = ternary (dict) (index $ctx $ak | default dict) (empty $ctx) -}} + {{- if and (empty $values) (empty $ctx) -}} + {{- fail (printf "No data for appKey %s" (join "->" $appKey)) -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- $image := ternary (deepCopy ($ctx.image | default dict)) (deepCopy ($values.image | default dict)) (hasKey $ctx "image") -}} + {{- if not $image.registry }} + {{- if (($Values.global).image).registry -}} + {{- $_ := set $image "registry" (($Values.global).image).registry -}} + {{- else if hasKey $image "registry" -}} + {{- $_ := unset $image "registry" -}} + {{- end -}} + {{- end -}} + {{- toYaml (dict "image" $image) -}} +{{- end -}} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_ingress.tpl b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_ingress.tpl new file mode 100644 index 00000000..33904d86 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_ingress.tpl @@ -0,0 +1,8 @@ +{{- define "vm.ingress.port" }} + {{- $port := dict "name" "http" }} + {{- with .port }} + {{- $numberTypes := list "int" "float64" }} + {{- $port = dict (ternary "number" "name" (has (kindOf .) $numberTypes)) . }} + {{- end -}} + {{- toYaml $port -}} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_pod.tpl b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_pod.tpl new file mode 100644 index 00000000..c7faacee --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_pod.tpl @@ -0,0 +1,140 @@ +{{- define "vm.port.from.flag" -}} + {{- $port := .default -}} + {{- with .flag -}} + {{- $port = regexReplaceAll ".*:(\\d+)" . "${1}" -}} + {{- end -}} + {{- $port -}} +{{- end }} + +{{- /* +Return true if the detected platform is Openshift +Usage: +{{- include "vm.isOpenshift" . -}} +*/ -}} +{{- define "vm.isOpenshift" -}} + {{- $Capabilities := (.helm).Capabilities | default .Capabilities -}} + {{- if $Capabilities.APIVersions.Has "security.openshift.io/v1" -}} + {{- true -}} + {{- end -}} +{{- end -}} + +{{- /* +Render a compatible securityContext depending on the platform. +Usage: +{{- include "vm.securityContext" (dict "securityContext" .Values.containerSecurityContext "helm" .) -}} +*/ -}} +{{- define "vm.securityContext" -}} + {{- $securityContext := omit .securityContext "enabled" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $adaptMode := (((($Values).global).compatibility).openshift).adaptSecurityContext | default "" -}} + {{- if or (eq $adaptMode "force") (and (eq $adaptMode "auto") (include "vm.isOpenshift" .)) -}} + {{- $securityContext = omit $securityContext "fsGroup" "runAsUser" "runAsGroup" "seLinuxOptions" -}} + {{- end -}} + {{- toYaml $securityContext -}} +{{- end -}} + +{{- /* +Render probe +*/ -}} +{{- define "vm.probe" -}} + {{- /* undefined value */ -}} + {{- $null := (fromYaml "value: null").value -}} + {{- $probe := dig .type (dict) (.app.probe | default dict) -}} + {{- /* port name from primary http item */ -}} + {{- $port := "http" -}} + {{- range (.app).http -}} + {{- if .primary -}} + {{- $port = .name -}} + {{- end -}} + {{- end -}} + {{- $isSecure := false -}} + {{- if and (.app).http (empty ((.app).extraArgs | default dict).httpListenAddr) -}} + {{- range (.app).http -}} + {{- if and .primary .tls -}} + {{- $isSecure = true -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- if not $isSecure -}} + {{- with ((.app).extraArgs).tls -}} + {{- $isSecure = eq (toString .) "true" -}} + {{- end -}} + {{- end -}} + {{- $probeType := "" -}} + {{- $defaultProbe := dict -}} + {{- if ne (dig "httpGet" $null $probe) $null -}} + {{- $httpGetConfig := dig "httpGet" (dict) $probe -}} + {{- if and $isSecure (empty $httpGetConfig) -}} + {{- /* TLS with default (empty) httpGet: use tcpSocket instead */ -}} + {{- $defaultProbe = dict "port" $port -}} + {{- $probeType = "tcpSocket" -}} + {{- else -}} + {{- $path := index ((.app).extraArgs | default dict) "http.pathPrefix" | default "" | trimSuffix "/" -}} + {{- $defaultProbe = dict "path" (printf "%s/health" $path) "scheme" "HTTP" "port" $port -}} + {{- $probeType = "httpGet" -}} + {{- end -}} + {{- else if ne (dig "tcpSocket" $null $probe) $null -}} + {{- /* tcpSocket probe */ -}} + {{- $defaultProbe = dict "port" $port -}} + {{- $probeType = "tcpSocket" -}} + {{- end -}} + {{- $defaultProbe = ternary (dict) (dict $probeType $defaultProbe) (empty $probeType) -}} + {{- $probe = mergeOverwrite $defaultProbe $probe -}} + {{- range $key, $value := $probe -}} + {{- if and (ne $key $probeType) (has (kindOf $value) (list "invalid" "object" "map")) -}} + {{- $_ := unset $probe $key -}} + {{- end -}} + {{- end -}} + {{- tpl (toYaml $probe) . -}} +{{- end -}} + +{{- define "vm.openshift.serviceCA.volume" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $mode := (((($Values).global).compatibility).openshift).automountServiceSigningCA | default "auto" -}} + {{- if or (eq $mode "force") (and (eq $mode "auto") (include "vm.isOpenshift" .)) -}} +- name: openshift-service-ca + configMap: + name: openshift-service-ca.crt + optional: true + {{- end -}} +{{- end -}} + +{{- define "vm.openshift.serviceCA.volumeMount" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $mode := (((($Values).global).compatibility).openshift).automountServiceSigningCA | default "auto" -}} + {{- if or (eq $mode "force") (and (eq $mode "auto") (include "vm.isOpenshift" .)) -}} +- name: openshift-service-ca + mountPath: /etc/ssl/certs/openshift-service-ca + readOnly: true + {{- end -}} +{{- end -}} + +{{- define "vm.arg" -}} + {{- if and (empty .value) (kindIs "string" .value) (ne (toString .list) "true") }} + {{- .key -}} + {{- else if eq (toString .value) "true" -}} + -{{ ternary "" "-" (eq (len .key) 1) }}{{ .key }} + {{- else -}} + -{{ ternary "" "-" (eq (len .key) 1) }}{{ .key }}={{ ternary (toJson .value | squote) .value (has (kindOf .value) (list "map" "slice")) }} + {{- end -}} +{{- end -}} + +{{- /* +command line arguments +*/ -}} +{{- define "vm.args" -}} + {{- $args := list -}} + {{- range $key, $value := . -}} + {{- if not $key -}} + {{- fail "Empty key in command line args is not allowed" -}} + {{- end -}} + {{- if kindIs "slice" $value -}} + {{- range $v := $value -}} + {{- $args = append $args (include "vm.arg" (dict "key" $key "value" $v "list" true)) -}} + {{- end -}} + {{- else -}} + {{- $args = append $args (include "vm.arg" (dict "key" $key "value" $value)) -}} + {{- end -}} + {{- end -}} + {{- toYaml (dict "args" $args) -}} +{{- end -}} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_service.tpl b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_service.tpl new file mode 100644 index 00000000..1829e50f --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_service.tpl @@ -0,0 +1,177 @@ +{{- define "vm.fqdn" -}} + {{- include "vm.validate.args" . -}} + {{- $nameTpl := "" -}} + {{- if eq .style "managed" -}} + {{- $nameTpl = "vm.managed.fullname" -}} + {{- else if eq .style "plain" -}} + {{- $nameTpl = "vm.plain.fullname" -}} + {{- else -}} + {{- fail ".style argument should be either `plain` or `managed`" -}} + {{- end -}} + {{- $name := (include $nameTpl .) -}} + {{- if hasKey . "appIdx" -}} + {{- $name = (printf "%s-%d.%s" $name .appIdx $name) -}} + {{- end -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $ns := (include "vm.namespace" .) -}} + {{- $fqdn := printf "%s.%s.svc" $name $ns -}} + {{- with (($Values.global).cluster).dnsDomain -}} + {{- $fqdn = printf "%s.%s" $fqdn . -}} + {{- end -}} + {{- $fqdn -}} +{{- end -}} + +{{- define "vm.addr.primary" -}} + {{- $addr := "" -}} + {{- range $i, $hl := . -}} + {{- if not $hl.value -}} + {{- fail (printf "`value` is not set for `http` idx %d" $i) -}} + {{- end -}} + {{- if $hl.primary -}} + {{- if $addr -}} + {{- fail "found more than one primary address, which is not allowed" -}} + {{- end -}} + {{- $addr = $hl.value -}} + {{- end -}} + {{- end -}} + {{- $addr -}} +{{- end -}} + +{{- define "vm.args.positional" -}} + {{- $args := dict -}} + {{- $boolKeys := dict -}} + {{- $n := 0 -}} + {{- range $i, $item := . -}} + {{- $n = add $i 1 -}} + {{- range $k, $v := $item -}} + {{- if kindIs "bool" $v -}} + {{- $_ := set $boolKeys $k true -}} + {{- end -}} + {{- $param := index $args $k | default list -}} + {{- if or $v (kindIs "bool" $v) -}} + {{- $gapFill := ternary false "" ((index $boolKeys $k) | default false) -}} + {{- range until (int (sub $i (len $param))) }} + {{- $param = append $param $gapFill }} + {{- end }} + {{- $param = append $param $v }} + {{- $_ := set $args $k $param -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- range $k := keys $boolKeys -}} + {{- $v := index $args $k | default list -}} + {{- range until (int (sub $n (len $v))) }} + {{- $v = append $v false }} + {{- end }} + {{- $_ := set $args $k $v -}} + {{- end -}} + {{- $dropKeys := list -}} + {{- range $k, $v := $args -}} + {{- $hasValue := false -}} + {{- range $v -}} + {{- if . -}} + {{- $hasValue = true -}} + {{- end -}} + {{- end -}} + {{- if not $hasValue -}} + {{- $dropKeys = append $dropKeys $k -}} + {{- end -}} + {{- end -}} + {{- range $k := $dropKeys -}} + {{- $_ := unset $args $k -}} + {{- end -}} + {{- toYaml $args -}} +{{- end -}} + +{{- define "vm.http.args" -}} + {{- $hasPrimary := false -}} + {{- $items := list -}} + {{- range $i, $hl := . -}} + {{- if not $hl.value -}} + {{- fail (printf "`value` is not set for `http` idx %d" $i) -}} + {{- end -}} + {{- if not $hl.name -}} + {{- fail (printf "`name` is not set for `http` idx %d" $i) -}} + {{- end -}} + {{- if $hl.primary -}} + {{- $hasPrimary = true -}} + {{- end -}} + {{- $item := omit $hl "name" "primary" -}} + {{- $_ := set $item "httpListenAddr" (index $item "value") -}} + {{- $item = omit $item "value" -}} + {{- $items = append $items $item -}} + {{- end -}} + {{- if not $hasPrimary -}} + {{- fail "at least one item in `http` must have `primary: true`" -}} + {{- end -}} + {{- include "vm.args.positional" $items -}} +{{- end -}} + +{{- define "vl.syslog.args" -}} + {{- $args := dict -}} + {{- range $kind, $sls := . -}} + {{- $items := list -}} + {{- range $i, $sl := $sls -}} + {{- if not $sl.value -}} + {{- fail (printf "`value` is not set for `syslog.%s` idx %d" $kind $i) -}} + {{- end -}} + {{- $item := dict -}} + {{- range $k, $v := (omit $sl "name") -}} + {{- if eq $k "value" -}} + {{- $_ := set $item (printf "syslog.listenAddr.%s" $kind) $v -}} + {{- else if hasPrefix "tls" $k -}} + {{- $_ := set $item (printf "syslog.%s" $k) $v -}} + {{- else -}} + {{- $_ := set $item (printf "syslog.%s.%s" $k $kind) $v -}} + {{- end -}} + {{- end -}} + {{- $items = append $items $item -}} + {{- end -}} + {{- $args = mergeOverwrite $args (fromYaml (include "vm.args.positional" $items)) -}} + {{- end -}} + {{- toYaml $args -}} +{{- end -}} + +{{- define "vm.url" -}} + {{- $Values := (.helm).Values | default .Values -}} + {{- $fqdn := (include "vm.fqdn" .) -}} + {{- $proto := "http" -}} + {{- $path := .appRoute | default "/" -}} + {{- $isSecure := ternary false true (empty .appSecure) -}} + {{- $port := 80 -}} + {{- if .appKey -}} + {{- $appKey := ternary (list .appKey) .appKey (kindIs "string" .appKey) -}} + {{- $values := $Values -}} + {{- $ctx := . -}} + {{- range $ak := $appKey -}} + {{- $values = ternary (dict) (index $values $ak | default dict) (empty $values) -}} + {{- $ctx = ternary (dict) (index $ctx $ak | default dict) (empty $ctx) -}} + {{- end -}} + {{- $spec := $values | default $ctx -}} + {{- if and $spec.http (empty ($spec.extraArgs).httpListenAddr) -}} + {{- range $spec.http -}} + {{- if and .primary .tls -}} + {{- $isSecure = true -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- if not $isSecure -}} + {{- with ($spec.extraArgs).tls -}} + {{- $isSecure = eq (toString .) "true" -}} + {{- end -}} + {{- end -}} + {{- $port = (ternary 443 80 $isSecure) -}} + {{- with $spec.http -}} + {{- with (include "vm.addr.primary" .) -}} + {{- $port = include "vm.port.from.flag" (dict "flag" . "default" $port) -}} + {{- end -}} + {{- end -}} + {{- $port = $spec.port | default ($spec.service).servicePort | default ($spec.service).port | default $port -}} + {{- if hasKey . "appIdx" -}} + {{- $port = (include "vm.port.from.flag" (dict "flag" ($spec.extraArgs).httpListenAddr "default" $port)) -}} + {{- end -}} + {{- $proto = (ternary "https" "http" $isSecure) -}} + {{- $path = dig "http.pathPrefix" $path ($spec.extraArgs | default dict) -}} + {{- end -}} + {{- printf "%s://%s:%v%s" $proto $fqdn $port (trimSuffix "/" $path) -}} +{{- end -}} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/values.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/values.yaml new file mode 100644 index 00000000..fb6bffdc --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/values.yaml @@ -0,0 +1 @@ +unitTest: false diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/crd.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/crd.yaml new file mode 100644 index 00000000..ce1e102e --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/crd.yaml @@ -0,0 +1,2378 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlagents.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLAgent + listKind: VLAgentList + plural: vlagents + singular: vlagent + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current number of replicas + jsonPath: .status.replicas + name: Replica Count + type: integer + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - remoteWrite + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + replicas: + format: int32 + type: integer + selector: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.shardCount + statusReplicasPath: .status.shards + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlclusters.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLCluster + listKind: VLClusterList + plural: vlclusters + singular: vlcluster + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: replicas of VLInsert + jsonPath: .spec.vlinsert.replicaCount + name: Insert Count + type: string + - description: replicas of VLStorage + jsonPath: .spec.vlstorage.replicaCount + name: Storage Count + type: string + - description: replicas of VLSelect + jsonPath: .spec.vlselect.replicaCount + name: Select Count + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current status of cluster + jsonPath: .status.updateStatus + name: Status + type: string + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlogs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLogs + listKind: VLogsList + plural: vlogs + singular: vlogs + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of logs instance update process + jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - retentionPeriod + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vlsingles.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VLSingle + listKind: VLSingleList + plural: vlsingles + singular: vlsingle + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of logs instance update process + jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmagents.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAgent + listKind: VMAgentList + plural: vmagents + singular: vmagent + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current number of shards + jsonPath: .status.shards + name: Shards Count + type: integer + - description: current number of replicas + jsonPath: .status.replicas + name: Replica Count + type: integer + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - remoteWrite + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + replicas: + format: int32 + type: integer + selector: + type: string + shards: + format: int32 + type: integer + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.shardCount + statusReplicasPath: .status.shards + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmalertmanagerconfigs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAlertmanagerConfig + listKind: VMAlertmanagerConfigList + plural: vmalertmanagerconfigs + singular: vmalertmanagerconfig + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastErrorParentAlertmanagerName: + type: string + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmalertmanagers.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAlertmanager + listKind: VMAlertmanagerList + plural: vmalertmanagers + shortNames: + - vma + singular: vmalertmanager + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: The desired replicas number of Alertmanagers + jsonPath: .spec.replicaCount + name: ReplicaCount + type: integer + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current update status + jsonPath: .status.updateStatus + name: Update Status + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmalerts.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAlert + listKind: VMAlertList + plural: vmalerts + singular: vmalert + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - description: The desired replicas number of VMAlerts + jsonPath: .spec.replicaCount + name: ReplicaCount + type: integer + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - datasource + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmanomalies.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAnomaly + listKind: VMAnomalyList + plural: vmanomalies + singular: vmanomaly + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current number of shards + jsonPath: .status.shards + name: Shards Count + type: integer + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - reader + - writer + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + shards: + format: int32 + type: integer + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.shardCount + statusReplicasPath: .status.shards + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmanomalyconfigs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAnomalyConfig + listKind: VMAnomalyConfigList + plural: vmanomalyconfigs + singular: vmanomalyconfig + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmauths.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMAuth + listKind: VMAuthList + plural: vmauths + singular: vmauth + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: The desired replicas number of VMAuth + jsonPath: .spec.replicaCount + name: ReplicaCount + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmclusters.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMCluster + listKind: VMClusterList + plural: vmclusters + singular: vmcluster + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: replicas of VMInsert + jsonPath: .spec.vminsert.replicaCount + name: Insert Count + type: string + - description: replicas of VMStorage + jsonPath: .spec.vmstorage.replicaCount + name: Storage Count + type: string + - description: replicas of VMSelect + jsonPath: .spec.vmselect.replicaCount + name: Select Count + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current status of cluster + jsonPath: .status.updateStatus + name: Status + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmdistributed.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMDistributed + listKind: VMDistributedList + plural: vmdistributed + singular: vmdistributed + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: current status of update rollout + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmnodescrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMNodeScrape + listKind: VMNodeScrapeList + plural: vmnodescrapes + singular: vmnodescrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmpodscrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMPodScrape + listKind: VMPodScrapeList + plural: vmpodscrapes + singular: vmpodscrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - podMetricsEndpoints + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmprobes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMProbe + listKind: VMProbeList + plural: vmprobes + singular: vmprobe + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - vmProberSpec + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmrules.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMRule + listKind: VMRuleList + plural: vmrules + singular: vmrule + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - groups + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmscrapeconfigs.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMScrapeConfig + listKind: VMScrapeConfigList + plural: vmscrapeconfigs + singular: vmscrapeconfig + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmservicescrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMServiceScrape + listKind: VMServiceScrapeList + plural: vmservicescrapes + singular: vmservicescrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - endpoints + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmsingles.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMSingle + listKind: VMSingleList + plural: vmsingles + singular: vmsingle + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of single node update process + jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmstaticscrapes.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMStaticScrape + listKind: VMStaticScrapeList + plural: vmstaticscrapes + singular: vmstaticscrape + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - targetEndpoints + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vmusers.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VMUser + listKind: VMUserList + plural: vmusers + singular: vmuser + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.updateStatus + name: Status + type: string + - jsonPath: .status.reason + name: Sync Error + type: string + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + required: + - targetRefs + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vtclusters.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VTCluster + listKind: VTClusterList + plural: vtclusters + singular: vtcluster + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: replicas of VTInsert + jsonPath: .spec.insert.replicaCount + name: Insert Count + type: string + - description: replicas of VTStorage + jsonPath: .spec.storage.replicaCount + name: Storage Count + type: string + - description: replicas of VTSelect + jsonPath: .spec.select.replicaCount + name: Select Count + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Current status of cluster + jsonPath: .status.updateStatus + name: Status + type: string + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: vtsingles.operator.victoriametrics.com +spec: + group: operator.victoriametrics.com + names: + kind: VTSingle + listKind: VTSingleList + plural: vtsingles + singular: vtsingle + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current status of traces instance update process + jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + maxLength: 32768 + type: string + observedGeneration: + format: int64 + minimum: 0 + type: integer + reason: + maxLength: 1024 + minLength: 1 + type: string + status: + enum: + - "True" + - "False" + - Unknown + type: string + type: + maxLength: 316 + type: string + required: + - lastTransitionTime + - lastUpdateTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + lastAppliedSpec: + x-kubernetes-preserve-unknown-fields: true + observedGeneration: + format: int64 + type: integer + reason: + type: string + updateStatus: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/NOTES.txt b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/NOTES.txt new file mode 100644 index 00000000..41f39937 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/NOTES.txt @@ -0,0 +1,5 @@ +{{ include "vm.name" . }} has been installed. Check its status by running: + kubectl --namespace {{ include "vm.namespace" . }} get pods -l "app.kubernetes.io/name={{ include "vm.name" . }}" -l "app.kubernetes.io/instance={{ include "vm.release" . }}" + +Get more information on https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator. +See "Getting started guide for VM Operator" on https://docs.victoriametrics.com/guides/getting-started-with-vm-operator diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/_helpers.tpl b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/_helpers.tpl new file mode 100644 index 00000000..8abc83f6 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/_helpers.tpl @@ -0,0 +1,48 @@ +{{- define "vm-operator.cleanup.annotations" -}} +"helm.sh/hook": pre-delete +"helm.sh/hook-weight": "{{ .hookWeight }}" +"helm.sh/hook-delete-policy": before-hook-creation +{{- end }} + +{{/* +Create unified annotations for vm-operator components +*/}} +{{- define "vm-operator.crds.annotations" -}} +{{- $Release :=(.helm).Release | default .Release -}} +helm.sh/resource-policy: keep +meta.helm.sh/release-namespace: {{ include "vm.namespace" . }} +meta.helm.sh/release-name: {{ $Release.Name }} +{{- end -}} + +{{/* +Generate certificates for webhook +*/}} +{{- define "vm-operator.certs" -}} +{{- $Values := (.helm).Values | default .Values }} +{{- $Release := (.helm).Release | default .Release }} +{{- $webhook := $Values.admissionWebhooks -}} +{{- $tls := $webhook.tls -}} +{{- $fullname := (include "vm.plain.fullname" .) -}} +{{- $secretName := (printf "%s-validation" $fullname) -}} +{{- $secret := lookup "v1" "Secret" (include "vm.namespace" .) $secretName -}} +{{- if (and $tls.caCert $tls.cert $tls.key) -}} +caCert: {{ $tls.caCert | b64enc }} +clientCert: {{ $tls.cert | b64enc }} +clientKey: {{ $tls.key | b64enc }} +{{- else if and $webhook.keepTLSSecret $secret -}} +caCert: {{ index $secret.data "ca.crt" }} +clientCert: {{ index $secret.data "tls.crt" }} +clientKey: {{ index $secret.data "tls.key" }} +{{- else -}} +{{- $altNames := list -}} +{{- $namePrefix := (printf "%s.%s" $fullname (include "vm.namespace" .)) -}} +{{- $altNames = append $altNames $namePrefix -}} +{{- $altNames = append $altNames (printf "%s.svc" $namePrefix) -}} +{{- $altNames = append $altNames (printf "%s.svc.%s" $namePrefix $Values.global.cluster.dnsDomain) -}} +{{- $ca := genCA "vm-operator-ca" 3650 -}} +{{- $cert := genSignedCert $fullname nil $altNames 3650 $ca -}} +caCert: {{ $ca.Cert | b64enc }} +clientCert: {{ $cert.Cert | b64enc }} +clientKey: {{ $cert.Key | b64enc }} +{{- end -}} +{{- end -}} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/cleanup.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/cleanup.yaml new file mode 100644 index 00000000..4776ee99 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/cleanup.yaml @@ -0,0 +1,62 @@ +{{- if .Values.crds.cleanup.enabled }} +{{- $app := .Values.crds.cleanup }} +{{- if empty ($app.image).tag }} + {{- $tag := regexSplit "[+-]" .Capabilities.KubeVersion.Version -1 | first -}} + {{- $_ := set $app.image "tag" $tag }} +{{- else if not (kindIs "string" ($app.image).tag) }} + {{- fail "`crd.cleanup.image.tag` is not string, most probably you need to enquote provided value" -}} +{{- end }} +{{- $ctx := dict "helm" . "noEnterprise" true }} +{{- $fullname := include "vm.plain.fullname" $ctx }} +{{- $ns := include "vm.namespace" $ctx }} +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ $fullname }}-cleanup-hook + namespace: {{ $ns }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + annotations: {{ include "vm-operator.cleanup.annotations" (dict "hookWeight" "-3") | nindent 4 }} +spec: + template: + metadata: + name: {{ $fullname }} + labels: {{ include "vm.labels" $ctx | nindent 8 }} + spec: + serviceAccountName: {{ $fullname }}-cleanup-hook + {{- with (.Values.imagePullSecrets | default .Values.global.imagePullSecrets) }} + imagePullSecrets: {{ toYaml . | nindent 8 }} + {{- end }} + containers: + - name: kubectl + {{- $_ := set $ctx "appKey" (list "crds" "cleanup") }} + image: {{ include "vm.image" $ctx }} + imagePullPolicy: {{ $app.image.pullPolicy }} + resources: {{ toYaml $app.resources | nindent 12 }} + {{- if .Values.securityContext.enabled }} + securityContext: {{ include "vm.securityContext" (dict "securityContext" .Values.securityContext "helm" .) | nindent 12 }} + {{- end }} + {{- $names := list }} + {{- $crds := .Files.Get "crd.yaml" | splitList "---" }} + {{- range $crds }} + {{- $crd := . | fromYaml }} + {{- $names = append $names $crd.spec.names.singular }} + {{- end }} + command: + - kubectl + args: + - delete + - {{ $names | sortAlpha | join "," }} + - --all + - --ignore-not-found=true + restartPolicy: OnFailure + {{- with .Values.nodeSelector }} + nodeSelector: {{ toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: {{ toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: {{ toYaml . | nindent 8 }} + {{- end }} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crb.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crb.yaml new file mode 100644 index 00000000..9bf378ab --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crb.yaml @@ -0,0 +1,41 @@ +{{- $ctx := dict "helm" . }} +{{- $fullname := include "vm.plain.fullname" $ctx }} +{{- $ns := include "vm.namespace" $ctx }} +{{- if .Values.rbac.create }} +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ $fullname }} + {{- $_ := set $ctx "extraLabels" .Values.extraLabels }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + {{- $_ := unset $ctx "extraLabels" }} + {{- with .Values.annotations }} + annotations: {{ toYaml . | nindent 4 }} + {{- end }} +subjects: +- kind: ServiceAccount + name: {{ (.Values.serviceAccount).name | default $fullname }} + namespace: {{ $ns }} +roleRef: + kind: ClusterRole + name: {{ $fullname }} + apiGroup: rbac.authorization.k8s.io +{{- end -}} +{{- if .Values.crds.cleanup.enabled }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ $fullname }}-cleanup-hook + namespace: {{ $ns }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + annotations: {{ include "vm-operator.cleanup.annotations" (dict "hookWeight" "-4") | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ $fullname }}-cleanup-hook +subjects: +- kind: ServiceAccount + name: {{ $fullname }}-cleanup-hook + namespace: {{ $ns }} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crd.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crd.yaml new file mode 100644 index 00000000..d5cb31b6 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crd.yaml @@ -0,0 +1,21 @@ +{{- /* do not update crds here, please update in /victoria-metrics-operator/crd.yaml */ -}} +{{- /* this is used to add "helm.sh/resource-policy: keep" annotation for each crd */ -}} +{{- /* see this pull request https://github.com/VictoriaMetrics/helm-charts/pull/771 for details */ -}} +{{- $ctx := dict "helm" . }} +{{- if and .Values.crds.plain (not .Values.crds.enabled) }} + {{- fail "When CRDs are disabled (`crds.enabled: false`) you need to disable plain CRD rendering (`crds.plain: false`)" -}} +{{- end -}} +{{- if and (not .Values.crds.plain) .Values.crds.enabled }} + {{- $files := .Files }} + {{- $crds := $files.Get "crd.yaml" | splitList "---" }} + {{- $annotations := mergeOverwrite ((include "vm-operator.crds.annotations" .) | fromYaml) .Values.crds.annotations -}} + {{- $extra := dict "metadata" (dict "annotations" $annotations) -}} + {{- range $crds }} + {{- $crd := merge (fromYaml .) $extra }} + {{- range $attrKey, $attrValue := $crd }} + {{- $attrKey }}: {{ toJson $attrValue }} + {{- printf "\n" -}} + {{ end }} + {{- print "\n---\n" }} + {{- end }} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/extra-objects.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/extra-objects.yaml new file mode 100644 index 00000000..f44224d9 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/extra-objects.yaml @@ -0,0 +1,4 @@ +{{ range .Values.extraObjects }} +--- +{{ tpl (ternary . (toYaml .) (typeIs "string" .)) $ }} +{{ end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/monitor.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/monitor.yaml new file mode 100644 index 00000000..02221dbb --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/monitor.yaml @@ -0,0 +1,48 @@ +{{- $monitor := .Values.serviceMonitor }} +{{- if $monitor.enabled -}} +{{- $annotations := mustMerge $monitor.annotations .Values.annotations -}} +{{- $labels := mustMerge $monitor.extraLabels .Values.extraLabels -}} +{{- $ctx := dict "helm" . }} +{{- $fullname := include "vm.plain.fullname" $ctx }} +{{- $ns := include "vm.namespace" $ctx }} +apiVersion: {{ ternary "operator.victoriametrics.com/v1beta1" "monitoring.coreos.com/v1" $monitor.vm }} +kind: {{ ternary "VMServiceScrape" "ServiceMonitor" $monitor.vm }} +metadata: + name: {{ $fullname }} + namespace: {{ $ns }} + {{- $_ := set $ctx "extraLabels" $labels }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + {{- $_ := unset $ctx "extraLabels" }} + {{- with $annotations }} + annotations: {{ toYaml . | nindent 4 }} + {{- end }} +spec: + selector: + matchLabels: {{ include "vm.commonLabels" $ctx | nindent 6 }} + endpoints: + - port: http + {{- with $monitor.scheme }} + scheme: {{ . }} + {{- end }} + {{- with $monitor.interval }} + interval: {{ . }} + {{- end }} + {{- with $monitor.scrapeTimeout }} + scrapeTimeout: {{ . }} + {{- end }} + {{- with $monitor.tlsConfig }} + tlsConfig: {{ toYaml . | nindent 8 }} + {{- end }} + {{- with $monitor.relabelings }} + {{ ternary "relabelConfigs" "relabelings" $monitor.vm }}: {{ toYaml . | nindent 8 }} + {{- end }} + {{- with $monitor.basicAuth }} + basicAuth: {{ toYaml . | nindent 8 }} + {{- end }} + {{- with $monitor.proxyURL }} + {{ ternary "proxyURL" "proxyUrl" $monitor.vm }}: {{ . }} + {{- end }} + namespaceSelector: + matchNames: + - {{ $ns }} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/pdb.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/pdb.yaml new file mode 100644 index 00000000..9ec3c2c2 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/pdb.yaml @@ -0,0 +1,26 @@ +{{- $pdb := .Values.podDisruptionBudget }} +{{- if $pdb.enabled }} +{{- $ctx := dict "helm" . }} +{{- $fullname := include "vm.plain.fullname" $ctx }} +{{- $ns := include "vm.namespace" $ctx }} +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: {{ $fullname }} + namespace: {{ $ns }} + {{- $_ := set $ctx "extraLabels" $pdb.labels }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + {{- $_ := unset $ctx "extraLabels" }} +spec: + {{- with $pdb.minAvailable }} + minAvailable: {{ . }} + {{- end }} + {{- with $pdb.maxUnavailable }} + maxUnavailable: {{ . }} + {{- end }} + {{- with $pdb.unhealthyPodEvictionPolicy }} + unhealthyPodEvictionPolicy: {{ . }} + {{- end }} + selector: + matchLabels: {{ include "vm.selectorLabels" $ctx | nindent 6 }} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/rb.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/rb.yaml new file mode 100644 index 00000000..d31ecae2 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/rb.yaml @@ -0,0 +1,24 @@ +{{- if .Values.rbac.create -}} +{{- $ctx := dict "helm" . }} +{{- $fullname := include "vm.plain.fullname" $ctx }} +{{- $ns := include "vm.namespace" $ctx }} +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ $fullname }} + namespace: {{ $ns }} + {{- $_ := set $ctx "extraLabels" .Values.extraLabels }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + {{- $_ := unset $ctx "extraLabels" }} + {{- with .Values.annotations }} + annotations: {{ toYaml . | nindent 4 }} + {{- end }} +subjects: +- kind: ServiceAccount + name: {{ (.Values.serviceAccount).name | default $fullname }} + namespace: {{ $ns }} +roleRef: + kind: Role + name: {{ $fullname }} + apiGroup: rbac.authorization.k8s.io +{{- end -}} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/role.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/role.yaml new file mode 100644 index 00000000..703c54e8 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/role.yaml @@ -0,0 +1,225 @@ +{{- $rules := dict }} +{{- $crds := .Files.Get "crd.yaml" | splitList "---" }} +{{- $groups := dict }} +{{- range $crds }} + {{- $crd := . | fromYaml }} + {{- $group := $crd.spec.group }} + {{- $plural:= $crd.spec.names.plural }} + {{- $resources := get $groups $group | default (list) }} + {{- $resources = concat $resources (list $plural (printf "%s/finalizers" $plural) (printf "%s/status" $plural)) }} + {{- $groups = set $groups $group $resources }} +{{- end }} + +{{- $verbs := dict "admin" (list "*") "view" (list "get" "list" "watch") }} +{{- range $group, $resources := $groups }} + {{- range $name, $v := $verbs }} + {{- $r := index $rules $name | default list -}} + {{- $r = append $r (dict "apiGroups" (list $group) "resources" $resources "verbs" $v) -}} + {{- $_ := set $rules $name $r }} + {{- end }} +{{- end -}} + +{{- $ctx := dict "helm" . "extraLabels" .Values.extraLabels }} +{{- $fullname := include "vm.plain.fullname" $ctx }} +{{- $ns := include "vm.namespace" $ctx }} + +{{- if .Values.rbac.create }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ $fullname }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + {{- with .Values.annotations }} + annotations: {{ toYaml . | nindent 4 }} + {{- end }} + namespace: {{ $ns }} +rules: +- apiGroups: + - coordination.k8s.io + verbs: + - create + - get + - update + resources: + - leases + +{{- $watchNamespaces := (fromYaml (tpl (toYaml (dict "ns" .Values.watchNamespaces)) .)).ns }} +{{- $selfNamespace := $ns }} +{{- $watchSelfNamespace := (and (eq (len $watchNamespaces) 1) (eq (first $watchNamespaces) $selfNamespace)) }} +{{- if not $watchSelfNamespace }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ $fullname }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + {{- with .Values.annotations }} + annotations: {{ toYaml . | nindent 4 }} + {{- end }} +rules: +- nonResourceURLs: {{ toYaml .Values.allowedMetricsEndpoints | nindent 2 }} + verbs: + - get + - watch + - list +{{- end }} +- apiGroups: + - "" + resources: + - configmaps + - configmaps/finalizers + - endpoints + - events + - persistentvolumeclaims + - persistentvolumeclaims/finalizers + - pods + - pods/eviction + - secrets + - secrets/finalizers + - services + - services/finalizers + - serviceaccounts + - serviceaccounts/finalizers + verbs: + - "*" +- apiGroups: + - "" + resources: + - configmaps/status + - nodes + - nodes/metrics + - namespaces + verbs: + - get + - list + - watch +- apiGroups: + - apps + resources: + - daemonsets + - daemonsets/finalizers + - deployments + - deployments/finalizers + - replicasets + - statefulsets + - statefulsets/finalizers + - statefulsets/status + verbs: + - "*" +- apiGroups: + - monitoring.coreos.com + resources: + - "*" + verbs: + - "*" +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - clusterrolebindings/finalizers + - clusterroles + - clusterroles/finalizers + - roles + - rolebindings + verbs: + - "*" +- apiGroups: + - storage.k8s.io + resources: + - storageclasses + verbs: + - list + - get + - watch +- apiGroups: + - policy + resources: + - poddisruptionbudgets + - poddisruptionbudgets/finalizers + verbs: + - "*" +- apiGroups: + - route.openshift.io + - image.openshift.io + resources: + - routers/metrics + - registry/metrics + verbs: + - get +- apiGroups: + - autoscaling + verbs: + - "*" + resources: + - horizontalpodautoscalers +- apiGroups: + - networking.k8s.io + resources: + - ingresses + - ingresses/finalizers + verbs: + - "*" +- apiGroups: + - gateway.networking.k8s.io + resources: + - httproutes + - httproutes/finalizers + verbs: + - '*' +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - get + - list +- apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - list + - watch + - get +{{- with $rules.admin }} +{{ toYaml . }} +{{- end }} +{{- end }} +{{- if .Values.crds.cleanup.enabled }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ $fullname }}-cleanup-hook + namespace: {{ $ns }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + annotations: {{ include "vm-operator.cleanup.annotations" (dict "hookWeight" "-5") | nindent 4 }} +rules: {{ toYaml $rules.admin | nindent 2 }} +{{- end }} + +{{- if .Values.rbac.aggregatedClusterRoles.enabled }} +{{- /* This template generates readonly and admin cluster roles for */ -}} +{{- /* each CRD present in the helm chart. The clusterroles use the */ -}} +{{- /* kubernetes clusterrole aggregation feature to include these */ -}} +{{- /* cluster roles into the default view and admin roles */ -}} +{{- /* See https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles */}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ $fullname }}-victoriametrics-admin + labels: + {{- include "vm.labels" $ctx | nindent 4 }} + {{- .Values.rbac.aggregatedClusterRoles.labels.admin | toYaml | nindent 4 }} +rules: {{ toYaml ($rules.admin | default list) | nindent 2 }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ $fullname }}-victoriametrics-view + labels: + {{- include "vm.labels" $ctx | nindent 4 }} + {{- .Values.rbac.aggregatedClusterRoles.labels.view | toYaml | nindent 4 }} +rules: {{ toYaml ($rules.view | default list) | nindent 2 }} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/server.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/server.yaml new file mode 100644 index 00000000..fef2a635 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/server.yaml @@ -0,0 +1,215 @@ +{{- $ctx := dict "helm" . "noEnterprise" true }} +{{- $fullname := include "vm.plain.fullname" $ctx }} +{{- $ns := include "vm.namespace" $ctx }} +{{- $env := dict -}} +{{- range .Values.env | default list -}} + {{- $_ := set $env .name .value -}} +{{- end -}} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ $fullname }} + namespace: {{ $ns }} + {{- $_ := set $ctx "extraLabels" .Values.extraLabels }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + {{- $_ := unset $ctx "extraLabels" }} + {{- $_ := set $ctx "extraAnnotations" .Values.annotations }} + {{- with (include "vm.annotations" $ctx) }} + annotations: {{ . | nindent 4 }} + {{- end }} + {{- $_ := unset $ctx "extraAnnotations" }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: {{ include "vm.selectorLabels" $ctx | nindent 6 }} + {{- with .Values.strategy }} + strategy: {{ toYaml . | nindent 4 }} + {{- end }} + template: + metadata: + {{- $_ := set $ctx "extraAnnotations" .Values.annotations }} + {{- with (include "vm.annotations" $ctx) }} + annotations: {{ . | nindent 8 }} + {{- end }} + {{- $_ := unset $ctx "extraAnnotations" }} + {{- $_ := set $ctx "extraLabels" .Values.podLabels }} + labels: {{ include "vm.podLabels" $ctx | nindent 8 }} + {{- $_ := unset $ctx "extraLabels" }} + spec: + automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} + {{- if .Values.podSecurityContext.enabled }} + securityContext: {{ include "vm.securityContext" (dict "securityContext" .Values.podSecurityContext "helm" .) | nindent 8 }} + {{- end }} + {{- if .Values.hostNetwork }} + hostNetwork: true + {{- end }} + {{- if .Values.dnsPolicy }} + dnsPolicy: {{ .Values.dnsPolicy }} + {{- else if .Values.hostNetwork }} + dnsPolicy: ClusterFirstWithHostNet + {{- end }} + {{- if .Values.shareProcessNamespace }} + shareProcessNamespace: true + {{- end }} + {{- if or (.Values.serviceAccount).name (.Values.serviceAccount).create }} + serviceAccountName: {{ (.Values.serviceAccount).name | default $fullname }} + {{- end }} + {{- with (.Values.imagePullSecrets | default .Values.global.imagePullSecrets) }} + imagePullSecrets: {{ toYaml . | nindent 8 }} + {{- end }} + containers: + - name: operator + image: {{ include "vm.image" $ctx }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + {{- with .Values.envFrom }} + envFrom: {{ toYaml . | nindent 12 }} + {{- end }} + env: + {{- range .Values.env }} + - name: {{ .name }} + value: {{ .value | quote }} + {{- end }} + {{- if .Values.watchNamespaces }} + - name: WATCH_NAMESPACE + value: {{ (tpl (.Values.watchNamespaces | join ",") .) | quote }} + {{- end }} + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: {{ .Chart.Name }} + {{- with (((.Values).global).image).registry }} + - name: VM_CONTAINERREGISTRY + value: {{ quote . }} + {{- end -}} + {{- with ((.Values.global).extraLabels) }} + - name: VM_COMMON_LABELS + value: {{ include "vm.keyValue" . | quote }} + {{- end }} + {{- with ((.Values.global).extraAnnotations) }} + - name: VM_COMMON_ANNOTATIONS + value: {{ include "vm.keyValue" . | quote }} + {{- end }} + {{- if not (empty (.Values.configReloader).image) }} + - name: VM_CONFIG_RELOADER_IMAGE + {{- $_ := set $ctx "appKey" (list "configReloader") }} + value: {{ include "vm.image" $ctx }} + {{- $_ := unset $ctx "appKey" }} + {{- end }} + {{- if .Values.operator.prometheus_converter_add_argocd_ignore_annotations }} + - name: VM_PROMETHEUSCONVERTERADDARGOCDIGNOREANNOTATIONS + value: "true" + {{- end }} + - name: VM_ENABLEDPROMETHEUSCONVERTEROWNERREFERENCES + value: {{ .Values.operator.enable_converter_ownership | quote}} + {{- if .Values.operator.openshift_compatibility }} + - name: VM_OPENSHIFT_COMPATIBILITY + value: "true" + {{- end }} + {{- with .Values.command }} + command: {{ toYaml . | nindent 12 }} + {{- end }} + {{- $extraArgs := deepCopy .Values.extraArgs }} + {{- $existing := index $extraArgs "controller.disableReconcileFor" }} + {{- $disableFor := ternary (splitList "," (toString $existing)) ($existing | default list) (kindIs "string" $existing) }} + {{- if .Values.operator.disable_prometheus_converter }} + {{- $disableFor = concat $disableFor (list "PodMonitor" "ServiceMonitor" "PrometheusRule" "Probe" "AlertmanagerConfig" "ScrapeConfig") }} + {{- end }} + {{- $disableFor = $disableFor | compact | uniq }} + {{- if $disableFor }} + {{- $_ := set $extraArgs "controller.disableReconcileFor" ($disableFor | join ",") }} + {{- else }} + {{- $_ := unset $extraArgs "controller.disableReconcileFor" }} + {{- end }} + args: + - --zap-log-level={{ .Values.logLevel }} + - --leader-elect + - --health-probe-bind-address=:8081 + {{- if .Values.admissionWebhooks.enabled }} + - --webhook.enable=true + {{- end }} + {{- range $key, $value := $extraArgs }} + {{- if kindIs "slice" $value }} + {{- range $v := $value }} + - --{{ $key }}={{ $v }} + {{- end }} + {{- else }} + - --{{ $key }}={{ $value }} + {{- end }} + {{- end }} + ports: + - name: http + containerPort: {{ include "vm.port.from.flag" (dict "flag" (index .Values.extraArgs "metrics-bind-address") "default" "8080") }} + protocol: TCP + - name: probe + containerPort: {{ include "vm.port.from.flag" (dict "flag" (index .Values.extraArgs "health-probe-bind-address") "default" "8081") }} + protocol: TCP + - name: webhook + containerPort: {{ include "vm.port.from.flag" (dict "flag" (index .Values.extraArgs "webhook.port") "default" "9443") }} + protocol: TCP + {{- with (fromYaml (include "vm.probe" (dict "app" .Values "type" "readiness"))) }} + readinessProbe: {{ toYaml . | nindent 12 }} + {{- end }} + {{- with (fromYaml (include "vm.probe" (dict "app" .Values "type" "liveness"))) }} + livenessProbe: {{ toYaml . | nindent 12 }} + {{- end }} + {{- with (fromYaml (include "vm.probe" (dict "app" .Values "type" "startup"))) }} + startupProbe: {{ toYaml . | nindent 12 }} + {{- end }} + volumeMounts: + {{- if .Values.admissionWebhooks.enabled }} + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true + {{- end }} + {{- with .Values.extraVolumeMounts }} + {{- toYaml . | nindent 12 }} + {{- end }} + resources: {{ toYaml .Values.resources | nindent 12 }} + {{- if .Values.securityContext.enabled }} + securityContext: {{ include "vm.securityContext" (dict "securityContext" .Values.securityContext "helm" .) | nindent 12 }} + {{- end }} + {{- with.Values.extraContainers }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: {{ toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.priorityClassName }} + priorityClassName: {{ . }} + {{- end }} + {{- with .Values.runtimeClassName }} + runtimeClassName: {{ . }} + {{- end }} + terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} + {{- with .Values.lifecycle }} + lifecycle: {{ toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: {{ toYaml . | nindent 8 }} + {{- end }} + {{- if .Values.topologySpreadConstraints }} + topologySpreadConstraints: + {{- range $constraint := .Values.topologySpreadConstraints }} + - {{ toYaml $constraint | nindent 10 | trim }} + {{- if not $constraint.labelSelector }} + labelSelector: + matchLabels: {{ include "vm.selectorLabels" $ctx | nindent 14 }} + {{- end }} + {{- end }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: {{ toYaml . | nindent 8 }} + {{- end }} + volumes: + {{- if .Values.admissionWebhooks.enabled }} + - name: cert + secret: + defaultMode: 420 + secretName: {{ $fullname }}-validation + {{- end }} + {{- with .Values.extraVolumes }} + {{- toYaml .| nindent 8 }} + {{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/service.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/service.yaml new file mode 100644 index 00000000..86a4a63c --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/service.yaml @@ -0,0 +1,56 @@ +{{- $service := .Values.service }} +{{- $ctx := dict "helm" . }} +{{- $fullname := include "vm.plain.fullname" $ctx }} +{{- $ns := include "vm.namespace" $ctx }} +apiVersion: v1 +kind: Service +metadata: + namespace: {{ $ns }} + {{- with $service.annotations }} + annotations: {{ toYaml . | nindent 4 }} + {{- end }} + {{- $_ := set $ctx "extraLabels" .Values.extraLabels }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + {{- $_ := unset $ctx "extraLabels" }} + name: {{ $fullname }} +spec: + {{- with $service.trafficDistribution }} + trafficDistribution: {{ . }} + {{- end }} + {{- with $service.clusterIP }} + clusterIP: {{ . }} + {{- end }} + {{- with $service.externalIPs }} + externalIPs: {{ toYaml . | nindent 4 }} + {{- end }} + {{- with $service.loadBalancerIP }} + loadBalancerIP: {{ . }} + {{- end }} + {{- with $service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: {{ toYaml . | nindent 4 }} + {{- end }} + type: {{ $service.type }} + {{- with $service.healthCheckNodePort }} + healthCheckNodePort: {{ . }} + {{- end }} + {{- with $service.externalTrafficPolicy }} + externalTrafficPolicy: {{ . }} + {{- end }} + {{- with $service.ipFamilyPolicy }} + ipFamilyPolicy: {{ . }} + {{- end }} + {{- with $service.ipFamilies }} + ipFamilies: {{ toYaml . | nindent 4 }} + {{- end }} + ports: + - name: http + port: {{ $service.servicePort }} + targetPort: http + protocol: TCP + {{- if $service.nodePort }} + nodePort: {{ $service.nodePort }} + {{- end }} + - name: webhook + port: {{ $service.webhookPort }} + targetPort: webhook + selector: {{ include "vm.selectorLabels" $ctx | nindent 4 }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/serviceaccount.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/serviceaccount.yaml new file mode 100644 index 00000000..73daf270 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/serviceaccount.yaml @@ -0,0 +1,27 @@ +{{- $ctx := dict "helm" . }} +{{- $fullname := include "vm.plain.fullname" $ctx }} +{{- $ns := include "vm.namespace" $ctx }} +{{- $sa := .Values.serviceAccount }} +{{- if $sa.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ tpl ($sa.name | default $fullname) $ctx }} + namespace: {{ $ns }} + {{- $_ := set $ctx "extraLabels" .Values.extraLabels }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + {{- with .Values.annotations }} + annotations: {{ toYaml . | nindent 4 }} + {{- end }} +automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} +{{- end }} +{{- if .Values.crds.cleanup.enabled }} +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ $fullname }}-cleanup-hook + namespace: {{ $ns }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} + annotations: {{ include "vm-operator.cleanup.annotations" (dict "hookWeight" "-5") | nindent 4 }} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/webhook.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/webhook.yaml new file mode 100644 index 00000000..240abfce --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/webhook.yaml @@ -0,0 +1,153 @@ +{{- $webhooks := .Values.admissionWebhooks }} +{{- if $webhooks.enabled }} +{{- $ctx := dict "helm" . "extraLabels" .Values.extraLabels }} +{{- $tls := fromYaml (include "vm-operator.certs" $ctx) }} +{{- $fullname := include "vm.plain.fullname" $ctx }} +{{- $domain := ((.Values.global).cluster).dnsDomain }} +{{- $ns := include "vm.namespace" $ctx }} +{{- $certManager := $webhooks.certManager }} +{{- $files := .Files }} +{{- $crds := $files.Get "crd.yaml" | splitList "---" }} +{{- $disabledFor := $webhooks.disabledFor | default list }} +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + name: {{ $fullname }}-admission + {{- if or $certManager.enabled $webhooks.annotations }} + annotations: + {{- if $certManager.enabled }} + certmanager.k8s.io/inject-ca-from: {{ printf "%s/%s-validation" $ns $fullname | quote }} + cert-manager.io/inject-ca-from: {{ printf "%s/%s-validation" $ns $fullname | quote }} + {{- end }} + {{- with $certManager.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- with $webhooks.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- end }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} +webhooks: +{{- range $crds }} +{{- $crd := fromYaml . }} +{{- $name := $crd.spec.names.singular }} +{{- if not (has $name $disabledFor) }} +{{- range $version := $crd.spec.versions }} + - clientConfig: + service: + namespace: {{ $ns }} + name: {{ $fullname }} + path: /validate-operator-victoriametrics-com-{{ $version.name }}-{{ $crd.spec.names.singular }} + port: {{ $.Values.service.webhookPort }} + {{- if not $certManager.enabled }} + caBundle: {{ $tls.caCert }} + {{- end }} + failurePolicy: {{ $webhooks.policy }} + name: '{{ $crd.metadata.name }}' + admissionReviewVersions: + - v1 + sideEffects: None + objectSelector: + matchExpressions: + - key: app.kubernetes.io/name + operator: NotIn + values: [{{ include "vm.name" $ }}] + rules: + - apiGroups: + - {{ $crd.spec.group }} + apiVersions: + - {{ $version.name }} + operations: + - CREATE + - UPDATE + resources: + - {{ $crd.spec.names.plural }} +{{- end }} +{{- end }} +{{- end }} +{{- if $certManager.enabled }} +{{- if not $certManager.issuer }} +--- +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: {{ $fullname }}-root + namespace: {{ $ns }} +spec: + selfSigned: {} +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: {{ $fullname }}-root-ca + namespace: {{ $ns }} +spec: + secretName: {{ $fullname }}-root-ca + duration: {{ $certManager.ca.duration }} + {{- with $certManager.ca.secretTemplate }} + secretTemplate: {{ toYaml . | nindent 4 }} + {{- end }} + {{- with $certManager.ca.subject }} + subject: {{ toYaml . | nindent 4 }} + {{- end }} + issuerRef: + name: {{ $fullname }}-root + commonName: {{ $certManager.ca.commonName }} + isCA: true +--- +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: {{ $fullname }}-issuer + namespace: {{ $ns }} +spec: + ca: + secretName: {{ $fullname }}-root-ca +{{- end }} +--- +# actual cert part for operator +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: {{ $fullname }}-validation + namespace: {{ $ns }} +spec: + secretName: {{ $fullname }}-validation + duration: {{ $certManager.cert.duration }} + {{- with $certManager.cert.secretTemplate }} + secretTemplate: {{ toYaml . | nindent 4 }} + {{- end }} + {{- with $certManager.cert.commonName }} + commonName: {{ . }} + {{- end }} + {{- with $certManager.cert.subject }} + subject: {{ toYaml . | nindent 4 }} + {{- end }} + {{- $issuerRef := $certManager.issuer | default dict }} + {{- if empty $issuerRef }} + {{- $_ := set $issuerRef "name" (printf "%s-issuer" $fullname) }} + {{- end }} + issuerRef: {{ toYaml $issuerRef | nindent 4 }} + dnsNames: + - {{ $fullname }} + - {{ $fullname }}.{{ $ns }} + - {{ $fullname }}.{{ $ns }}.svc + {{- with $domain }} + - {{ $fullname }}.{{ $ns }}.svc.{{ . }} + {{- end }} +{{- else }} +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ $fullname }}-validation + namespace: {{ $ns }} + labels: {{ include "vm.labels" $ctx | nindent 4 }} +type: kubernetes.io/tls +data: + ca.crt: {{ $tls.caCert }} + tls.crt: {{ $tls.clientCert }} + tls.key: {{ $tls.clientKey }} +{{- end -}} +{{- end }} diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/values.yaml b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/values.yaml new file mode 100644 index 00000000..50c1efe6 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/values.yaml @@ -0,0 +1,464 @@ +global: + # -- Image pull secrets, that can be shared across multiple helm charts + imagePullSecrets: [] + image: + # -- Image registry, that can be shared across multiple helm charts + registry: "" + # -- Openshift security context compatibility configuration + compatibility: + openshift: + adaptSecurityContext: "auto" + cluster: + # -- K8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/) + dnsDomain: cluster.local. + # -- Labels added to all resources + extraLabels: {} + # -- Annotations added to all resources + extraAnnotations: {} +# Default values for victoria-metrics. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +# -- operator image configuration +image: + # -- Image registry + registry: "" + # -- Image repository + repository: victoriametrics/operator + # -- Image tag + # override Chart.AppVersion + tag: "" + # Variant of the image to use. + # e.g. scratch + variant: "" + # -- Image pull policy + pullPolicy: IfNotPresent +# -- Override default container command. Use when the VictoriaMetrics binary is available at a custom path +command: [] + +configReloader: + image: {} + # registry: "" + # repository: "" + # tag: "" + +crds: + # -- manages CRD creation. Disables CRD creation only in combination with `crds.plain: false` due to helm dependency conditions limitation + enabled: true + # -- check if plain or templated CRDs should be created. + # with this option set to `false`, all CRDs will be rendered from templates. + # with this option set to `true`, all CRDs are immutable and require manual upgrade. + plain: false + # -- additional CRD annotations, when `.Values.crds.plain: false` + annotations: {} + cleanup: + # -- Tells helm to clean up all the vm resources under this release's namespace when uninstalling + enabled: false + # -- Image configuration for CRD cleanup Job + image: + repository: registry.k8s.io/kubectl + # use image tag that matches k8s API version by default + tag: "" + pullPolicy: IfNotPresent + # -- Cleanup hook resources + resources: + limits: + cpu: "500m" + memory: "256Mi" + requests: + cpu: "100m" + memory: "56Mi" + upgrade: + # -- Enables CRD upgrade job + enabled: false + # -- Adds `--force-conflics` argument to kubectl + forceConflicts: false + busybox: + image: + repository: busybox + tag: latest + pullPolicy: IfNotPresent + kubectl: + image: + repository: registry.k8s.io/kubectl + # use image tag that matches k8s API version by default + tag: "" + pullPolicy: IfNotPresent + + # -- Extra settings for CRD upgrade job + env: [] + + # -- Upgrade job resources. + resources: {} + # limits: + # cpu: 120m + # memory: 320Mi + # requests: + # cpu: 80m + # memory: 120Mi + + # -- Additional upgrade job volumes + extraVolumes: [] + + # -- Additional upgrade job volume mounts + extraVolumeMounts: [] + + # -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) + nodeSelector: {} + + # -- Upgrade job pod affinity + affinity: {} + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: kubernetes.io/e2e-az-name + # operator: In + # values: + # - e2e-az1 + # - e2e-az2 + + # -- Array of upgrade job tolerations object. Spec is [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) + tolerations: [] + # - key: "key" + # operator: "Equal" + # value: "value" + # effect: "NoSchedule" + + # -- Upgrade job Pod Topology Spread Constraints. Spec is [here](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) + topologySpreadConstraints: [] + # - maxSkew: 1 + # topologyKey: topology.kubernetes.io/zone + # whenUnsatisfiable: DoNotSchedule + # labelSelector: + # matchLabels: + # app.kubernetes.io/component: alertmanager + + # -- Labels to add to the upgrade job + labels: {} + + # -- Annotations to add to the upgrade job + annotations: {} + + # -- Labels to add to the upgrade job pod + podLabels: {} + + # -- Annotations to add to the upgrade job pod + podAnnotations: {} + + # -- Service account for upgrade CRD job to use. + serviceAccount: + create: true + name: "" + annotations: {} + labels: {} + automountServiceAccountToken: true + + # -- Container-specific security context configuration. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + + # -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) + podSecurityContext: + enabled: true + fsGroup: 65534 + runAsGroup: 65534 + runAsNonRoot: true + runAsUser: 65534 + seccompProfile: + type: RuntimeDefault + +# -- Number of operator replicas +replicaCount: 1 + +# -- Secret to pull images +imagePullSecrets: [] + +# -- Override chart name +nameOverride: "" + +# -- Overrides the full name of server component resources +fullnameOverride: "" + +# -- VM operator log level. Possible values: info and error. +logLevel: "info" + +allowedMetricsEndpoints: + - /metrics + - /metrics/resources + +rbac: + # -- Specifies whether the RBAC resources should be created + create: true + # -- Create aggregated clusterRoles for CRD readonly and admin permissions + aggregatedClusterRoles: + enabled: true + # -- Labels attached to according clusterRole + labels: + view: + rbac.authorization.k8s.io/aggregate-to-view: "true" + admin: + rbac.authorization.k8s.io/aggregate-to-admin: "true" + +# -- Labels to be added to the all resources +extraLabels: {} +# -- extra Labels for Pods only +podLabels: {} +# -- Annotations to be added to the all resources +annotations: {} + +# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) +podSecurityContext: + enabled: true + fsGroup: 2000 + runAsNonRoot: true + runAsUser: 1000 + +# -- Security context to be added to server pods +securityContext: + enabled: true + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + +operator: + # -- By default, operator converts prometheus-operator objects. + disable_prometheus_converter: false + # -- Compare-options and sync-options for prometheus objects converted by operator for properly use with ArgoCD + prometheus_converter_add_argocd_ignore_annotations: false + # -- Enables ownership reference for converted prometheus-operator objects, + # it will remove corresponding victoria-metrics objects in case of deletion prometheus one. + enable_converter_ownership: false + # -- Enables OpenShift compatibility mode for the operator (supported since v0.73.0). + # When enabled, operator automatically adjusts security contexts and permissions for OpenShift clusters. + openshift_compatibility: false + +# -- By default, the operator will watch all the namespaces +# If you want to override this behavior, specify the namespace. +# Operator supports multiple namespaces for watching. +watchNamespaces: [] + +serviceAccount: + # -- Specifies whether a service account should be created + create: true + # -- The name of the service account to use. If not set and create is true, a name is generated using the fullname template + name: "" + + # -- Whether to automount the service account token. Note that token needs to be mounted manually if this is disabled. + automountServiceAccountToken: true + +service: + # -- Service traffic distribution. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution) + trafficDistribution: "" + # -- Service annotations + annotations: {} + # -- Service labels + labels: {} + # -- Service ClusterIP + clusterIP: "" + # -- Service external IPs. Check [here](https://kubernetes.io/docs/concepts/services-networking/service/#external-ips) for details + externalIPs: "" + # -- Service load balancer IP + loadBalancerIP: "" + # -- Load balancer source range + loadBalancerSourceRanges: [] + # -- Service type + type: ClusterIP + # -- Health check node port for a service. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details + healthCheckNodePort: "" + # -- Service external traffic policy. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details + externalTrafficPolicy: "" + # -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details. + ipFamilyPolicy: "" + # -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details. + ipFamilies: [] + # -- Service port + servicePort: 8080 + # -- Service node port + nodePort: "" + # -- Service webhook port + webhookPort: 9443 + +# -- See `kubectl explain poddisruptionbudget.spec` for more or check [these docs](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) +podDisruptionBudget: + enabled: false + # -- min number or percentage of pods that can be unavailable + minAvailable: 0 + # -- max number or percentage of pods that can be unavailable + maxUnavailable: 0 + # -- Defines criteria when unhealthy pods should be considered for eviction + unhealthyPodEvictionPolicy: + labels: {} + +# -- Graceful pod termination timeout. See [this article](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#hook-handler-execution) for details. +terminationGracePeriodSeconds: 30 + +# -- Operator lifecycle. See [this article](https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/) for details. +lifecycle: {} + +# -- Resource object +resources: + {} + # limits: + # cpu: 120m + # memory: 320Mi + # requests: + # cpu: 80m + # memory: 120Mi + +# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) +nodeSelector: {} + +# -- Deployment strategy, set to standard k8s default +strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + +# -- Name of Priority Class +priorityClassName: "" +# -- Name of the [RuntimeClass](https://kubernetes.io/docs/concepts/containers/runtime-class/) used to run the pod, e.g. "gvisor" +runtimeClassName: "" + +# -- Array of tolerations object. Spec is [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) +tolerations: [] + +# -- Pod affinity +affinity: {} + +# -- Pod Topology Spread Constraints. Spec is [here](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) +topologySpreadConstraints: [] + +# -- Operator container additional commandline arguments +extraArgs: {} + +# -- Extra settings for the operator deployment. Full list [here](https://docs.victoriametrics.com/operator/configuration/#environment-variables) +env: + [] + # - name: VM_VMSINGLEDEFAULT_VERSION + # value: v1.43.0 + +# -- Specify alternative source for env variables +envFrom: + [] + #- configMapRef: + # name: special-config + +# -- Additional hostPath mounts +extraHostPathMounts: + [] + # - name: certs-dir + # mountPath: /etc/kubernetes/certs + # subPath: "" + # hostPath: /etc/kubernetes/certs +# readOnly: true + +# -- Extra Volumes for the pod +extraVolumes: + [] + # - name: example + # configMap: + # name: example + +# -- Extra Volume Mounts for the container +extraVolumeMounts: + [] + # - name: example + # mountPath: /example + +# -- Extra containers to run in a pod with operator +extraContainers: + [] + # - name: config-reloader + # image: reloader-image + +# -- Enable hostNetwork on operator deployment +hostNetwork: false + +# -- DNS policy for operator pod. If not set and hostNetwork is enabled, defaults to ClusterFirstWithHostNet. +# @default -- "" +dnsPolicy: "" + +# -- Enable sharing process Namespace between Containers in a Pod. This only makes sense with extraContainers +shareProcessNamespace: false + +# -- Configures resource validation +admissionWebhooks: + # -- Enables validation webhook. + enabled: true + # -- Annotations for webhook. Can be used to define Helm or ArgoCD annotations. + annotations: {} + # -- List of CRD names to disable validation for + disabledFor: [] + # - vmagent + # - vmsingle + + # -- What to do in case, when operator not available to validate request. + policy: Fail + # -- Enables custom ca bundle, if you are not using cert-manager. In case of custom ca, you have to create secret - {chart-name}-validation with keys: tls.key, tls.crt, ca.crt + certManager: + # -- Enables cert creation and injection by cert-manager. + enabled: false + # --If needed, provide own issuer. Operator will create self-signed if empty. + issuer: {} + # -- Certificate Authority parameters + ca: + secretTemplate: {} + subject: {} + duration: 63800h0m0s + commonName: ca.validation.victoriametrics + # -- Certificate parameters + cert: + secretTemplate: {} + subject: {} + duration: 45800h0m0s + commonName: "" + keepTLSSecret: true + # tls specifies TLS cert/key for the webhook + tls: + caCert: + cert: + key: + +# -- Configures monitoring with serviceScrape using either `VMServiceScrape` or `ServiceMonitor`. For latter [Prometheus Operator CRDs](https://artifacthub.io/packages/helm/prometheus-community/prometheus-operator-crds) should be preinstalled +serviceMonitor: + enabled: false + # -- Creates `VMServiceScrape` if `true` and `ServiceMonitor` otherwise. Make sure [Prometheus Operator CRDs](https://artifacthub.io/packages/helm/prometheus-community/prometheus-operator-crds) are installed if it's set to `false` + vm: true + extraLabels: {} + annotations: {} + relabelings: [] + scheme: "" + interval: "" + scrapeTimeout: "" + tlsConfig: {} + basicAuth: {} + +probe: + # -- Readiness probe + readiness: + httpGet: + port: probe + initialDelaySeconds: 5 + periodSeconds: 15 + timeoutSeconds: 5 + failureThreshold: 3 + # -- Liveness probe + liveness: + tcpSocket: + port: probe + initialDelaySeconds: 5 + periodSeconds: 15 + timeoutSeconds: 5 + failureThreshold: 3 + # -- Startup probe + startup: {} + +# -- Add extra specs dynamically to this chart +extraObjects: [] diff --git a/packs/victoria-metrics-operator-v0.66.2/logo.png b/packs/victoria-metrics-operator-v0.66.2/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dea64bd21ece529b49ea63b0dac3cef29e6d77cb GIT binary patch literal 49641 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 Z&MwegVziI<$i8s?)6~#auTiy){2ySlra1rr literal 0 HcmV?d00001 diff --git a/packs/victoria-metrics-operator-v0.66.2/pack.json b/packs/victoria-metrics-operator-v0.66.2/pack.json new file mode 100644 index 00000000..88890736 --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/pack.json @@ -0,0 +1,18 @@ +{ + "addonType": "system app", + "annotations": { + "source": "community", + "contributor" : "spectro" + }, + "cloudTypes": ["all"], + "displayName": "Victoria Metrics Operator", + "eol": " ", + "group": " ", + "charts": [ + "charts/victoria-metrics-operator-0.66.2.tgz", + "charts/victoria-metrics-operator-crds-0.13.1.tgz" + ], + "layer": "addon", + "name": "victoria-metrics-operator", + "version": "v0.66.2" +} diff --git a/packs/victoria-metrics-operator-v0.66.2/values.yaml b/packs/victoria-metrics-operator-v0.66.2/values.yaml new file mode 100644 index 00000000..0d1f9ceb --- /dev/null +++ b/packs/victoria-metrics-operator-v0.66.2/values.yaml @@ -0,0 +1,500 @@ +pack: + namespace: "victoria-metrics" + releaseNameOverride: + victoria-metrics-operator: victoria-metrics-operator + victoria-metrics-operator-crds: victoria-metrics-operator-crds + content: + images: + # Operator + config reloader (deployed by the pack) + - image: docker.io/victoriametrics/operator:v0.73.1 + - image: docker.io/victoriametrics/operator:config-reloader-v0.73.1 + # CRD upgrade/cleanup helper jobs (disabled by default) + - image: docker.io/busybox:latest + - image: registry.k8s.io/kubectl + # Operator-managed component defaults (pulled when the matching CR is created) + - image: docker.io/victoriametrics/vmagent:v1.147.0 + - image: docker.io/victoriametrics/vmalert:v1.147.0 + - image: docker.io/victoriametrics/victoria-metrics:v1.147.0 + - image: docker.io/victoriametrics/vminsert:v1.147.0-cluster + - image: docker.io/victoriametrics/vmselect:v1.147.0-cluster + - image: docker.io/victoriametrics/vmstorage:v1.147.0-cluster + - image: docker.io/victoriametrics/vmauth:v1.147.0 + - image: docker.io/victoriametrics/vmbackupmanager:v1.147.0-enterprise + - image: docker.io/prom/alertmanager:v0.31.0 + - image: docker.io/victoriametrics/victoria-logs:v1.51.0 + - image: docker.io/victoriametrics/vlagent:v1.51.0 + - image: docker.io/victoriametrics/victoria-traces:v0.9.4 + - image: docker.io/victoriametrics/vmanomaly:v1.29.7 + +charts: + victoria-metrics-operator: + global: + # -- Image pull secrets, that can be shared across multiple helm charts + imagePullSecrets: [] + image: + # -- Image registry, that can be shared across multiple helm charts + registry: "" + # -- Openshift security context compatibility configuration + compatibility: + openshift: + adaptSecurityContext: "auto" + cluster: + # -- K8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/) + dnsDomain: cluster.local. + # -- Labels added to all resources + extraLabels: {} + # -- Annotations added to all resources + extraAnnotations: {} + # Default values for victoria-metrics. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + # -- operator image configuration + image: + # -- Image registry + registry: "" + # -- Image repository + repository: victoriametrics/operator + # -- Image tag + # override Chart.AppVersion + tag: "" + # Variant of the image to use. + # e.g. scratch + variant: "" + # -- Image pull policy + pullPolicy: IfNotPresent + # -- Override default container command. Use when the VictoriaMetrics binary is available at a custom path + command: [] + + configReloader: + image: {} + # registry: "" + # repository: "" + # tag: "" + + crds: + # -- manages CRD creation. Disables CRD creation only in combination with `crds.plain: false` due to helm dependency conditions limitation + enabled: true + # -- check if plain or templated CRDs should be created. + # with this option set to `false`, all CRDs will be rendered from templates. + # with this option set to `true`, all CRDs are immutable and require manual upgrade. + plain: false + # -- additional CRD annotations, when `.Values.crds.plain: false` + annotations: {} + cleanup: + # -- Tells helm to clean up all the vm resources under this release's namespace when uninstalling + enabled: false + # -- Image configuration for CRD cleanup Job + image: + repository: registry.k8s.io/kubectl + # use image tag that matches k8s API version by default + tag: "" + pullPolicy: IfNotPresent + # -- Cleanup hook resources + resources: + limits: + cpu: "500m" + memory: "256Mi" + requests: + cpu: "100m" + memory: "56Mi" + upgrade: + # -- Enables CRD upgrade job + enabled: false + # -- Adds `--force-conflics` argument to kubectl + forceConflicts: false + busybox: + image: + repository: busybox + tag: latest + pullPolicy: IfNotPresent + kubectl: + image: + repository: registry.k8s.io/kubectl + # use image tag that matches k8s API version by default + tag: "" + pullPolicy: IfNotPresent + + # -- Extra settings for CRD upgrade job + env: [] + + # -- Upgrade job resources. + resources: {} + # limits: + # cpu: 120m + # memory: 320Mi + # requests: + # cpu: 80m + # memory: 120Mi + + # -- Additional upgrade job volumes + extraVolumes: [] + + # -- Additional upgrade job volume mounts + extraVolumeMounts: [] + + # -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) + nodeSelector: {} + + # -- Upgrade job pod affinity + affinity: {} + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: kubernetes.io/e2e-az-name + # operator: In + # values: + # - e2e-az1 + # - e2e-az2 + + # -- Array of upgrade job tolerations object. Spec is [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) + tolerations: [] + # - key: "key" + # operator: "Equal" + # value: "value" + # effect: "NoSchedule" + + # -- Upgrade job Pod Topology Spread Constraints. Spec is [here](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) + topologySpreadConstraints: [] + # - maxSkew: 1 + # topologyKey: topology.kubernetes.io/zone + # whenUnsatisfiable: DoNotSchedule + # labelSelector: + # matchLabels: + # app.kubernetes.io/component: alertmanager + + # -- Labels to add to the upgrade job + labels: {} + + # -- Annotations to add to the upgrade job + annotations: {} + + # -- Labels to add to the upgrade job pod + podLabels: {} + + # -- Annotations to add to the upgrade job pod + podAnnotations: {} + + # -- Service account for upgrade CRD job to use. + serviceAccount: + create: true + name: "" + annotations: {} + labels: {} + automountServiceAccountToken: true + + # -- Container-specific security context configuration. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + + # -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) + podSecurityContext: + enabled: true + fsGroup: 65534 + runAsGroup: 65534 + runAsNonRoot: true + runAsUser: 65534 + seccompProfile: + type: RuntimeDefault + + # -- Number of operator replicas + replicaCount: 1 + + # -- Secret to pull images + imagePullSecrets: [] + + # -- Override chart name + nameOverride: "" + + # -- Overrides the full name of server component resources + fullnameOverride: "" + + # -- VM operator log level. Possible values: info and error. + logLevel: "info" + + allowedMetricsEndpoints: + - /metrics + - /metrics/resources + + rbac: + # -- Specifies whether the RBAC resources should be created + create: true + # -- Create aggregated clusterRoles for CRD readonly and admin permissions + aggregatedClusterRoles: + enabled: true + # -- Labels attached to according clusterRole + labels: + view: + rbac.authorization.k8s.io/aggregate-to-view: "true" + admin: + rbac.authorization.k8s.io/aggregate-to-admin: "true" + + # -- Labels to be added to the all resources + extraLabels: {} + # -- extra Labels for Pods only + podLabels: {} + # -- Annotations to be added to the all resources + annotations: {} + + # -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) + podSecurityContext: + enabled: true + fsGroup: 2000 + runAsNonRoot: true + runAsUser: 1000 + + # -- Security context to be added to server pods + securityContext: + enabled: true + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + + operator: + # -- By default, operator converts prometheus-operator objects. + disable_prometheus_converter: false + # -- Compare-options and sync-options for prometheus objects converted by operator for properly use with ArgoCD + prometheus_converter_add_argocd_ignore_annotations: false + # -- Enables ownership reference for converted prometheus-operator objects, + # it will remove corresponding victoria-metrics objects in case of deletion prometheus one. + enable_converter_ownership: false + # -- Enables OpenShift compatibility mode for the operator (supported since v0.73.0). + # When enabled, operator automatically adjusts security contexts and permissions for OpenShift clusters. + openshift_compatibility: false + + # -- By default, the operator will watch all the namespaces + # If you want to override this behavior, specify the namespace. + # Operator supports multiple namespaces for watching. + watchNamespaces: [] + + serviceAccount: + # -- Specifies whether a service account should be created + create: true + # -- The name of the service account to use. If not set and create is true, a name is generated using the fullname template + name: "" + + # -- Whether to automount the service account token. Note that token needs to be mounted manually if this is disabled. + automountServiceAccountToken: true + + service: + # -- Service traffic distribution. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution) + trafficDistribution: "" + # -- Service annotations + annotations: {} + # -- Service labels + labels: {} + # -- Service ClusterIP + clusterIP: "" + # -- Service external IPs. Check [here](https://kubernetes.io/docs/concepts/services-networking/service/#external-ips) for details + externalIPs: "" + # -- Service load balancer IP + loadBalancerIP: "" + # -- Load balancer source range + loadBalancerSourceRanges: [] + # -- Service type + type: ClusterIP + # -- Health check node port for a service. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details + healthCheckNodePort: "" + # -- Service external traffic policy. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details + externalTrafficPolicy: "" + # -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details. + ipFamilyPolicy: "" + # -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details. + ipFamilies: [] + # -- Service port + servicePort: 8080 + # -- Service node port + nodePort: "" + # -- Service webhook port + webhookPort: 9443 + + # -- See `kubectl explain poddisruptionbudget.spec` for more or check [these docs](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) + podDisruptionBudget: + enabled: false + # -- min number or percentage of pods that can be unavailable + minAvailable: 0 + # -- max number or percentage of pods that can be unavailable + maxUnavailable: 0 + # -- Defines criteria when unhealthy pods should be considered for eviction + unhealthyPodEvictionPolicy: + labels: {} + + # -- Graceful pod termination timeout. See [this article](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#hook-handler-execution) for details. + terminationGracePeriodSeconds: 30 + + # -- Operator lifecycle. See [this article](https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/) for details. + lifecycle: {} + + # -- Resource object + resources: + {} + # limits: + # cpu: 120m + # memory: 320Mi + # requests: + # cpu: 80m + # memory: 120Mi + + # -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) + nodeSelector: {} + + # -- Deployment strategy, set to standard k8s default + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + + # -- Name of Priority Class + priorityClassName: "" + # -- Name of the [RuntimeClass](https://kubernetes.io/docs/concepts/containers/runtime-class/) used to run the pod, e.g. "gvisor" + runtimeClassName: "" + + # -- Array of tolerations object. Spec is [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) + tolerations: [] + + # -- Pod affinity + affinity: {} + + # -- Pod Topology Spread Constraints. Spec is [here](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) + topologySpreadConstraints: [] + + # -- Operator container additional commandline arguments + extraArgs: {} + + # -- Extra settings for the operator deployment. Full list [here](https://docs.victoriametrics.com/operator/configuration/#environment-variables) + env: + [] + # - name: VM_VMSINGLEDEFAULT_VERSION + # value: v1.43.0 + + # -- Specify alternative source for env variables + envFrom: + [] + #- configMapRef: + # name: special-config + + # -- Additional hostPath mounts + extraHostPathMounts: + [] + # - name: certs-dir + # mountPath: /etc/kubernetes/certs + # subPath: "" + # hostPath: /etc/kubernetes/certs + # readOnly: true + + # -- Extra Volumes for the pod + extraVolumes: + [] + # - name: example + # configMap: + # name: example + + # -- Extra Volume Mounts for the container + extraVolumeMounts: + [] + # - name: example + # mountPath: /example + + # -- Extra containers to run in a pod with operator + extraContainers: + [] + # - name: config-reloader + # image: reloader-image + + # -- Enable hostNetwork on operator deployment + hostNetwork: false + + # -- DNS policy for operator pod. If not set and hostNetwork is enabled, defaults to ClusterFirstWithHostNet. + # @default -- "" + dnsPolicy: "" + + # -- Enable sharing process Namespace between Containers in a Pod. This only makes sense with extraContainers + shareProcessNamespace: false + + # -- Configures resource validation + admissionWebhooks: + # -- Enables validation webhook. + enabled: true + # -- Annotations for webhook. Can be used to define Helm or ArgoCD annotations. + annotations: {} + # -- List of CRD names to disable validation for + disabledFor: [] + # - vmagent + # - vmsingle + + # -- What to do in case, when operator not available to validate request. + policy: Fail + # -- Enables custom ca bundle, if you are not using cert-manager. In case of custom ca, you have to create secret - {chart-name}-validation with keys: tls.key, tls.crt, ca.crt + certManager: + # -- Enables cert creation and injection by cert-manager. + enabled: false + # --If needed, provide own issuer. Operator will create self-signed if empty. + issuer: {} + # -- Certificate Authority parameters + ca: + secretTemplate: {} + subject: {} + duration: 63800h0m0s + commonName: ca.validation.victoriametrics + # -- Certificate parameters + cert: + secretTemplate: {} + subject: {} + duration: 45800h0m0s + commonName: "" + keepTLSSecret: true + # tls specifies TLS cert/key for the webhook + tls: + caCert: + cert: + key: + + # -- Configures monitoring with serviceScrape using either `VMServiceScrape` or `ServiceMonitor`. For latter [Prometheus Operator CRDs](https://artifacthub.io/packages/helm/prometheus-community/prometheus-operator-crds) should be preinstalled + serviceMonitor: + enabled: false + # -- Creates `VMServiceScrape` if `true` and `ServiceMonitor` otherwise. Make sure [Prometheus Operator CRDs](https://artifacthub.io/packages/helm/prometheus-community/prometheus-operator-crds) are installed if it's set to `false` + vm: true + extraLabels: {} + annotations: {} + relabelings: [] + scheme: "" + interval: "" + scrapeTimeout: "" + tlsConfig: {} + basicAuth: {} + + probe: + # -- Readiness probe + readiness: + httpGet: + port: probe + initialDelaySeconds: 5 + periodSeconds: 15 + timeoutSeconds: 5 + failureThreshold: 3 + # -- Liveness probe + liveness: + tcpSocket: + port: probe + initialDelaySeconds: 5 + periodSeconds: 15 + timeoutSeconds: 5 + failureThreshold: 3 + # -- Startup probe + startup: {} + + # -- Add extra specs dynamically to this chart + extraObjects: [] + + + victoria-metrics-operator-crds: + # -- VM operator CRD annotations + crds: + annotations: {} From 7710990bf85151b4570aebe2ccfb3eadeb9c4beb Mon Sep 17 00:00:00 2001 From: 3pings Date: Fri, 17 Jul 2026 13:07:48 -0400 Subject: [PATCH 2/5] Rename pack dir to victoria-metrics-operator-0.66.2 and drop v prefix in version Aligns the pack folder name and pack.json version field with the no-"v" versioning convention (0.66.2). Co-Authored-By: Claude Opus 4.8 (1M context) --- .../README.md | 0 .../charts/victoria-metrics-operator-0.66.2.tgz | Bin .../victoria-metrics-operator-crds-0.13.1.tgz | Bin .../victoria-metrics-operator-crds/.helmignore | 0 .../victoria-metrics-operator-crds/Chart.lock | 0 .../victoria-metrics-operator-crds/Chart.yaml | 0 .../charts/victoria-metrics-operator-crds/README.md | 0 .../victoria-metrics-operator-crds/RELEASE_NOTES | 0 .../charts/crds/Chart.yaml | 0 .../charts/crds/README.md | 0 .../charts/crds/crd.yaml | 0 .../charts/crds/templates/crd.yaml | 0 .../charts/crds/values.yaml | 0 .../victoria-metrics-operator-crds/values.yaml | 0 .../charts/victoria-metrics-operator/.helmignore | 0 .../charts/victoria-metrics-operator/Chart.lock | 0 .../charts/victoria-metrics-operator/Chart.yaml | 0 .../charts/victoria-metrics-operator/README.md | 0 .../charts/victoria-metrics-operator/RELEASE_NOTES | 0 .../charts/crds/Chart.yaml | 0 .../victoria-metrics-operator/charts/crds/README.md | 0 .../charts/crds/crds/crd.yaml | 0 .../charts/crds/files/crd.yaml.bz2 | Bin .../charts/crds/templates/_helpers.yaml | 0 .../charts/crds/templates/cm.yaml | 0 .../charts/crds/templates/job.yaml | 0 .../charts/crds/templates/role.yaml | 0 .../charts/crds/templates/serviceaccount.yaml | 0 .../charts/crds/values.yaml | 0 .../charts/victoria-metrics-common/.helmignore | 0 .../charts/victoria-metrics-common/Chart.lock | 0 .../charts/victoria-metrics-common/Chart.yaml | 0 .../charts/victoria-metrics-common/README.md | 0 .../charts/victoria-metrics-common/RELEASE_NOTES | 0 .../templates/_enterprise.tpl | 0 .../victoria-metrics-common/templates/_helpers.tpl | 0 .../victoria-metrics-common/templates/_image.tpl | 0 .../victoria-metrics-common/templates/_ingress.tpl | 0 .../victoria-metrics-common/templates/_pod.tpl | 0 .../victoria-metrics-common/templates/_service.tpl | 0 .../charts/victoria-metrics-common/values.yaml | 0 .../charts/victoria-metrics-operator/crd.yaml | 0 .../victoria-metrics-operator/templates/NOTES.txt | 0 .../templates/_helpers.tpl | 0 .../templates/cleanup.yaml | 0 .../victoria-metrics-operator/templates/crb.yaml | 0 .../victoria-metrics-operator/templates/crd.yaml | 0 .../templates/extra-objects.yaml | 0 .../templates/monitor.yaml | 0 .../victoria-metrics-operator/templates/pdb.yaml | 0 .../victoria-metrics-operator/templates/rb.yaml | 0 .../victoria-metrics-operator/templates/role.yaml | 0 .../victoria-metrics-operator/templates/server.yaml | 0 .../templates/service.yaml | 0 .../templates/serviceaccount.yaml | 0 .../templates/webhook.yaml | 0 .../charts/victoria-metrics-operator/values.yaml | 0 .../logo.png | Bin .../pack.json | 2 +- .../values.yaml | 0 60 files changed, 1 insertion(+), 1 deletion(-) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/README.md (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-0.66.2.tgz (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds-0.13.1.tgz (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds/.helmignore (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds/Chart.lock (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds/Chart.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds/README.md (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds/RELEASE_NOTES (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds/charts/crds/Chart.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds/charts/crds/README.md (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds/charts/crds/crd.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds/charts/crds/templates/crd.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds/charts/crds/values.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator-crds/values.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/.helmignore (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/Chart.lock (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/Chart.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/README.md (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/RELEASE_NOTES (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/crds/Chart.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/crds/README.md (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/crds/crds/crd.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/crds/files/crd.yaml.bz2 (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/crds/templates/_helpers.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/crds/templates/cm.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/crds/templates/job.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/crds/templates/role.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/crds/templates/serviceaccount.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/crds/values.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/.helmignore (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.lock (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/README.md (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/RELEASE_NOTES (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_enterprise.tpl (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_helpers.tpl (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_image.tpl (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_ingress.tpl (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_pod.tpl (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_service.tpl (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/charts/victoria-metrics-common/values.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/crd.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/NOTES.txt (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/_helpers.tpl (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/cleanup.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/crb.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/crd.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/extra-objects.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/monitor.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/pdb.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/rb.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/role.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/server.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/service.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/serviceaccount.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/templates/webhook.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/charts/victoria-metrics-operator/values.yaml (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/logo.png (100%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/pack.json (94%) rename packs/{victoria-metrics-operator-v0.66.2 => victoria-metrics-operator-0.66.2}/values.yaml (100%) diff --git a/packs/victoria-metrics-operator-v0.66.2/README.md b/packs/victoria-metrics-operator-0.66.2/README.md similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/README.md rename to packs/victoria-metrics-operator-0.66.2/README.md diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-0.66.2.tgz b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-0.66.2.tgz similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-0.66.2.tgz rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-0.66.2.tgz diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds-0.13.1.tgz b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds-0.13.1.tgz similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds-0.13.1.tgz rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds-0.13.1.tgz diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/.helmignore b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/.helmignore similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/.helmignore rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/.helmignore diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/Chart.lock b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/Chart.lock similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/Chart.lock rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/Chart.lock diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/Chart.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/Chart.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/Chart.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/Chart.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/README.md b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/README.md similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/README.md rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/README.md diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/RELEASE_NOTES b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/RELEASE_NOTES similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/RELEASE_NOTES rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/RELEASE_NOTES diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/Chart.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/charts/crds/Chart.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/Chart.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/charts/crds/Chart.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/README.md b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/charts/crds/README.md similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/README.md rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/charts/crds/README.md diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/crd.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/charts/crds/crd.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/crd.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/charts/crds/crd.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/templates/crd.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/charts/crds/templates/crd.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/templates/crd.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/charts/crds/templates/crd.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/values.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/charts/crds/values.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/charts/crds/values.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/charts/crds/values.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/values.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/values.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator-crds/values.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator-crds/values.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/.helmignore b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/.helmignore similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/.helmignore rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/.helmignore diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.lock b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/Chart.lock similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.lock rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/Chart.lock diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/Chart.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/Chart.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/Chart.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/README.md b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/README.md similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/README.md rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/README.md diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/RELEASE_NOTES b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/RELEASE_NOTES similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/RELEASE_NOTES rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/RELEASE_NOTES diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/Chart.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/Chart.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/Chart.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/Chart.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/README.md b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/README.md similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/README.md rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/README.md diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/crds/crd.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/crds/crd.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/crds/crd.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/crds/crd.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/files/crd.yaml.bz2 b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/files/crd.yaml.bz2 similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/files/crd.yaml.bz2 rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/files/crd.yaml.bz2 diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/_helpers.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/templates/_helpers.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/_helpers.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/templates/_helpers.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/cm.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/templates/cm.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/cm.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/templates/cm.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/job.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/templates/job.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/job.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/templates/job.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/role.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/templates/role.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/role.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/templates/role.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/serviceaccount.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/templates/serviceaccount.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/templates/serviceaccount.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/templates/serviceaccount.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/values.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/values.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/crds/values.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/crds/values.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/.helmignore b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/.helmignore similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/.helmignore rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/.helmignore diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.lock b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.lock similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.lock rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.lock diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/Chart.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/README.md b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/README.md similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/README.md rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/README.md diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/RELEASE_NOTES b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/RELEASE_NOTES similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/RELEASE_NOTES rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/RELEASE_NOTES diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_enterprise.tpl b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_enterprise.tpl similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_enterprise.tpl rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_enterprise.tpl diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_helpers.tpl b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_helpers.tpl similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_helpers.tpl rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_helpers.tpl diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_image.tpl b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_image.tpl similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_image.tpl rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_image.tpl diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_ingress.tpl b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_ingress.tpl similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_ingress.tpl rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_ingress.tpl diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_pod.tpl b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_pod.tpl similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_pod.tpl rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_pod.tpl diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_service.tpl b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_service.tpl similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_service.tpl rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/templates/_service.tpl diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/values.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/values.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/values.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/charts/victoria-metrics-common/values.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/crd.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/crd.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/crd.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/crd.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/NOTES.txt b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/NOTES.txt similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/NOTES.txt rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/NOTES.txt diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/_helpers.tpl b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/_helpers.tpl similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/_helpers.tpl rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/_helpers.tpl diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/cleanup.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/cleanup.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/cleanup.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/cleanup.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crb.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/crb.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crb.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/crb.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crd.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/crd.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/crd.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/crd.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/extra-objects.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/extra-objects.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/extra-objects.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/extra-objects.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/monitor.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/monitor.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/monitor.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/monitor.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/pdb.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/pdb.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/pdb.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/pdb.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/rb.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/rb.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/rb.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/rb.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/role.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/role.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/role.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/role.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/server.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/server.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/server.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/server.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/service.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/service.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/service.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/service.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/serviceaccount.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/serviceaccount.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/serviceaccount.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/serviceaccount.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/webhook.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/webhook.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/templates/webhook.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/templates/webhook.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/values.yaml b/packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/values.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/charts/victoria-metrics-operator/values.yaml rename to packs/victoria-metrics-operator-0.66.2/charts/victoria-metrics-operator/values.yaml diff --git a/packs/victoria-metrics-operator-v0.66.2/logo.png b/packs/victoria-metrics-operator-0.66.2/logo.png similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/logo.png rename to packs/victoria-metrics-operator-0.66.2/logo.png diff --git a/packs/victoria-metrics-operator-v0.66.2/pack.json b/packs/victoria-metrics-operator-0.66.2/pack.json similarity index 94% rename from packs/victoria-metrics-operator-v0.66.2/pack.json rename to packs/victoria-metrics-operator-0.66.2/pack.json index 88890736..a49624f8 100644 --- a/packs/victoria-metrics-operator-v0.66.2/pack.json +++ b/packs/victoria-metrics-operator-0.66.2/pack.json @@ -14,5 +14,5 @@ ], "layer": "addon", "name": "victoria-metrics-operator", - "version": "v0.66.2" + "version": "0.66.2" } diff --git a/packs/victoria-metrics-operator-v0.66.2/values.yaml b/packs/victoria-metrics-operator-0.66.2/values.yaml similarity index 100% rename from packs/victoria-metrics-operator-v0.66.2/values.yaml rename to packs/victoria-metrics-operator-0.66.2/values.yaml From 84e2e00fe37eacf8377cd5ed5a568e8e73499927 Mon Sep 17 00:00:00 2001 From: 3pings Date: Fri, 17 Jul 2026 13:12:35 -0400 Subject: [PATCH 3/5] Pin registry.k8s.io/kubectl to a valid version tag registry.k8s.io/kubectl has no `latest` tag, so a bare reference fails to pull. The chart derives the tag from the target cluster's Kubernetes version; pin a concrete existing tag (v1.33.0) and note it should match the cluster K8s minor. Co-Authored-By: Claude Opus 4.8 (1M context) --- packs/victoria-metrics-operator-0.66.2/values.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packs/victoria-metrics-operator-0.66.2/values.yaml b/packs/victoria-metrics-operator-0.66.2/values.yaml index 0d1f9ceb..552befc0 100644 --- a/packs/victoria-metrics-operator-0.66.2/values.yaml +++ b/packs/victoria-metrics-operator-0.66.2/values.yaml @@ -9,8 +9,10 @@ pack: - image: docker.io/victoriametrics/operator:v0.73.1 - image: docker.io/victoriametrics/operator:config-reloader-v0.73.1 # CRD upgrade/cleanup helper jobs (disabled by default) + # kubectl has no `latest` tag; the chart uses the tag matching the + # target cluster's Kubernetes version. Pin/mirror the tag for your clusters. - image: docker.io/busybox:latest - - image: registry.k8s.io/kubectl + - image: registry.k8s.io/kubectl:v1.33.0 # Operator-managed component defaults (pulled when the matching CR is created) - image: docker.io/victoriametrics/vmagent:v1.147.0 - image: docker.io/victoriametrics/vmalert:v1.147.0 From b73c3e017cea5da9bc23cca29d12ea0c356d93ce Mon Sep 17 00:00:00 2001 From: 3pings Date: Fri, 17 Jul 2026 13:15:45 -0400 Subject: [PATCH 4/5] Remove inline comments from pack.content.images list Co-Authored-By: Claude Opus 4.8 (1M context) --- packs/victoria-metrics-operator-0.66.2/values.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packs/victoria-metrics-operator-0.66.2/values.yaml b/packs/victoria-metrics-operator-0.66.2/values.yaml index 552befc0..4a50ee57 100644 --- a/packs/victoria-metrics-operator-0.66.2/values.yaml +++ b/packs/victoria-metrics-operator-0.66.2/values.yaml @@ -5,15 +5,10 @@ pack: victoria-metrics-operator-crds: victoria-metrics-operator-crds content: images: - # Operator + config reloader (deployed by the pack) - image: docker.io/victoriametrics/operator:v0.73.1 - image: docker.io/victoriametrics/operator:config-reloader-v0.73.1 - # CRD upgrade/cleanup helper jobs (disabled by default) - # kubectl has no `latest` tag; the chart uses the tag matching the - # target cluster's Kubernetes version. Pin/mirror the tag for your clusters. - image: docker.io/busybox:latest - image: registry.k8s.io/kubectl:v1.33.0 - # Operator-managed component defaults (pulled when the matching CR is created) - image: docker.io/victoriametrics/vmagent:v1.147.0 - image: docker.io/victoriametrics/vmalert:v1.147.0 - image: docker.io/victoriametrics/victoria-metrics:v1.147.0 From 5657c79c9161bcc7a73524937d80ec48a6e2b153 Mon Sep 17 00:00:00 2001 From: 3pings Date: Sun, 19 Jul 2026 09:55:49 -0400 Subject: [PATCH 5/5] Disable CRD creation in victoria-metrics-operator values.yaml --- packs/victoria-metrics-operator-0.66.2/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packs/victoria-metrics-operator-0.66.2/values.yaml b/packs/victoria-metrics-operator-0.66.2/values.yaml index 4a50ee57..6c46c8f6 100644 --- a/packs/victoria-metrics-operator-0.66.2/values.yaml +++ b/packs/victoria-metrics-operator-0.66.2/values.yaml @@ -70,7 +70,7 @@ charts: crds: # -- manages CRD creation. Disables CRD creation only in combination with `crds.plain: false` due to helm dependency conditions limitation - enabled: true + enabled: false # -- check if plain or templated CRDs should be created. # with this option set to `false`, all CRDs will be rendered from templates. # with this option set to `true`, all CRDs are immutable and require manual upgrade.