diff --git a/assets/epinio-crd/epinio-crd-100.0.5+up1.6.2.tgz b/assets/epinio-crd/epinio-crd-100.0.5+up1.6.2.tgz
new file mode 100644
index 000000000..196c00727
Binary files /dev/null and b/assets/epinio-crd/epinio-crd-100.0.5+up1.6.2.tgz differ
diff --git a/assets/epinio/epinio-100.0.5+up1.6.2.tgz b/assets/epinio/epinio-100.0.5+up1.6.2.tgz
new file mode 100644
index 000000000..28c88fd73
Binary files /dev/null and b/assets/epinio/epinio-100.0.5+up1.6.2.tgz differ
diff --git a/assets/fleet-agent/fleet-agent-100.2.3+up0.5.3.tgz b/assets/fleet-agent/fleet-agent-100.2.3+up0.5.3.tgz
new file mode 100644
index 000000000..7ba269e4f
Binary files /dev/null and b/assets/fleet-agent/fleet-agent-100.2.3+up0.5.3.tgz differ
diff --git a/assets/fleet-crd/fleet-crd-100.2.3+up0.5.3.tgz b/assets/fleet-crd/fleet-crd-100.2.3+up0.5.3.tgz
new file mode 100644
index 000000000..03c9d9b2c
Binary files /dev/null and b/assets/fleet-crd/fleet-crd-100.2.3+up0.5.3.tgz differ
diff --git a/assets/fleet/fleet-100.2.3+up0.5.3.tgz b/assets/fleet/fleet-100.2.3+up0.5.3.tgz
new file mode 100644
index 000000000..d3ce8c015
Binary files /dev/null and b/assets/fleet/fleet-100.2.3+up0.5.3.tgz differ
diff --git a/assets/neuvector-crd/neuvector-crd-100.0.3+up2.2.4.tgz b/assets/neuvector-crd/neuvector-crd-100.0.3+up2.2.4.tgz
new file mode 100644
index 000000000..70349ac41
Binary files /dev/null and b/assets/neuvector-crd/neuvector-crd-100.0.3+up2.2.4.tgz differ
diff --git a/assets/neuvector/neuvector-100.0.3+up2.2.4.tgz b/assets/neuvector/neuvector-100.0.3+up2.2.4.tgz
new file mode 100644
index 000000000..c97b8c8f8
Binary files /dev/null and b/assets/neuvector/neuvector-100.0.3+up2.2.4.tgz differ
diff --git a/assets/prometheus-federator/prometheus-federator-0.2.0+up0.2.2.tgz b/assets/prometheus-federator/prometheus-federator-0.2.0+up0.2.2.tgz
new file mode 100644
index 000000000..3889f0b82
Binary files /dev/null and b/assets/prometheus-federator/prometheus-federator-0.2.0+up0.2.2.tgz differ
diff --git a/assets/rancher-aks-operator-crd/rancher-aks-operator-crd-100.0.7+up1.0.9.tgz b/assets/rancher-aks-operator-crd/rancher-aks-operator-crd-100.0.7+up1.0.9.tgz
new file mode 100644
index 000000000..ed2495246
Binary files /dev/null and b/assets/rancher-aks-operator-crd/rancher-aks-operator-crd-100.0.7+up1.0.9.tgz differ
diff --git a/assets/rancher-aks-operator/rancher-aks-operator-100.0.7+up1.0.9.tgz b/assets/rancher-aks-operator/rancher-aks-operator-100.0.7+up1.0.9.tgz
new file mode 100644
index 000000000..1d58b4eac
Binary files /dev/null and b/assets/rancher-aks-operator/rancher-aks-operator-100.0.7+up1.0.9.tgz differ
diff --git a/assets/rancher-backup-crd/rancher-backup-crd-2.1.5.tgz b/assets/rancher-backup-crd/rancher-backup-crd-2.1.5.tgz
new file mode 100644
index 000000000..d63472d74
Binary files /dev/null and b/assets/rancher-backup-crd/rancher-backup-crd-2.1.5.tgz differ
diff --git a/assets/rancher-backup/rancher-backup-2.1.5.tgz b/assets/rancher-backup/rancher-backup-2.1.5.tgz
new file mode 100644
index 000000000..255a23448
Binary files /dev/null and b/assets/rancher-backup/rancher-backup-2.1.5.tgz differ
diff --git a/assets/rancher-logging-crd/rancher-logging-crd-100.1.4+up3.17.7.tgz b/assets/rancher-logging-crd/rancher-logging-crd-100.1.4+up3.17.7.tgz
new file mode 100644
index 000000000..ce0914248
Binary files /dev/null and b/assets/rancher-logging-crd/rancher-logging-crd-100.1.4+up3.17.7.tgz differ
diff --git a/assets/rancher-logging/rancher-logging-100.1.4+up3.17.7.tgz b/assets/rancher-logging/rancher-logging-100.1.4+up3.17.7.tgz
new file mode 100644
index 000000000..b40503086
Binary files /dev/null and b/assets/rancher-logging/rancher-logging-100.1.4+up3.17.7.tgz differ
diff --git a/assets/rancher-monitoring-crd/rancher-monitoring-crd-100.2.0+up40.1.2.tgz b/assets/rancher-monitoring-crd/rancher-monitoring-crd-100.2.0+up40.1.2.tgz
new file mode 100644
index 000000000..280c8e4c0
Binary files /dev/null and b/assets/rancher-monitoring-crd/rancher-monitoring-crd-100.2.0+up40.1.2.tgz differ
diff --git a/assets/rancher-monitoring/rancher-monitoring-100.2.0+up40.1.2.tgz b/assets/rancher-monitoring/rancher-monitoring-100.2.0+up40.1.2.tgz
new file mode 100644
index 000000000..4b911fac3
Binary files /dev/null and b/assets/rancher-monitoring/rancher-monitoring-100.2.0+up40.1.2.tgz differ
diff --git a/assets/rancher-project-monitoring/rancher-project-monitoring-0.2.0+up0.2.1.tgz b/assets/rancher-project-monitoring/rancher-project-monitoring-0.2.0+up0.2.1.tgz
new file mode 100644
index 000000000..4123b2d4e
Binary files /dev/null and b/assets/rancher-project-monitoring/rancher-project-monitoring-0.2.0+up0.2.1.tgz differ
diff --git a/assets/rancher-vsphere-cpi/rancher-vsphere-cpi-100.5.0+up1.4.1.tgz b/assets/rancher-vsphere-cpi/rancher-vsphere-cpi-100.5.0+up1.4.1.tgz
new file mode 100644
index 000000000..bd9814c8c
Binary files /dev/null and b/assets/rancher-vsphere-cpi/rancher-vsphere-cpi-100.5.0+up1.4.1.tgz differ
diff --git a/assets/rancher-vsphere-csi/rancher-vsphere-csi-100.4.0+up2.6.2-rancher1.tgz b/assets/rancher-vsphere-csi/rancher-vsphere-csi-100.4.0+up2.6.2-rancher1.tgz
new file mode 100644
index 000000000..9152804f2
Binary files /dev/null and b/assets/rancher-vsphere-csi/rancher-vsphere-csi-100.4.0+up2.6.2-rancher1.tgz differ
diff --git a/assets/rancher-webhook/rancher-webhook-1.0.8+up0.2.9.tgz b/assets/rancher-webhook/rancher-webhook-1.0.8+up0.2.9.tgz
new file mode 100644
index 000000000..1c9785c64
Binary files /dev/null and b/assets/rancher-webhook/rancher-webhook-1.0.8+up0.2.9.tgz differ
diff --git a/assets/sriov-crd/sriov-crd-100.0.5+up0.1.0.tgz b/assets/sriov-crd/sriov-crd-100.0.5+up0.1.0.tgz
new file mode 100644
index 000000000..4a1b14597
Binary files /dev/null and b/assets/sriov-crd/sriov-crd-100.0.5+up0.1.0.tgz differ
diff --git a/assets/sriov/sriov-100.0.5+up0.1.0.tgz b/assets/sriov/sriov-100.0.5+up0.1.0.tgz
new file mode 100644
index 000000000..9c690b3d4
Binary files /dev/null and b/assets/sriov/sriov-100.0.5+up0.1.0.tgz differ
diff --git a/charts/epinio-crd/100.0.5+up1.6.2/Chart.yaml b/charts/epinio-crd/100.0.5+up1.6.2/Chart.yaml
new file mode 100644
index 000000000..8c1a0ccc5
--- /dev/null
+++ b/charts/epinio-crd/100.0.5+up1.6.2/Chart.yaml
@@ -0,0 +1,10 @@
+annotations:
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/hidden: "true"
+ catalog.cattle.io/namespace: cattle-epinio-system
+ catalog.cattle.io/release-name: epinio-crd
+apiVersion: v2
+description: Installs the CRDs for Epinio.
+name: epinio-crd
+type: application
+version: 100.0.5+up1.6.2
diff --git a/charts/epinio-crd/100.0.5+up1.6.2/README.md b/charts/epinio-crd/100.0.5+up1.6.2/README.md
new file mode 100644
index 000000000..527081aec
--- /dev/null
+++ b/charts/epinio-crd/100.0.5+up1.6.2/README.md
@@ -0,0 +1,2 @@
+# epinio-crd
+A Rancher chart that installs the CRDs used by epinio.
diff --git a/charts/epinio-crd/100.0.5+up1.6.2/templates/app-crd.yaml b/charts/epinio-crd/100.0.5+up1.6.2/templates/app-crd.yaml
new file mode 100644
index 000000000..a6ea22aa2
--- /dev/null
+++ b/charts/epinio-crd/100.0.5+up1.6.2/templates/app-crd.yaml
@@ -0,0 +1,112 @@
+# Copied from here:
+# https://github.com/epinio/application/blob/main/config/crd/bases/application.epinio.io_apps.yaml
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: apps.application.epinio.io
+spec:
+ group: application.epinio.io
+ names:
+ kind: App
+ listKind: AppList
+ plural: apps
+ singular: app
+ scope: Namespaced
+ versions:
+ - name: v1
+ schema:
+ openAPIV3Schema:
+ description: App is the Schema for the apps API
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: AppSpec defines the desired state of App
+ properties:
+ blobuid:
+ description: BlobUID stores the blob uid that was used when the application
+ was last staged (from code). It can be empty if the application
+ was never staged (e.g. pushed with container image). Epinio will
+ use the value set by the user explicitly but if one is not set,
+ it will try to use the previously set blobUID from the application
+ CRD.
+ type: string
+ builderimage:
+ description: This field stores the builder image that was used when
+ the application was last staged (from code). It can be empty if
+ the application was never staged (e.g. pushed with container image).
+ Epinio will use the builder image set by the user explicitly but
+ if one is not set, it will try to use the previously set image.
+ type: string
+ chartname:
+ description: ChartName stores the name of the application support
+ chart used to deploy the currently running application. This is
+ set on deployment, for use in updates. The name references an epinio
+ AppCharts resource.
+ type: string
+ imageurl:
+ description: ImageURL stores the image reference of the currently
+ running application. This is set on deployment, for use in updates.
+ type: string
+ origin:
+ properties:
+ container:
+ type: string
+ git:
+ properties:
+ repository:
+ type: string
+ revision:
+ type: string
+ required:
+ - repository
+ type: object
+ path:
+ type: string
+ type: object
+ routes:
+ items:
+ type: string
+ type: array
+ settings:
+ additionalProperties:
+ type: string
+ description: Settings stores the fields and values set by the user
+ to configure the application chart. See ChartName.
+ type: object
+ stageid:
+ description: StageID stores the id of the latest attempt to stage
+ the application, regardless of outcome. This enables access to the
+ staging logs of an application which never staged successfully.
+ type: string
+ required:
+ - origin
+ type: object
+ status:
+ description: AppStatus defines the observed state of App
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/charts/epinio-crd/100.0.5+up1.6.2/templates/appcharts-crd.yaml b/charts/epinio-crd/100.0.5+up1.6.2/templates/appcharts-crd.yaml
new file mode 100644
index 000000000..8501e7df9
--- /dev/null
+++ b/charts/epinio-crd/100.0.5+up1.6.2/templates/appcharts-crd.yaml
@@ -0,0 +1,105 @@
+# Copied from here:
+# https://github.com/epinio/application/blob/main/config/crd/bases/application.epinio.io_appcharts.yaml
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: appcharts.application.epinio.io
+spec:
+ group: application.epinio.io
+ names:
+ kind: AppChart
+ listKind: AppChartList
+ plural: appcharts
+ singular: appchart
+ scope: Namespaced
+ versions:
+ - name: v1
+ schema:
+ openAPIV3Schema:
+ description: AppChart is the Schema for the appcharts API
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: AppChartSpec defines the desired state of AppChart
+ properties:
+ description:
+ description: Description of the chart. Long form to be used in detailed
+ displays
+ type: string
+ helmChart:
+ description: HelmChart is the name of the Helm chart used to deploy
+ an application.
+ type: string
+ helmRepo:
+ description: HelmRepo is the URL to the Helm repository where to fetch
+ the helm chart. This can be empty. In that case the HelmChart field
+ has to reference the chart as full URL instead of as a simple name.
+ type: string
+ settings:
+ additionalProperties:
+ properties:
+ enum:
+ description: Enumeration of allowed values, for types string,
+ number, integer
+ items:
+ type: string
+ type: array
+ maximum:
+ description: Maximal allowed value, for number, integer
+ type: string
+ minimum:
+ description: Minimal allowed value, for number, integer
+ type: string
+ type:
+ description: Type of the setting (string, bool, number, or integer)
+ type: string
+ required:
+ - type
+ type: object
+ description: Settings declares the fields underneath `userValues`
+ the user is allowed to customize when deploying an application with
+ the helm chart referenced by this app chart.
+ type: object
+ shortDescription:
+ description: ShortDescription of the chart. To be used in list displays
+ type: string
+ values:
+ additionalProperties:
+ type: string
+ description: Values provides settings, i.e. field names and values
+ to customize the referenced helm chart when deploying an application
+ with this app chart. Note that user-configurable settings are declared
+ with `Settings` instead. While nothing checks against exposing a
+ field set here to the user this is strongly discouraged, to avoid
+ confusion.
+ type: object
+ type: object
+ status:
+ description: AppChartStatus defines the observed state of AppChart
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/charts/epinio-crd/100.0.5+up1.6.2/templates/service-crd.yaml b/charts/epinio-crd/100.0.5+up1.6.2/templates/service-crd.yaml
new file mode 100644
index 000000000..385177345
--- /dev/null
+++ b/charts/epinio-crd/100.0.5+up1.6.2/templates/service-crd.yaml
@@ -0,0 +1,92 @@
+# Copied from here:
+# https://github.com/epinio/application/blob/main/config/crd/bases/application.epinio.io_services.yaml
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: services.application.epinio.io
+spec:
+ group: application.epinio.io
+ names:
+ kind: Service
+ listKind: ServiceList
+ plural: services
+ singular: service
+ scope: Namespaced
+ versions:
+ - name: v1
+ schema:
+ openAPIV3Schema:
+ description: Service is the Schema for the services API
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ServiceSpec defines the desired state of Service
+ properties:
+ appVersion:
+ description: AppVersion is the version of the service deployed by
+ the referenced chart
+ type: string
+ chart:
+ description: HelmChart is the name of the Helm chart used to deploy
+ the service
+ type: string
+ chartVersion:
+ description: ChartVersion is the version of the Helm chart used to
+ deploy the service
+ type: string
+ description:
+ description: Description of the service to be used when the service
+ is described
+ type: string
+ helmRepo:
+ description: HelmRepo is the Helm repository where to fetch the helm
+ chart
+ properties:
+ name:
+ type: string
+ url:
+ type: string
+ type: object
+ name:
+ description: Name of the service (i.e. redis-small)
+ type: string
+ serviceIcon:
+ description: ServiceIcon is an image associated with this service
+ type: string
+ shortDescription:
+ description: ShortDescription of the service to be used in lists
+ type: string
+ values:
+ description: Values are the values provided by the operator. They
+ are used to customize the deployment of the service.
+ type: string
+ type: object
+ status:
+ description: ServiceStatus defines the observed state of Service
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/charts/epinio/100.0.5+up1.6.2/Chart.lock b/charts/epinio/100.0.5+up1.6.2/Chart.lock
new file mode 100644
index 000000000..2429c2dc6
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/Chart.lock
@@ -0,0 +1,15 @@
+dependencies:
+- name: dex
+ repository: https://charts.dexidp.io
+ version: 0.12.1
+- name: minio
+ repository: https://charts.min.io/
+ version: 5.0.4
+- name: kubed
+ repository: https://charts.appscode.com/stable/
+ version: v0.13.2
+- name: epinio-ui
+ repository: https://epinio.github.io/helm-charts
+ version: 1.5.3
+digest: sha256:edaf7fec6b9567423ca0175493c21a542afe293e3a48d853acf9eb0b3d36024a
+generated: "2023-01-12T09:59:16.775081808+01:00"
diff --git a/charts/epinio/100.0.5+up1.6.2/Chart.yaml b/charts/epinio/100.0.5+up1.6.2/Chart.yaml
new file mode 100644
index 000000000..c0e1728aa
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/Chart.yaml
@@ -0,0 +1,50 @@
+annotations:
+ artifacthub.io/license: Apache-2.0
+ catalog.cattle.io/auto-install: epinio-crd=match
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/display-name: Epinio
+ catalog.cattle.io/experimental: "true"
+ catalog.cattle.io/kube-version: '>= 1.20.0-0 < 1.25.0-0'
+ catalog.cattle.io/namespace: cattle-epinio-system
+ catalog.cattle.io/permits-os: linux,windows
+ catalog.cattle.io/rancher-version: '>= 2.6.0-0 < 2.7.0-0'
+ catalog.cattle.io/release-name: epinio
+ catalog.cattle.io/type: app
+ catalog.cattle.io/upstream-version: 1.6.2
+apiVersion: v2
+appVersion: v1.6.2
+dependencies:
+- condition: dex.enabled, global.dex.enabled
+ name: dex
+ repository: file://./charts/dex
+ tags:
+ - dex
+- condition: epinio-ui.enabled
+ name: epinio-ui
+ repository: file://./charts/epinio-ui
+ tags:
+ - epinio-ui
+- condition: kubed.enabled, global.kubed.enabled
+ name: kubed
+ repository: file://./charts/kubed
+ tags:
+ - kubed
+- condition: minio.enabled, global.minio.enabled
+ name: minio
+ repository: file://./charts/minio
+ tags:
+ - minio
+description: Epinio deploys Kubernetes applications directly from source code in one
+ step.
+home: https://github.com/epinio/epinio
+icon: https://charts.rancher.io/assets/logos/epinio.svg
+keywords:
+- epinio
+- paas
+maintainers:
+- email: team@epinio.io
+ name: SUSE
+name: epinio
+sources:
+- https://github.com/epinio/epinio
+version: 100.0.5+up1.6.2
diff --git a/charts/epinio/100.0.5+up1.6.2/README.md b/charts/epinio/100.0.5+up1.6.2/README.md
new file mode 100644
index 000000000..7bf1d1552
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/README.md
@@ -0,0 +1,94 @@
+# Epinio Helm Chart
+
+From app to URL in one command.
+
+## Introduction
+
+This chart deploys Epinio PaaS on a Kubernetes cluster. It also deploys some of
+its dependencies as subcharts.
+
+The documentation is centralized in the [doc website](https://docs.epinio.io).
+
+## Prerequisites
+
+Epinio needs a number of external components to be running on your cluster in order to
+work. You may already have those deployed, otherwise follow the instructions here
+to deploy them.
+
+Important: Some of the namespaces of the components are hardcoded in the Epinio
+code and thus are important to be the same as described here. In the future this
+may be configurable on the Epinio Helm chart.
+
+### Ingress Controller
+
+Epinio creates Ingress resources for the API server, the applications and depending
+on your setup, the internal container registry. Those resources won't work unless
+an Ingress controller is running on your cluster.
+
+If you don't have an Ingress controller already running, you can install Traefik with:
+
+```
+$ kubectl create namespace traefik
+$ export LOAD_BALANCER_IP=$(LOAD_BALANCER_IP:-) # Set this to the IP of your load balancer if you know that
+$ helm install traefik --namespace traefik "https://helm.traefik.io/traefik/traefik-10.3.4.tgz" \
+ --set globalArguments='' \
+ --set-string ports.web.redirectTo=websecure \
+ --set-string ingressClass.enabled=true \
+ --set-string ingressClass.isDefaultClass=true \
+ --set-string service.spec.loadBalancerIP=$LOAD_BALANCER_IP
+```
+
+### Cert Manager
+
+Epinio needs [cert-manager](https://cert-manager.io/) in order to create TLS
+certificates for the various Ingresses (see "Ingress controller" above).
+
+If cert-manager is not already installed on the cluster, it can be installed like this:
+
+```
+$ kubectl create namespace cert-manager
+$ helm repo add jetstack https://charts.jetstack.io
+$ helm repo update
+$ helm install cert-manager --namespace cert-manager jetstack/cert-manager \
+ --set installCRDs=true \
+ --set extraArgs[0]=--enable-certificate-owner-ref=true
+```
+
+### Kubed
+
+Kubed is installed as a subchart when `.Values.kubed.enabled` is true (default).
+If you already have kubed running, you can skip the installation by setting
+the helm value "kubed.enabled" to "false".
+
+### S3 storage
+
+Epinio is using an S3 compatible storage to store the application source code.
+This chart will install [Minio](https://min.io/) when `.Values.minio.enabled` is
+true (default). Any S3 compatible solution can be used instead by setting this
+value to `false` and using [the values under `s3`](https://github.com/epinio/helm-charts/blob/main/chart/epinio/values.yaml#L44)
+to point to the desired S3 server.
+
+### Container Registry
+
+When Epinio builds a container image for an application from source, it needs
+to store that image to a container registry. Epinio installs a container registry
+on the cluster when `.Values.containerregistry.enabled` is `true` (default).
+
+Any container registry that supports basic auth authentication can be used (e.g. gcr, dockerhub etc)
+instead by setting this value to `false` and using
+[the values under `registry`](https://github.com/epinio/helm-charts/blob/main/chart/epinio/values.yaml#L104-L107)
+to point to the desired container registry.
+
+## Install Epinio
+
+If the above dependencies are available or going to be installed by this chart,
+Epinio can be installed with the following:
+
+```
+$ helm repo add epinio https://epinio.github.io/helm-charts/
+$ helm install epinio -n epinio --create-namespace epinio/epinio --values epinio-values.yaml --set global.domain=myepiniodomain.org
+```
+
+The only value that is mandatory is the `.Values.global.domain` which
+should be a wildcard domain, pointing to the IP address of your running
+Ingress controller.
diff --git a/charts/epinio/100.0.5+up1.6.2/app-readme.md b/charts/epinio/100.0.5+up1.6.2/app-readme.md
new file mode 100644
index 000000000..f02cc0c36
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/app-readme.md
@@ -0,0 +1,8 @@
+# Epinio PaaS
+
+Opinionated platform that runs on Kubernetes to take you from Code to URL in one step.
+
+__Attention__:
+
+ - Requires `cert-manager` as dependency.
+ - Requires `helm-controller` as dependency.
diff --git a/charts/epinio/100.0.5+up1.6.2/assets/epinio-application-0.1.24.tgz b/charts/epinio/100.0.5+up1.6.2/assets/epinio-application-0.1.24.tgz
new file mode 100644
index 000000000..2cac4420b
Binary files /dev/null and b/charts/epinio/100.0.5+up1.6.2/assets/epinio-application-0.1.24.tgz differ
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/.helmignore b/charts/epinio/100.0.5+up1.6.2/charts/dex/.helmignore
new file mode 100644
index 000000000..00ca644b2
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/.helmignore
@@ -0,0 +1,25 @@
+# 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
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
+
+README.md.gotmpl
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/Chart.yaml b/charts/epinio/100.0.5+up1.6.2/charts/dex/Chart.yaml
new file mode 100644
index 000000000..fe64aabd1
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/Chart.yaml
@@ -0,0 +1,29 @@
+annotations:
+ artifacthub.io/changes: |
+ - kind: changed
+ description: "Update Dex to 2.35.3"
+ artifacthub.io/images: |
+ - name: dex
+ image: ghcr.io/dexidp/dex:v2.35.3
+apiVersion: v2
+appVersion: 2.35.3
+description: OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable
+ connectors.
+home: https://dexidp.io/
+icon: https://dexidp.io/favicon.png
+keywords:
+- oidc
+- oauth
+- identity-provider
+- saml
+kubeVersion: '>=1.14.0-0'
+maintainers:
+- email: mark.sagikazar@gmail.com
+ name: sagikazarmark
+ url: https://sagikazarmark.hu
+name: dex
+sources:
+- https://github.com/dexidp/dex
+- https://github.com/dexidp/helm-charts/tree/master/charts/dex
+type: application
+version: 0.12.1
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/LICENSE b/charts/epinio/100.0.5+up1.6.2/charts/dex/LICENSE
new file mode 100644
index 000000000..d64569567
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/README.md b/charts/epinio/100.0.5+up1.6.2/charts/dex/README.md
new file mode 100644
index 000000000..87812088c
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/README.md
@@ -0,0 +1,177 @@
+# dex
+
+![version: 0.12.1](https://img.shields.io/badge/version-0.12.1-informational?style=flat-square) ![type: application](https://img.shields.io/badge/type-application-informational?style=flat-square) ![app version: 2.35.3](https://img.shields.io/badge/app%20version-2.35.3-informational?style=flat-square) ![kube version: >=1.14.0-0](https://img.shields.io/badge/kube%20version->=1.14.0--0-informational?style=flat-square) [![artifact hub](https://img.shields.io/badge/artifact%20hub-dex-informational?style=flat-square)](https://artifacthub.io/packages/helm/dex/dex)
+
+OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable connectors.
+
+**Homepage:**
+
+## TL;DR;
+
+```bash
+helm repo add dex https://charts.dexidp.io
+helm install --generate-name --wait dex/dex
+```
+
+## Getting started
+
+### Minimal configuration
+
+Dex requires a minimal configuration in order to work.
+You can pass configuration to Dex using Helm values:
+
+```yaml
+config:
+ # Set it to a valid URL
+ issuer: http://my-issuer-url.com
+
+ # See https://dexidp.io/docs/storage/ for more options
+ storage:
+ type: memory
+
+ # Enable at least one connector
+ # See https://dexidp.io/docs/connectors/ for more options
+ enablePasswordDB: true
+```
+
+The above configuration won't make Dex automatically available on the configured URL.
+One (and probably the easiest) way to achieve that is configuring ingress:
+
+```yaml
+ingress:
+ enabled: true
+
+ hosts:
+ - host: my-issuer-url.com
+ paths:
+ - path: /
+```
+
+### Minimal TLS configuration
+
+HTTPS is basically mandatory these days, especially for authentication and authorization services.
+There are several solutions for protecting services with TlS in Kubernetes,
+but by far the most popular and portable is undoubtedly [Cert Manager](https://cert-manager.io).
+
+Cert Manager can be [installed](https://cert-manager.io/docs/installation/kubernetes) with a few steps:
+
+```shell
+helm repo add jetstack https://charts.jetstack.io
+helm repo update
+kubectl create namespace cert-manager
+helm install \
+ cert-manager jetstack/cert-manager \
+ --namespace cert-manager \
+ --set installCRDs=true
+```
+
+The next step is setting up an [issuer](https://cert-manager.io/docs/concepts/issuer/) (eg. [Let's Encrypt](https://letsencrypt.org/)):
+
+```shell
+cat <=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
+ {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
+ {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
+ {{- end }}
+{{- end }}
+{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
+apiVersion: networking.k8s.io/v1
+{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+apiVersion: networking.k8s.io/v1beta1
+{{- else -}}
+apiVersion: extensions/v1beta1
+{{- end }}
+kind: Ingress
+metadata:
+ name: {{ $fullName }}
+ labels:
+ {{- include "dex.labels" . | nindent 4 }}
+ {{- with .Values.ingress.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
+ ingressClassName: {{ .Values.ingress.className }}
+ {{- end }}
+ {{- if .Values.ingress.tls }}
+ tls:
+ {{- range .Values.ingress.tls }}
+ - hosts:
+ {{- range .hosts }}
+ - {{ . | quote }}
+ {{- end }}
+ secretName: {{ .secretName }}
+ {{- end }}
+ {{- end }}
+ rules:
+ {{- range .Values.ingress.hosts }}
+ - host: {{ .host | quote }}
+ http:
+ paths:
+ {{- range .paths }}
+ - path: {{ .path }}
+ {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
+ pathType: {{ .pathType }}
+ {{- end }}
+ backend:
+ {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
+ service:
+ name: {{ $fullName }}
+ port:
+ number: {{ $svcPort }}
+ {{- else }}
+ serviceName: {{ $fullName }}
+ servicePort: {{ $svcPort }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/networkpolicy.yaml b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/networkpolicy.yaml
new file mode 100644
index 000000000..acd51b9d8
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/networkpolicy.yaml
@@ -0,0 +1,35 @@
+{{- if .Values.networkPolicy.enabled }}
+{{- if semverCompare "<1.7-0" .Capabilities.KubeVersion.GitVersion -}}
+apiVersion: extensions/v1beta1
+{{- else -}}
+apiVersion: networking.k8s.io/v1
+{{- end }}
+kind: NetworkPolicy
+metadata:
+ name: {{ include "dex.fullname" . }}
+ labels:
+ {{- include "dex.labels" . | nindent 4 }}
+spec:
+ policyTypes:
+ {{- if .Values.networkPolicy.egressRules }}
+ - Egress
+ {{- end }}
+ - Ingress
+ podSelector:
+ matchLabels:
+ {{- include "dex.selectorLabels" . | nindent 6 }}
+ ingress:
+ - ports:
+ - port: http
+ {{- if .Values.https.enabled }}
+ - port: https
+ {{- end }}
+ {{- if .Values.grpc.enabled }}
+ - port: grpc
+ {{- end }}
+ - port: telemetry
+ {{- with .Values.networkPolicy.egressRules }}
+ egress:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/poddisruptionbudget.yaml b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/poddisruptionbudget.yaml
new file mode 100644
index 000000000..6ec1032ad
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/poddisruptionbudget.yaml
@@ -0,0 +1,22 @@
+{{- if .Values.podDisruptionBudget.enabled }}
+{{- if semverCompare ">=1.21-0" .Capabilities.KubeVersion.GitVersion -}}
+apiVersion: policy/v1
+{{- else -}}
+apiVersion: policy/v1beta1
+{{- end }}
+kind: PodDisruptionBudget
+metadata:
+ name: {{ template "dex.fullname" . }}
+ labels:
+{{ include "dex.labels" . | indent 4 }}
+spec:
+ {{- with .Values.podDisruptionBudget.minAvailable }}
+ minAvailable: {{ . }}
+ {{- end }}
+ {{- with .Values.podDisruptionBudget.maxUnavailable }}
+ maxUnavailable: {{ . }}
+ {{- end }}
+ selector:
+ matchLabels:
+ {{- include "dex.selectorLabels" . | nindent 6 }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/psp.yaml b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/psp.yaml
new file mode 100644
index 000000000..ab874e1f5
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/psp.yaml
@@ -0,0 +1,84 @@
+{{- if .Values.serviceAccount.create -}}
+{{- if .Values.global.rbac.pspEnabled }}
+
+---
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: {{ printf "%s-psp" .Values.serviceAccount.name | quote }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: {{ .Values.serviceAccount.name | quote }}
+ app: {{ .Values.serviceAccount.name | quote }}
+{{- if .Values.global.rbac.pspAnnotations }}
+ annotations: {{ toYaml .Values.global.rbac.pspAnnotations | nindent 4 }}
+{{- end }}
+spec:
+ privileged: false
+ hostNetwork: false
+ hostIPC: false
+ hostPID: false
+ runAsUser:
+ # Permits the container to run with root privileges as well.
+ rule: 'RunAsAny'
+ seLinux:
+ # This policy assumes the nodes are using AppArmor rather than SELinux.
+ rule: 'RunAsAny'
+ supplementalGroups:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ fsGroup:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ readOnlyRootFilesystem: false
+
+---
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: {{ printf "%s-psp" .Values.serviceAccount.name | quote }}
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: {{ .Values.serviceAccount.name | quote }}
+ app: {{ .Values.serviceAccount.name | quote }}
+rules:
+{{- if semverCompare "> 1.15.0-0" .Capabilities.KubeVersion.GitVersion }}
+- apiGroups: ['policy']
+{{- else }}
+- apiGroups: ['extensions']
+{{- end }}
+ resources: ['podsecuritypolicies']
+ verbs: ['use']
+ resourceNames:
+ - {{ printf "%s-psp" .Values.serviceAccount.name | quote }}
+
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: {{ printf "%s-psp" .Values.serviceAccount.name | quote }}
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: {{ .Values.serviceAccount.name | quote }}
+ app: {{ .Values.serviceAccount.name | quote }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ printf "%s-psp" .Values.serviceAccount.name | quote }}
+subjects:
+ - kind: ServiceAccount
+ name: {{ .Values.serviceAccount.name | quote }}
+ namespace: {{ .Release.Namespace }}
+
+{{- end }}
+{{- end -}}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/rbac.yaml b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/rbac.yaml
new file mode 100644
index 000000000..333f2f100
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/rbac.yaml
@@ -0,0 +1,55 @@
+{{- if .Values.rbac.create }}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: {{ include "dex.fullname" . }}
+ labels:
+ {{- include "dex.labels" . | nindent 4 }}
+rules:
+ - apiGroups: ["dex.coreos.com"]
+ resources: ["*"]
+ verbs: ["*"]
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: {{ include "dex.fullname" . }}
+ labels:
+ {{- include "dex.labels" . | nindent 4 }}
+roleRef:
+ kind: Role
+ apiGroup: rbac.authorization.k8s.io
+ name: {{ include "dex.fullname" . }}
+subjects:
+- kind: ServiceAccount
+ namespace: {{ .Release.Namespace }}
+ name: {{ include "dex.serviceAccountName" . }}
+{{- if .Values.rbac.createClusterScoped }}
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ include "dex.fullname" . }}
+ labels:
+ {{- include "dex.labels" . | nindent 4 }}
+rules:
+ - apiGroups: ["apiextensions.k8s.io"]
+ resources: ["customresourcedefinitions"]
+ verbs: ["list", "create"]
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ include "dex.fullname" . }}-cluster
+ labels:
+ {{- include "dex.labels" . | nindent 4 }}
+roleRef:
+ kind: ClusterRole
+ apiGroup: rbac.authorization.k8s.io
+ name: {{ include "dex.fullname" . }}
+subjects:
+- kind: ServiceAccount
+ namespace: {{ .Release.Namespace }}
+ name: {{ include "dex.serviceAccountName" . }}
+{{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/secret.yaml b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/secret.yaml
new file mode 100644
index 000000000..27d39546e
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/secret.yaml
@@ -0,0 +1,11 @@
+{{- if .Values.configSecret.create -}}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "dex.configSecretName" . }}
+ labels:
+ {{- include "dex.labels" . | nindent 4 }}
+type: Opaque
+data:
+ config.yaml: {{ .Values.config | toYaml | b64enc | quote }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/service.yaml b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/service.yaml
new file mode 100644
index 000000000..8114e8d59
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/service.yaml
@@ -0,0 +1,59 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "dex.fullname" . }}
+ labels:
+ {{- include "dex.labels" . | nindent 4 }}
+ {{- with .Values.service.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ type: {{ .Values.service.type }}
+ {{- with .Values.service.clusterIP }}
+ clusterIP: {{ . }}
+ {{- end }}
+ ports:
+ - name: http
+ port: {{ .Values.service.ports.http.port }}
+ {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) .Values.service.ports.http.nodePort }}
+ nodePort: {{ .Values.service.ports.http.nodePort }}
+ {{- end }}
+ targetPort: http
+ protocol: TCP
+ {{- if semverCompare ">=1.20-0" .Capabilities.KubeVersion.GitVersion }}
+ appProtocol: http
+ {{- end }}
+ {{- if .Values.https.enabled }}
+ - name: https
+ port: {{ .Values.service.ports.https.port }}
+ {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) .Values.service.ports.https.nodePort }}
+ nodePort: {{ .Values.service.ports.https.nodePort }}
+ {{- end }}
+ targetPort: https
+ protocol: TCP
+ {{- if semverCompare ">=1.20-0" .Capabilities.KubeVersion.GitVersion }}
+ appProtocol: https
+ {{- end }}
+ {{- end }}
+ {{- if .Values.grpc.enabled }}
+ - name: grpc
+ port: {{ .Values.service.ports.grpc.port }}
+ {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) .Values.service.ports.grpc.nodePort }}
+ nodePort: {{ .Values.service.ports.grpc.nodePort }}
+ {{- end }}
+ targetPort: grpc
+ protocol: TCP
+ {{- if semverCompare ">=1.20-0" .Capabilities.KubeVersion.GitVersion }}
+ appProtocol: http
+ {{- end }}
+ {{- end }}
+ - name: telemetry
+ port: 5558
+ targetPort: telemetry
+ protocol: TCP
+ {{- if semverCompare ">=1.20-0" .Capabilities.KubeVersion.GitVersion }}
+ appProtocol: http
+ {{- end }}
+ selector:
+ {{- include "dex.selectorLabels" . | nindent 4 }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/serviceaccount.yaml b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/serviceaccount.yaml
new file mode 100644
index 000000000..30c3ddd90
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/serviceaccount.yaml
@@ -0,0 +1,12 @@
+{{- if .Values.serviceAccount.create -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ include "dex.serviceAccountName" . }}
+ labels:
+ {{- include "dex.labels" . | nindent 4 }}
+ {{- with .Values.serviceAccount.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/servicemonitor.yaml b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/servicemonitor.yaml
new file mode 100644
index 000000000..34e161e81
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/servicemonitor.yaml
@@ -0,0 +1,30 @@
+{{- if .Values.serviceMonitor.enabled }}
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+ name: {{ include "dex.fullname" . }}
+ {{- with .Values.serviceMonitor.namespace }}
+ namespace: {{ . }}
+ {{- end }}
+ labels:
+ {{- include "dex.labels" . | nindent 4 }}
+ {{- with .Values.serviceMonitor.labels }}
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ endpoints:
+ - port: telemetry
+ {{- with .Values.serviceMonitor.interval }}
+ interval: {{ . }}
+ {{- end }}
+ {{- with .Values.serviceMonitor.scrapeTimeout }}
+ scrapeTimeout: {{ . }}
+ {{- end }}
+ jobLabel: {{ include "dex.fullname" . }}
+ selector:
+ matchLabels:
+ {{- include "dex.selectorLabels" . | nindent 6 }}
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/tests/no-config-secret.yaml b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/tests/no-config-secret.yaml
new file mode 100644
index 000000000..4b7804f54
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/templates/tests/no-config-secret.yaml
@@ -0,0 +1,13 @@
+{{- if not .Values.configSecret.create -}}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "dex.configSecretName" . }}-test-no-create
+ labels:
+ {{- include "dex.labels" . | nindent 4 }}
+ annotations:
+ "helm.sh/hook": test
+type: Opaque
+data:
+ config.yaml: {{ .Values.config | toYaml | b64enc | quote }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/dex/values.yaml b/charts/epinio/100.0.5+up1.6.2/charts/dex/values.yaml
new file mode 100644
index 000000000..42202be2b
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/dex/values.yaml
@@ -0,0 +1,275 @@
+# Default values for dex.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+# -- Number of replicas (pods) to launch.
+replicaCount: 1
+
+image:
+ # -- Name of the image repository to pull the container image from.
+ repository: rancher/mirrored-dexidp-dex
+ tag: v2.35.3
+
+ # -- [Image pull policy](https://kubernetes.io/docs/concepts/containers/images/#updating-images) for updating already existing images on a node.
+ pullPolicy: IfNotPresent
+
+# -- Reference to one or more secrets to be used when [pulling images](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-pod-that-uses-your-secret) (from private registries).
+imagePullSecrets: []
+
+# -- A name in place of the chart name for `app:` labels.
+nameOverride: ""
+
+# -- A name to substitute for the full names of resources.
+fullnameOverride: ""
+
+# -- A list of hosts and IPs that will be injected into the pod's hosts file if specified.
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#hostname-and-name-resolution)
+hostAliases: []
+
+https:
+ # -- Enable the HTTPS endpoint.
+ enabled: false
+
+grpc:
+ # -- Enable the gRPC endpoint.
+ # Read more in the [documentation](https://dexidp.io/docs/api/).
+ enabled: false
+
+configSecret:
+ # -- Enable creating a secret from the values passed to `config`.
+ # If set to false, name must point to an existing secret.
+ create: true
+
+ # -- The name of the secret to mount as configuration in the pod.
+ # If not set and create is true, a name is generated using the fullname template.
+ # Must point to secret that contains at least a `config.yaml` key.
+ name: ""
+
+# -- Application configuration.
+# See the [official documentation](https://dexidp.io/docs/).
+config: {}
+
+# -- Additional storage [volumes](https://kubernetes.io/docs/concepts/storage/volumes/).
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#volumes-1) for details.
+volumes: []
+
+# -- Additional [volume mounts](https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/).
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#volumes-1) for details.
+volumeMounts: []
+
+# -- Additional environment variables mounted from [secrets](https://kubernetes.io/docs/concepts/configuration/secret/#using-secrets-as-environment-variables) or [config maps](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables).
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#environment-variables) for details.
+envFrom: []
+
+# -- Additional environment variables passed directly to containers.
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#environment-variables) for details.
+env: {}
+
+# -- Similar to env but with support for all possible configurations.
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#environment-variables) for details.
+envVars: []
+# - name: SOME_ENV_VAR
+# value: value
+# - name: SOME_ENV_VAR2
+# valueFrom:
+# secretKeyRef:
+# name: secret-name
+# key: secret-key
+# - name: SOME_ENV_VAR3
+# valueFrom:
+# configMapKeyRef:
+# name: config-map-name
+# key: config-map-key
+
+serviceAccount:
+ # -- Enable service account creation.
+ create: true
+
+ # -- Annotations to be added to the service account.
+ annotations: {}
+
+ # -- The name of the service account to use.
+ # If not set and create is true, a name is generated using the fullname template.
+ name: "dex-sa"
+
+rbac:
+ # -- Specifies whether RBAC resources should be created.
+ # If disabled, the operator is responsible for creating the necessary resources based on the templates.
+ create: true
+
+ # -- Specifies which RBAC resources should be created.
+ # If disabled, the operator is responsible for creating the necessary resources (ClusterRole and RoleBinding or CRD's)
+ createClusterScoped: true
+
+# -- Annotations to be added to pods.
+podAnnotations: {}
+
+podDisruptionBudget:
+ # -- Enable a [pod distruption budget](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) to help dealing with [disruptions](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/).
+ # It is **highly recommended** for webhooks as disruptions can prevent launching new pods.
+ enabled: false
+
+ # -- (int/percentage) Number or percentage of pods that must remain available.
+ minAvailable:
+
+ # -- (int/percentage) Number or percentage of pods that can be unavailable.
+ maxUnavailable:
+
+# -- Specify a priority class name to set [pod priority](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#pod-priority).
+priorityClassName: ""
+
+# -- Pod [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod).
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context) for details.
+podSecurityContext: {}
+ # fsGroup: 2000
+
+# -- Container [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container).
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) for details.
+securityContext: {}
+ # capabilities:
+ # drop:
+ # - ALL
+ # readOnlyRootFilesystem: true
+ # runAsNonRoot: true
+ # runAsUser: 1000
+
+service:
+ # -- Annotations to be added to the service.
+ annotations: {}
+
+ # -- Kubernetes [service type](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types).
+ type: ClusterIP
+
+ # -- Internal cluster service IP (when applicable)
+ clusterIP: ""
+
+ ports:
+ http:
+ # -- HTTP service port
+ port: 5556
+
+ # -- (int) HTTP node port (when applicable)
+ nodePort:
+
+ https:
+ # -- HTTPS service port
+ port: 5554
+
+ # -- (int) HTTPS node port (when applicable)
+ nodePort:
+
+ grpc:
+ # -- gRPC service port
+ port: 5557
+
+ # -- (int) gRPC node port (when applicable)
+ nodePort:
+
+ingress:
+ # -- Enable [ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/).
+ enabled: false
+
+ # -- Ingress [class name](https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class).
+ className: ""
+
+ # -- Annotations to be added to the ingress.
+ annotations: {}
+ # kubernetes.io/ingress.class: nginx
+ # kubernetes.io/tls-acme: "true"
+
+ # -- Ingress host configuration.
+ # @default -- See [values.yaml](values.yaml).
+ hosts:
+ - host: chart-example.local
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+
+ # -- Ingress TLS configuration.
+ # @default -- See [values.yaml](values.yaml).
+ tls: []
+ # - secretName: chart-example-tls
+ # hosts:
+ # - chart-example.local
+
+serviceMonitor:
+ # -- Enable Prometheus ServiceMonitor.
+ # See the [documentation](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/design.md#servicemonitor) and the [API reference](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#servicemonitor) for details.
+ enabled: false
+
+ # -- Namespace where the ServiceMonitor resource should be deployed.
+ # @default -- Release namespace.
+ namespace: ""
+
+ # -- (duration) Prometheus scrape interval.
+ interval:
+
+ # -- (duration) Prometheus scrape timeout.
+ scrapeTimeout:
+
+ # -- Labels to be added to the ServiceMonitor.
+ labels: {}
+
+# -- Container resource [requests and limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/).
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources) for details.
+# @default -- No requests or limits.
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ # limits:
+ # cpu: 100m
+ # memory: 128Mi
+ # requests:
+ # cpu: 100m
+ # memory: 128Mi
+
+# -- Autoscaling configuration (see [values.yaml](values.yaml) for details).
+# @default -- Disabled by default.
+autoscaling:
+ enabled: false
+ minReplicas: 1
+ maxReplicas: 100
+ targetCPUUtilizationPercentage: 80
+ # targetMemoryUtilizationPercentage: 80
+
+# -- [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) configuration.
+nodeSelector: {}
+
+# -- [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for node taints.
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) for details.
+tolerations: []
+
+# -- [Affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) configuration.
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) for details.
+affinity: {}
+
+# -- [TopologySpreadConstraints](https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/) configuration.
+# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) for details.
+topologySpreadConstraints: []
+
+# -- Deployment [strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) configuration.
+strategy: {}
+ # rollingUpdate:
+ # maxUnavailable: 1
+ # type: RollingUpdate
+
+networkPolicy:
+ # -- Create [Network Policies](https://kubernetes.io/docs/concepts/services-networking/network-policies/)
+ enabled: false
+ # -- A list of network policy egress rules
+ egressRules: []
+ # Allow DNS egress traffic
+ # - ports:
+ # - port: 53
+ # protocol: UDP
+ # - port: 53
+ # protocol: TCP
+ # Example to allow LDAP connector to reach LDAPs port on 1.2.3.4 server
+ # - to:
+ # - ipBlock
+ # cidr: 1.2.3.4/32
+ # ports:
+ # - port: 636
+ # protocol: TCP
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/.helmignore b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/.helmignore
new file mode 100644
index 000000000..0e8a0eb36
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/.helmignore
@@ -0,0 +1,23 @@
+# 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
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/Chart.yaml b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/Chart.yaml
new file mode 100644
index 000000000..a92cf86c3
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/Chart.yaml
@@ -0,0 +1,18 @@
+annotations:
+ artifacthub.io/license: Apache-2.0
+apiVersion: v2
+appVersion: v1.5.1-0.0.3
+description: A Helm chart for the Epinio UI
+home: https://github.com/epinio/epinio
+icon: https://charts.rancher.io/assets/logos/epinio.svg
+keywords:
+- epinio
+- paas
+maintainers:
+- email: team@epinio.io
+ name: SUSE
+name: epinio-ui
+sources:
+- https://github.com/epinio/ui
+type: application
+version: 1.5.3
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/_helpers.tpl b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/_helpers.tpl
new file mode 100644
index 000000000..042c2f861
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/_helpers.tpl
@@ -0,0 +1,100 @@
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "epinio-ui.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
+{{- 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 "epinio-ui.fullname" -}}
+{{- if .Values.fullnameOverride }}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- $name := default .Chart.Name .Values.nameOverride }}
+{{- if contains $name .Release.Name }}
+{{- .Release.Name | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "epinio-ui.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "epinio-ui.labels" -}}
+helm.sh/chart: {{ include "epinio-ui.chart" . }}
+{{ include "epinio-ui.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "epinio-ui.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "epinio-ui.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "epinio-ui.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create }}
+{{- default (include "epinio-ui.fullname" .) .Values.serviceAccount.name }}
+{{- else }}
+{{- default "default" .Values.serviceAccount.name }}
+{{- end }}
+{{- end }}
+
+{{/*
+URL registry prefix for container images (Rancher compatibility support)
+*/}}
+{{- define "epinio-ui.registry" -}}
+{{- if .Values.global.cattle -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{ trimSuffix "/" .Values.global.cattle.systemDefaultRegistry }}/
+{{- else -}}
+{{ if .Values.epinioUI.image.registry }}
+{{ .Values.epinioUI.image.registry }}/
+{{- end -}}
+{{- end -}}
+{{- else -}}
+{{ if .Values.epinioUI.image.registry }}
+{{ .Values.epinioUI.image.registry }}/
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Windows cluster will add default taint for linux nodes, add below linux tolerations to
+workloads could be scheduled to those linux nodes
+*/}}
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+beta.kubernetes.io/os: linux
+{{- else -}}
+kubernetes.io/os: linux
+{{- end -}}
+{{- end -}}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/certificate.yaml b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/certificate.yaml
new file mode 100644
index 000000000..a04bc53fd
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/certificate.yaml
@@ -0,0 +1,14 @@
+{{- if .Values.ingress.enabled }}
+apiVersion: cert-manager.io/v1
+kind: Certificate
+metadata:
+ name: epinio-ui
+ namespace: {{ .Release.Namespace }}
+spec:
+ dnsNames:
+ - {{ .Values.global.domain }}
+ issuerRef:
+ kind: ClusterIssuer
+ name: {{ .Values.global.tlsIssuer }}
+ secretName: epinio-ui-tls
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/ingress.yaml b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/ingress.yaml
new file mode 100644
index 000000000..749ee71d6
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/ingress.yaml
@@ -0,0 +1,32 @@
+{{- if .Values.ingress.enabled }}
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ annotations:
+ traefik.ingress.kubernetes.io/router.entrypoints: websecure
+ traefik.ingress.kubernetes.io/router.tls: "true"
+ labels:
+ {{- include "epinio-ui.labels" . | nindent 4 }}
+ name: epinio-ui
+ namespace: {{ .Release.Namespace }}
+spec:
+ {{- if .Values.ingress.ingressClassName }}
+ ingressClassName: "{{ .Values.ingress.ingressClassName }}"
+ {{- end }}
+ rules:
+ - host: {{ .Values.global.domain }}
+ http:
+ paths:
+ - backend:
+ service:
+ name: epinio-ui
+ port:
+ number: 80
+ path: /
+ pathType: ImplementationSpecific
+ tls:
+ - hosts:
+ - {{ .Values.global.domain }}
+ secretName: epinio-ui-tls
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/security.yaml b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/security.yaml
new file mode 100644
index 000000000..3fd2cca0d
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/security.yaml
@@ -0,0 +1,88 @@
+{{- if .Values.global.rbac.pspEnabled }}
+
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: epinio-ui
+ namespace: {{ .Release.Namespace }}
+
+---
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: epinio-ui-psp
+ namespace: {{ .Release.Namespace }}
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: epinio-ui
+ app: epinio-ui
+{{- if .Values.global.rbac.pspAnnotations }}
+ annotations: {{ toYaml .Values.global.rbac.pspAnnotations | nindent 4 }}
+{{- end }}
+spec:
+ privileged: false
+ hostNetwork: false
+ hostIPC: false
+ hostPID: false
+ runAsUser:
+ # Permits the container to run with root privileges as well.
+ rule: 'RunAsAny'
+ seLinux:
+ # This policy assumes the nodes are using AppArmor rather than SELinux.
+ rule: 'RunAsAny'
+ supplementalGroups:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ fsGroup:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ readOnlyRootFilesystem: false
+
+---
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: epinio-ui-psp
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: epinio-ui
+ app: epinio-ui
+rules:
+{{- if semverCompare "> 1.15.0-0" .Capabilities.KubeVersion.GitVersion }}
+- apiGroups: ['policy']
+{{- else }}
+- apiGroups: ['extensions']
+{{- end }}
+ resources: ['podsecuritypolicies']
+ verbs: ['use']
+ resourceNames:
+ - epinio-ui-psp
+
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: epinio-ui-psp
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: epinio-ui
+ app: epinio-ui
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: epinio-ui-psp
+subjects:
+ - kind: ServiceAccount
+ name: epinio-ui
+ namespace: {{ .Release.Namespace }}
+
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/server.yaml b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/server.yaml
new file mode 100644
index 000000000..8252344f7
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/server.yaml
@@ -0,0 +1,110 @@
+{{- $secret := (lookup "v1" "Secret" .Release.Namespace "epinio-ui").data -}}
+{{- $encryptionKey := empty $secret | ternary (printf "%x" (randAscii 32)) (b64dec (default "" $secret.encryptionKey)) -}}
+{{- $sessionSecret := empty $secret | ternary (randAlphaNum 16) (b64dec (default "" $secret.sessionSecret)) -}}
+
+---
+apiVersion: v1
+kind: Secret
+type: Opaque
+metadata:
+ name: epinio-ui
+ namespace: {{ .Release.Namespace }}
+stringData:
+ encryptionKey: {{ $encryptionKey }}
+ sessionSecret: {{ $sessionSecret }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: epinio-ui
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "epinio-ui.labels" . | nindent 4 }}
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ {{- include "epinio-ui.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ labels:
+ {{- include "epinio-ui.labels" . | nindent 8 }}
+ spec:
+ nodeSelector:
+ {{- include "linux-node-selector" . | nindent 8 }}
+ tolerations:
+ {{- include "linux-node-tolerations" . | nindent 8 }}
+{{- if .Values.global.rbac.pspEnabled }}
+ serviceAccountName: epinio-ui
+{{- end }}
+ containers:
+ - name: epinio-ui
+ image: {{ template "epinio-ui.registry" . }}{{ .Values.epinioUI.image.repository }}:{{ .Values.epinioUI.image.tag }}
+ imagePullPolicy: {{ .Values.epinioUI.imagePullPolicy }}
+ workingDir: /db
+
+ env:
+ - name: ALLOWED_ORIGINS
+ value: {{ default (printf "https://epinio.%s" .Values.global.domain) .Values.epinioAllowedOrigins }}
+ - name: EPINIO_API_URL
+ value: {{ default (printf "http://epinio-server.%s.svc.cluster.local" .Release.Namespace) .Values.epinioAPIURL }}
+ - name: EPINIO_WSS_URL
+ value: {{ default (printf "ws://epinio-server.%s.svc.cluster.local" .Release.Namespace) .Values.epinioWSSURL }}
+ - name: EPINIO_API_SKIP_SSL
+ value: {{ .Values.epinioAPISkipSSL | quote }}
+ - name: EPINIO_VERSION
+ value: {{ (default .Chart.Version .Values.epinioVersion) | quote}}
+ - name: EPINIO_THEME
+ value: {{ (default "light" .Values.epinioTheme) | quote }}
+ - name: HTTP_CLIENT_TIMEOUT_IN_SECS
+ value: "120"
+ - name: SESSION_STORE_SECRET
+ valueFrom:
+ secretKeyRef:
+ name: epinio-ui
+ key: sessionSecret
+ - name: SESSION_STORE_EXPIRY
+ value: "1440"
+ - name: UI_PATH
+ value: "/ui"
+ - name: AUTH_ENDPOINT_TYPE
+ value: epinio
+ - name: ENCRYPTION_KEY
+ valueFrom:
+ secretKeyRef:
+ name: epinio-ui
+ key: encryptionKey
+
+ - name: DATABASE_PROVIDER
+ value: sqlite
+ - name: HTTPS
+ value: "false"
+ - name: CONSOLE_PROXY_TLS_ADDRESS
+ value: 0.0.0.0:8000
+ - name: LOG_LEVEL
+ value: {{ .Values.logLevel | quote }}
+
+ {{- with .Values.volumeMounts }}
+ volumeMounts:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+
+ securityContext:
+ runAsUser: 1000
+ runAsNonRoot: true
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ livenessProbe:
+ tcpSocket:
+ port: 8000
+ initialDelaySeconds: 15
+ periodSeconds: 20
+ readinessProbe:
+ tcpSocket:
+ port: 8000
+ initialDelaySeconds: 5
+ periodSeconds: 5
+ {{- with .Values.volumes }}
+ volumes:
+ {{- toYaml . | nindent 6 }}
+ {{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/service.yaml b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/service.yaml
new file mode 100644
index 000000000..442a72642
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/templates/service.yaml
@@ -0,0 +1,16 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: epinio-ui
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "epinio-ui.labels" . | nindent 4 }}
+spec:
+ type: ClusterIP
+ selector:
+ {{- include "epinio-ui.selectorLabels" . | nindent 4 }}
+ ports:
+ - name: ui
+ port: 80
+ targetPort: 8000
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/values.yaml b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/values.yaml
new file mode 100644
index 000000000..be8d8e354
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/epinio-ui/values.yaml
@@ -0,0 +1,44 @@
+epinioUI:
+ image:
+ repository: rancher/mirrored-epinio-epinio-ui
+ tag: v1.5.1-0.0.3
+ imagePullPolicy: IfNotPresent
+ingress:
+ enabled: true
+ # The ingressClassName is used to select the ingress controller. If empty no class will be added to the ingresses.
+ ingressClassName: ""
+global:
+ domain: ui.epinio.dev
+ tlsIssuer: selfsigned-issuer
+logLevel: info
+# API URL of epinio instance, for proxied connections, defaults to http://epinio-server.%s.svc.cluster.local"
+epinioAPIURL: ""
+epinioWSSURL: ""
+# Domain that will serve the UI and be the origin of browser requests, used by CORS process
+epinioAllowedOrigins: ""
+# Skip checking for valid SSL cert when making requests to `EPINIO_API_URL`
+# epinioAPISkipSSL: "true"
+# This is the version that is displayed in the ui and should match that of the epinio it's targetting
+# epinioVersion: "v0.8.0"
+# Epinio standalone only supports a single theme, either light or dark
+epinioTheme: "light"
+volumeMounts:
+ - name: tmp
+ mountPath: /tmp
+ readOnly: false
+ - name: db
+ mountPath: /db
+ readOnly: false
+# - name: ui
+# mountPath: /ui
+# subPath: dist
+# readOnly: true
+
+volumes:
+ - name: tmp
+ emptyDir: {}
+ - name: db
+ emptyDir: {}
+# - name: ui
+# persistentVolumeClaim:
+# claimName: ui
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/.helmignore b/charts/epinio/100.0.5+up1.6.2/charts/kubed/.helmignore
new file mode 100644
index 000000000..be86b789d
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/.helmignore
@@ -0,0 +1,23 @@
+# 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
+# Helm files
+OWNERS
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/Chart.yaml b/charts/epinio/100.0.5+up1.6.2/charts/kubed/Chart.yaml
new file mode 100644
index 000000000..b01e55e5e
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/Chart.yaml
@@ -0,0 +1,12 @@
+apiVersion: v1
+appVersion: v0.13.2
+description: Config Syncer by AppsCode - Kubernetes daemon
+home: https://github.com/kubeops/config-syncer
+icon: https://cdn.appscode.com/images/products/kubed/icons/android-icon-192x192.png
+maintainers:
+- email: support@appscode.com
+ name: appscode
+name: kubed
+sources:
+- https://github.com/kubeops/config-syncer
+version: v0.13.2
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/README.md b/charts/epinio/100.0.5+up1.6.2/charts/kubed/README.md
new file mode 100644
index 000000000..d747c5176
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/README.md
@@ -0,0 +1,94 @@
+# Config Syncer
+
+[Config Syncer by AppsCode](https://github.com/kubeops/config-syncer) - A Kubernetes cluster manager daemon
+
+## TL;DR;
+
+```console
+$ helm repo add appscode https://charts.appscode.com/stable/
+$ helm repo update
+$ helm install kubed appscode/kubed -n kube-system
+```
+
+## Introduction
+
+This chart deploys a Config Syncer operator on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
+
+## Prerequisites
+
+- Kubernetes 1.11+
+
+## Installing the Chart
+
+To install the chart with the release name `kubed`:
+
+```console
+$ helm install kubed appscode/kubed -n kube-system
+```
+
+The command deploys a Config Syncer operator on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
+
+> **Tip**: List all releases using `helm list`
+
+## Uninstalling the Chart
+
+To uninstall/delete the `kubed`:
+
+```console
+$ helm delete kubed -n kube-system
+```
+
+The command removes all the Kubernetes components associated with the chart and deletes the release.
+
+## Configuration
+
+The following table lists the configurable parameters of the `kubed` chart and their default values.
+
+| Parameter | Description | Default |
+|--------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------|
+| nameOverride | Overrides name template | ""
|
+| fullnameOverride | Overrides fullname template | ""
|
+| replicaCount | Number of Config Syncer operator replicas to create (only 1 is supported) | 1
|
+| operator.registry | Docker registry used to pull Config Syncer operator image | appscode
|
+| operator.repository | Config Syncer operator container image | kubed
|
+| operator.tag | Config Syncer operator container image tag | v0.13.2
|
+| operator.resources | Compute Resources required by the operator container | {}
|
+| operator.securityContext | Security options the operator container should run with | {}
|
+| imagePullSecrets | Specify an array of imagePullSecrets. Secrets must be manually created in the namespace.
Example:
`helm template charts/kubed \`
`--set imagePullSecrets[0].name=sec0 \`
`--set imagePullSecrets[1].name=sec1` | []
|
+| imagePullPolicy | Container image pull policy | IfNotPresent
|
+| criticalAddon | If true, installs Config Syncer operator as critical addon | false
|
+| logLevel | Log level for operator | 3
|
+| annotations | Annotations applied to operator deployment | {}
|
+| podAnnotations | Annotations passed to operator pod(s). | {}
|
+| nodeSelector | Node labels for pod assignment | {}
|
+| tolerations | Tolerations for pod assignment | []
|
+| affinity | Affinity rules for pod assignment | {}
|
+| podSecurityContext | Security options the operator pod should run with. | {"fsGroup":65535}
|
+| serviceAccount.create | Specifies whether a service account should be created | true
|
+| serviceAccount.annotations | Annotations to add to the service account | {}
|
+| serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | ""
|
+| apiserver.securePort | Port used by Config Syncer server | "8443"
|
+| apiserver.useKubeapiserverFqdnForAks | If true, uses kube-apiserver FQDN for AKS cluster to workaround https://github.com/Azure/AKS/issues/522 (default true) | true
|
+| apiserver.healthcheck.enabled | healthcheck configures the readiness and liveliness probes for the operator pod. | false
|
+| apiserver.servingCerts.generate | If true, generates on install/upgrade the certs that allow the kube-apiserver (and potentially ServiceMonitor) to authenticate operators pods. Otherwise specify certs in `apiserver.servingCerts.{caCrt, serverCrt, serverKey}`. | true
|
+| apiserver.servingCerts.caCrt | CA certficate used by serving certificate of Config Syncer server. | ""
|
+| apiserver.servingCerts.serverCrt | Serving certficate used by Config Syncer server. | ""
|
+| apiserver.servingCerts.serverKey | Private key for the serving certificate used by Config Syncer server. | ""
|
+| enableAnalytics | If true, sends usage analytics | true
|
+| config.clusterName | Set cluster-name to something meaningful to you, say, prod, prod-us-east, qa, etc. so that you can distinguish notifications sent by kubed | unicorn
|
+| config.configSourceNamespace | If set, configmaps and secrets from only this namespace will be synced | ""
|
+| config.kubeconfigContent | kubeconfig file content for configmap and secret syncer | ""
|
+
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example:
+
+```console
+$ helm install kubed appscode/kubed -n kube-system --set replicaCount=1
+```
+
+Alternatively, a YAML file that specifies the values for the parameters can be provided while
+installing the chart. For example:
+
+```console
+$ helm install kubed appscode/kubed -n kube-system --values values.yaml
+```
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/doc.yaml b/charts/epinio/100.0.5+up1.6.2/charts/kubed/doc.yaml
new file mode 100644
index 000000000..e3b2d7fae
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/doc.yaml
@@ -0,0 +1,18 @@
+project:
+ name: Config Syncer by AppsCode
+ shortName: Config Syncer
+ url: https://github.com/kubeops/config-syncer
+ description: A Kubernetes cluster manager daemon
+ app: a Config Syncer operator
+repository:
+ url: https://charts.appscode.com/stable/
+ name: appscode
+chart:
+ name: kubed
+ values: "-- generate from values file --"
+ valuesExample: "-- generate from values file --"
+prerequisites:
+- Kubernetes 1.11+
+release:
+ name: kubed
+ namespace: kube-system
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/NOTES.txt b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/NOTES.txt
new file mode 100644
index 000000000..aa9281fa0
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/NOTES.txt
@@ -0,0 +1,3 @@
+To verify that Config Syncer has started, run:
+
+ kubectl get deployment --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "kubed.name" . }},app.kubernetes.io/instance={{ .Release.Name }}"
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/_helpers.tpl b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/_helpers.tpl
new file mode 100644
index 000000000..cbdcb8c0d
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/_helpers.tpl
@@ -0,0 +1,93 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "kubed.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
+{{- 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 "kubed.fullname" -}}
+{{- if .Values.fullnameOverride }}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- $name := default .Chart.Name .Values.nameOverride }}
+{{- if contains $name .Release.Name }}
+{{- .Release.Name | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "kubed.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "kubed.labels" -}}
+helm.sh/chart: {{ include "kubed.chart" . }}
+{{ include "kubed.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "kubed.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "kubed.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "kubed.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create }}
+{{- default (include "kubed.fullname" .) .Values.serviceAccount.name }}
+{{- else }}
+{{- default "default" .Values.serviceAccount.name }}
+{{- end }}
+{{- end }}
+
+{{/*
+Windows cluster will add default taint for linux nodes, add below linux tolerations to
+workloads could be scheduled to those linux nodes
+*/}}
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+beta.kubernetes.io/os: linux
+{{- else -}}
+kubernetes.io/os: linux
+{{- end -}}
+{{- end -}}
+
+{{/*
+URL prefix for container images to be compatible with Rancher
+*/}}
+{{- define "registry-url" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{ trimSuffix "/" .Values.global.cattle.systemDefaultRegistry }}/
+{{- else -}}
+{{ .Values.operator.registry }}/
+{{- end -}}
+{{- end -}}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/apiregistration.yaml b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/apiregistration.yaml
new file mode 100644
index 000000000..fcbf02a36
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/apiregistration.yaml
@@ -0,0 +1,58 @@
+{{- $serverCrt := "" }}
+{{- $serverKey := "" }}
+{{- if .Values.apiserver.servingCerts.generate }}
+{{- $ca := genCA "ca" 3650 }}
+{{- $cn := include "kubed.fullname" . -}}
+{{- $altName1 := printf "%s.%s" $cn .Release.Namespace }}
+{{- $altName2 := printf "%s.%s.svc" $cn .Release.Namespace }}
+{{- $server := genSignedCert $cn nil (list $altName1 $altName2) 3650 $ca }}
+{{- $serverCrt = b64enc $server.Cert }}
+{{- $serverKey = b64enc $server.Key }}
+{{- else }}
+{{- $serverCrt = required "Required when apiserver.servingCerts.generate is false" .Values.apiserver.servingCerts.serverCrt }}
+{{- $serverKey = required "Required when apiserver.servingCerts.generate is false" .Values.apiserver.servingCerts.serverKey }}
+{{- end }}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ template "kubed.fullname" . }}-apiserver-cert
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubed.labels" . | nindent 4 }}
+type: Opaque
+data:
+ tls.crt: {{ $serverCrt }}
+ tls.key: {{ $serverKey }}
+---
+# to read the config for terminating authentication
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: {{ template "kubed.fullname" . }}-apiserver-extension-server-authentication-reader
+ namespace: kube-system
+ labels:
+ {{- include "kubed.labels" . | nindent 4 }}
+roleRef:
+ kind: Role
+ apiGroup: rbac.authorization.k8s.io
+ name: extension-apiserver-authentication-reader
+subjects:
+- kind: ServiceAccount
+ name: {{ template "kubed.serviceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
+---
+# to delegate authentication and authorization
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ template "kubed.fullname" . }}-apiserver-auth-delegator
+ labels:
+ {{- include "kubed.labels" . | nindent 4 }}
+roleRef:
+ kind: ClusterRole
+ apiGroup: rbac.authorization.k8s.io
+ name: system:auth-delegator
+subjects:
+- kind: ServiceAccount
+ name: {{ template "kubed.serviceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/cluster-role-binding.yaml b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/cluster-role-binding.yaml
new file mode 100644
index 000000000..8ea05646a
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/cluster-role-binding.yaml
@@ -0,0 +1,14 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ template "kubed.fullname" . }}
+ labels:
+ {{- include "kubed.labels" . | nindent 4 }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ template "kubed.fullname" . }}
+subjects:
+- kind: ServiceAccount
+ name: {{ template "kubed.serviceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/cluster-role.yaml b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/cluster-role.yaml
new file mode 100644
index 000000000..95e014790
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/cluster-role.yaml
@@ -0,0 +1,24 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ template "kubed.fullname" . }}
+ labels:
+ {{- include "kubed.labels" . | nindent 4 }}
+rules:
+- apiGroups: [""]
+ resources:
+ - configmaps
+ - secrets
+ verbs: ["get", "create", "patch", "delete", "list", "watch"]
+- apiGroups: [""]
+ resources:
+ - namespaces
+ verbs: ["get", "list", "watch"]
+- apiGroups: [""]
+ resources:
+ - nodes
+ verbs: ["list"]
+- apiGroups: [""]
+ resources:
+ - events
+ verbs: ["create"]
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/deployment.yaml b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/deployment.yaml
new file mode 100644
index 000000000..77efce771
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/deployment.yaml
@@ -0,0 +1,119 @@
+{{- $major := default "0" .Capabilities.KubeVersion.Major | trimSuffix "+" | int64 }}
+{{- $minor := default "0" .Capabilities.KubeVersion.Minor | trimSuffix "+" | int64 }}
+{{- $criticalAddon := and .Values.criticalAddon (or (eq .Release.Namespace "kube-system") (and (ge $major 1) (ge $minor 17))) -}}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "kubed.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubed.labels" . | nindent 4 }}
+ {{- with .Values.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ {{- include "kubed.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ labels:
+ {{- include "kubed.selectorLabels" . | nindent 8 }}
+ annotations:
+ checksum/apiregistration.yaml: {{ include (print $.Template.BasePath "/apiregistration.yaml") . | sha256sum }}
+ {{- if $criticalAddon }}
+ scheduler.alpha.kubernetes.io/critical-pod: ''
+ {{- end }}
+ {{- with .Values.podAnnotations }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ {{- with .Values.imagePullSecrets }}
+ imagePullSecrets:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ serviceAccountName: {{ include "kubed.serviceAccountName" . }}
+ containers:
+ - name: kubed
+ securityContext:
+ {{- toYaml .Values.operator.securityContext | nindent 10 }}
+ image: {{ template "registry-url" . }}{{ .Values.operator.repository }}:{{ .Values.operator.tag }}
+ imagePullPolicy: {{ .Values.imagePullPolicy }}
+ args:
+ - run
+ - --v={{ .Values.logLevel }}
+ - --secure-port={{ default "8443" .Values.apiserver.securePort }}
+ - --audit-log-path=-
+ - --tls-cert-file=/var/serving-cert/tls.crt
+ - --tls-private-key-file=/var/serving-cert/tls.key
+ - --use-kubeapiserver-fqdn-for-aks={{ .Values.apiserver.useKubeapiserverFqdnForAks }}
+ - --enable-analytics={{ .Values.enableAnalytics }}
+ {{- with .Values.config.clusterName }}
+ - --cluster-name={{ . }}
+ {{- end }}
+ {{- with .Values.config.configSourceNamespace }}
+ - --config-source-namespace={{ . }}
+ {{- end }}
+ {{- if .Values.config.kubeconfigContent }}
+ - --kubeconfig-file=/srv/kubed/kubeconfig
+ {{- end }}
+ {{- range .Values.config.additionalOptions }}
+ - {{ . }}
+ {{- end }}
+ ports:
+ - containerPort: {{ default "8443" .Values.apiserver.securePort }}
+ {{- if .Values.apiserver.healthcheck.enabled }}
+ readinessProbe:
+ httpGet:
+ path: /healthz
+ port: {{ default "8443" .Values.apiserver.securePort }}
+ scheme: HTTPS
+ initialDelaySeconds: 5
+ livenessProbe:
+ httpGet:
+ path: /healthz
+ port: {{ default "8443" .Values.apiserver.securePort }}
+ scheme: HTTPS
+ initialDelaySeconds: 5
+ {{- end }}
+ resources:
+ {{- toYaml .Values.operator.resources | nindent 10 }}
+ volumeMounts:
+ - name: config
+ mountPath: /srv/kubed
+ - name: scratch
+ mountPath: /tmp
+ - mountPath: /var/serving-cert
+ name: serving-cert
+ volumes:
+ - name: config
+ secret:
+ secretName: {{ template "kubed.fullname" . }}
+ - name: scratch
+ emptyDir: {}
+ - name: serving-cert
+ secret:
+ defaultMode: 420
+ secretName: {{ template "kubed.fullname" . }}-apiserver-cert
+ securityContext:
+ {{- toYaml .Values.podSecurityContext | nindent 8 }}
+ tolerations:
+ {{- include "linux-node-tolerations" . | nindent 8 }}
+ {{- with .Values.tolerations }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- if $criticalAddon }}
+ - key: CriticalAddonsOnly
+ operator: Exists
+ {{- end -}}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ nodeSelector:
+ {{- include "linux-node-selector" . | nindent 8 }}
+ {{- if $criticalAddon }}
+ priorityClassName: system-cluster-critical
+ {{- end -}}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/psp.yaml b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/psp.yaml
new file mode 100644
index 000000000..c10f3a97a
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/psp.yaml
@@ -0,0 +1,84 @@
+{{- if .Values.serviceAccount.create -}}
+{{- if .Values.global.rbac.pspEnabled }}
+
+---
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: {{ include "kubed.serviceAccountName" . }}-psp
+ namespace: {{ .Release.Namespace }}
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: {{ include "kubed.serviceAccountName" . }}
+ app: {{ include "kubed.serviceAccountName" . }}
+{{- if .Values.global.rbac.pspAnnotations }}
+ annotations: {{ toYaml .Values.global.rbac.pspAnnotations | nindent 4 }}
+{{- end }}
+spec:
+ privileged: false
+ hostNetwork: false
+ hostIPC: false
+ hostPID: false
+ runAsUser:
+ # Permits the container to run with root privileges as well.
+ rule: 'RunAsAny'
+ seLinux:
+ # This policy assumes the nodes are using AppArmor rather than SELinux.
+ rule: 'RunAsAny'
+ supplementalGroups:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ fsGroup:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ readOnlyRootFilesystem: false
+
+---
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: {{ include "kubed.serviceAccountName" . }}-psp
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: {{ include "kubed.serviceAccountName" . }}
+ app: {{ include "kubed.serviceAccountName" . }}
+rules:
+{{- if semverCompare "> 1.15.0-0" .Capabilities.KubeVersion.GitVersion }}
+- apiGroups: ['policy']
+{{- else }}
+- apiGroups: ['extensions']
+{{- end }}
+ resources: ['podsecuritypolicies']
+ verbs: ['use']
+ resourceNames:
+ - {{ include "kubed.serviceAccountName" . }}-psp
+
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: {{ include "kubed.serviceAccountName" . }}-psp
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: {{ include "kubed.serviceAccountName" . }}
+ app: {{ include "kubed.serviceAccountName" . }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ include "kubed.serviceAccountName" . }}-psp
+subjects:
+ - kind: ServiceAccount
+ name: {{ include "kubed.serviceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
+
+{{- end }}
+{{- end -}}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/secret.yaml b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/secret.yaml
new file mode 100644
index 000000000..a980ae34b
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/secret.yaml
@@ -0,0 +1,11 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ template "kubed.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubed.labels" . | nindent 4 }}
+data:
+ {{- if .Values.config.kubeconfigContent }}
+ kubeconfig: {{ .Values.config.kubeconfigContent | trim | b64enc | quote }}
+ {{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/service.yaml b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/service.yaml
new file mode 100644
index 000000000..95b76cf64
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/service.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ template "kubed.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubed.labels" . | nindent 4 }}
+spec:
+ ports:
+ # Port used to expose admission webhook apiserver
+ - name: api
+ port: 443
+ targetPort: {{ default "8443" .Values.apiserver.securePort }}
+ selector:
+ {{- include "kubed.selectorLabels" . | nindent 4 }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/serviceaccount.yaml b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/serviceaccount.yaml
new file mode 100644
index 000000000..96f9c84c1
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/templates/serviceaccount.yaml
@@ -0,0 +1,13 @@
+{{- if .Values.serviceAccount.create -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ include "kubed.serviceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubed.labels" . | nindent 4 }}
+ {{- with .Values.serviceAccount.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+{{- end -}}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/kubed/values.yaml b/charts/epinio/100.0.5+up1.6.2/charts/kubed/values.yaml
new file mode 100644
index 000000000..0be091855
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/kubed/values.yaml
@@ -0,0 +1,101 @@
+# Default values for kubed.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+# Overrides name template
+nameOverride: ""
+# Overrides fullname template
+fullnameOverride: ""
+
+# Number of Config Syncer operator replicas to create (only 1 is supported)
+replicaCount: 1
+
+operator:
+ # Config Syncer operator container image
+ repository: rancher/mirrored-appscode-kubed
+ # Config Syncer operator container image tag
+ tag: v0.13.2
+ # Compute Resources required by the operator container
+ resources: {}
+ # Security options the operator container should run with
+ securityContext: {}
+
+# Specify an array of imagePullSecrets.
+# Secrets must be manually created in the namespace.
+#
+# Example:
+# helm template charts/kubed \
+# --set imagePullSecrets[0].name=sec0 \
+# --set imagePullSecrets[1].name=sec1
+imagePullSecrets: []
+
+# Container image pull policy
+imagePullPolicy: IfNotPresent
+
+# If true, installs Config Syncer operator as critical addon
+criticalAddon: false
+
+# Log level for operator
+logLevel: 3
+
+# Annotations applied to operator deployment
+annotations: {}
+
+# Annotations passed to operator pod(s).
+podAnnotations: {}
+
+# Node labels for pod assignment
+nodeSelector: {}
+
+# Tolerations for pod assignment
+tolerations: []
+
+# Affinity rules for pod assignment
+affinity: {}
+
+# Security options the operator pod should run with.
+podSecurityContext: # +doc-gen:break
+ # ensure that s/a token is readable xref: https://issues.k8s.io/70679
+ fsGroup: 65535
+
+serviceAccount:
+ # Specifies whether a service account should be created
+ create: true
+ # Annotations to add to the service account
+ annotations: {}
+ # The name of the service account to use.
+ # If not set and create is true, a name is generated using the fullname template
+ name: ""
+
+apiserver:
+ # Port used by Config Syncer server
+ securePort: "8443"
+ # If true, uses kube-apiserver FQDN for AKS cluster to workaround https://github.com/Azure/AKS/issues/522 (default true)
+ useKubeapiserverFqdnForAks: true
+ healthcheck:
+ # healthcheck configures the readiness and liveliness probes for the operator pod.
+ enabled: false
+ servingCerts:
+ # If true, generates on install/upgrade the certs that allow the kube-apiserver (and potentially ServiceMonitor)
+ # to authenticate operators pods. Otherwise specify certs in `apiserver.servingCerts.{caCrt, serverCrt, serverKey}`.
+ generate: true
+ # CA certficate used by serving certificate of Config Syncer server.
+ caCrt: ""
+ # Serving certficate used by Config Syncer server.
+ serverCrt: ""
+ # Private key for the serving certificate used by Config Syncer server.
+ serverKey: ""
+
+# If true, sends usage analytics
+enableAnalytics: true
+
+config:
+ # Set cluster-name to something meaningful to you, say, prod, prod-us-east, qa, etc.
+ # so that you can distinguish notifications sent by kubed
+ clusterName: unicorn
+ # If set, configmaps and secrets from only this namespace will be synced
+ configSourceNamespace: ""
+ # kubeconfig file content for configmap and secret syncer
+ kubeconfigContent: ""
+# additionalOptions:
+# - --authentication-skip-lookup
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/.helmignore b/charts/epinio/100.0.5+up1.6.2/charts/minio/.helmignore
new file mode 100644
index 000000000..a9fe72788
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/.helmignore
@@ -0,0 +1,23 @@
+# 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
+# OWNERS file for Kubernetes
+OWNERS
\ No newline at end of file
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/Chart.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/Chart.yaml
new file mode 100644
index 000000000..55ed28567
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/Chart.yaml
@@ -0,0 +1,18 @@
+apiVersion: v1
+appVersion: RELEASE.2022-12-12T19-27-27Z
+description: Multi-Cloud Object Storage
+home: https://min.io
+icon: https://min.io/resources/img/logo/MINIO_wordmark.png
+keywords:
+- minio
+- storage
+- object-storage
+- s3
+- cluster
+maintainers:
+- email: dev@minio.io
+ name: MinIO, Inc
+name: minio
+sources:
+- https://github.com/minio/minio
+version: 5.0.4
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/README.md b/charts/epinio/100.0.5+up1.6.2/charts/minio/README.md
new file mode 100644
index 000000000..6de4fb16b
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/README.md
@@ -0,0 +1,260 @@
+# MinIO Helm Chart
+
+[![Slack](https://slack.min.io/slack?type=svg)](https://slack.min.io) [![license](https://img.shields.io/badge/license-AGPL%20V3-blue)](https://github.com/minio/minio/blob/master/LICENSE)
+
+MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. It is API compatible with Amazon S3 cloud storage service. Use MinIO to build high performance infrastructure for machine learning, analytics and application data workloads.
+
+For more detailed documentation please visit [here](https://min.io/docs/minio/linux/index.html)
+
+## Introduction
+
+This chart bootstraps MinIO Cluster on [Kubernetes](http://kubernetes.io) using the [Helm](https://helm.sh) package manager.
+
+## Prerequisites
+
+- Helm cli with Kubernetes cluster configured.
+- PV provisioner support in the underlying infrastructure. (We recommend using )
+- Use Kubernetes version v1.19 and later for best experience.
+
+## Configure MinIO Helm repo
+
+```bash
+helm repo add minio https://charts.min.io/
+```
+
+### Installing the Chart
+
+Install this chart using:
+
+```bash
+helm install --namespace minio --set rootUser=rootuser,rootPassword=rootpass123 --generate-name minio/minio
+```
+
+The command deploys MinIO on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
+
+### Installing the Chart (toy-setup)
+
+Minimal toy setup for testing purposes can be deployed using:
+
+```bash
+helm install --set resources.requests.memory=512Mi --set replicas=1 --set persistence.enabled=false --set mode=standalone --set rootUser=rootuser,rootPassword=rootpass123 --generate-name minio/minio
+```
+
+### Upgrading the Chart
+
+You can use Helm to update MinIO version in a live release. Assuming your release is named as `my-release`, get the values using the command:
+
+```bash
+helm get values my-release > old_values.yaml
+```
+
+Then change the field `image.tag` in `old_values.yaml` file with MinIO image tag you want to use. Now update the chart using
+
+```bash
+helm upgrade -f old_values.yaml my-release minio/minio
+```
+
+Default upgrade strategies are specified in the `values.yaml` file. Update these fields if you'd like to use a different strategy.
+
+### Configuration
+
+Refer the [Values file](./values.yaml) for all the possible config fields.
+
+You can specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
+
+```bash
+helm install --name my-release --set persistence.size=1Ti minio/minio
+```
+
+The above command deploys MinIO server with a 1Ti backing persistent volume.
+
+Alternately, you can provide a YAML file that specifies parameter values while installing the chart. For example,
+
+```bash
+helm install --name my-release -f values.yaml minio/minio
+```
+
+### Persistence
+
+This chart provisions a PersistentVolumeClaim and mounts corresponding persistent volume to default location `/export`. You'll need physical storage available in the Kubernetes cluster for this to work. If you'd rather use `emptyDir`, disable PersistentVolumeClaim by:
+
+```bash
+helm install --set persistence.enabled=false minio/minio
+```
+
+> *"An emptyDir volume is first created when a Pod is assigned to a Node, and exists as long as that Pod is running on that node. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever."*
+
+### Existing PersistentVolumeClaim
+
+If a Persistent Volume Claim already exists, specify it during installation.
+
+1. Create the PersistentVolume
+2. Create the PersistentVolumeClaim
+3. Install the chart
+
+```bash
+helm install --set persistence.existingClaim=PVC_NAME minio/minio
+```
+
+### NetworkPolicy
+
+To enable network policy for MinIO,
+install [a networking plugin that implements the Kubernetes
+NetworkPolicy spec](https://kubernetes.io/docs/tasks/administer-cluster/declare-network-policy#before-you-begin),
+and set `networkPolicy.enabled` to `true`.
+
+For Kubernetes v1.5 & v1.6, you must also turn on NetworkPolicy by setting
+the DefaultDeny namespace annotation. Note: this will enforce policy for *all* pods in the namespace:
+
+```
+kubectl annotate namespace default "net.beta.kubernetes.io/network-policy={\"ingress\":{\"isolation\":\"DefaultDeny\"}}"
+```
+
+With NetworkPolicy enabled, traffic will be limited to just port 9000.
+
+For more precise policy, set `networkPolicy.allowExternal=true`. This will
+only allow pods with the generated client label to connect to MinIO.
+This label will be displayed in the output of a successful install.
+
+### Existing secret
+
+Instead of having this chart create the secret for you, you can supply a preexisting secret, much
+like an existing PersistentVolumeClaim.
+
+First, create the secret:
+
+```bash
+kubectl create secret generic my-minio-secret --from-literal=rootUser=foobarbaz --from-literal=rootPassword=foobarbazqux
+```
+
+Then install the chart, specifying that you want to use an existing secret:
+
+```bash
+helm install --set existingSecret=my-minio-secret minio/minio
+```
+
+The following fields are expected in the secret:
+
+| .data.\ in Secret | Corresponding variable | Description | Required |
+|:------------------------|:-----------------------|:---------------|:---------|
+| `rootUser` | `rootUser` | Root user. | yes |
+| `rootPassword` | `rootPassword` | Root password. | yes |
+
+All corresponding variables will be ignored in values file.
+
+### Configure TLS
+
+To enable TLS for MinIO containers, acquire TLS certificates from a CA or create self-signed certificates. While creating / acquiring certificates ensure the corresponding domain names are set as per the standard [DNS naming conventions](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-identity) in a Kubernetes StatefulSet (for a distributed MinIO setup). Then create a secret using
+
+```bash
+kubectl create secret generic tls-ssl-minio --from-file=path/to/private.key --from-file=path/to/public.crt
+```
+
+Then install the chart, specifying that you want to use the TLS secret:
+
+```bash
+helm install --set tls.enabled=true,tls.certSecret=tls-ssl-minio minio/minio
+```
+
+### Installing certificates from third party CAs
+
+MinIO can connect to other servers, including MinIO nodes or other server types such as NATs and Redis. If these servers use certificates that were not registered with a known CA, add trust for these certificates to MinIO Server by bundling these certificates into a Kubernetes secret and providing it to Helm via the `trustedCertsSecret` value. If `.Values.tls.enabled` is `true` and you're installing certificates for third party CAs, remember to include MinIO's own certificate with key `public.crt`, if it also needs to be trusted.
+
+For instance, given that TLS is enabled and you need to add trust for MinIO's own CA and for the CA of a Keycloak server, a Kubernetes secret can be created from the certificate files using `kubectl`:
+
+```
+kubectl -n minio create secret generic minio-trusted-certs --from-file=public.crt --from-file=keycloak.crt
+```
+
+If TLS is not enabled, you would need only the third party CA:
+
+```
+kubectl -n minio create secret generic minio-trusted-certs --from-file=keycloak.crt
+```
+
+The name of the generated secret can then be passed to Helm using a values file or the `--set` parameter:
+
+```
+trustedCertsSecret: "minio-trusted-certs"
+
+or
+
+--set trustedCertsSecret=minio-trusted-certs
+```
+
+### Create buckets after install
+
+Install the chart, specifying the buckets you want to create after install:
+
+```bash
+helm install --set buckets[0].name=bucket1,buckets[0].policy=none,buckets[0].purge=false minio/minio
+```
+
+Description of the configuration parameters used above -
+
+- `buckets[].name` - name of the bucket to create, must be a string with length > 0
+- `buckets[].policy` - can be one of none|download|upload|public
+- `buckets[].purge` - purge if bucket exists already
+
+### Create policies after install
+
+Install the chart, specifying the policies you want to create after install:
+
+```bash
+helm install --set policies[0].name=mypolicy,policies[0].statements[0].resources[0]='arn:aws:s3:::bucket1',policies[0].statements[0].actions[0]='s3:ListBucket',policies[0].statements[0].actions[1]='s3:GetObject' minio/minio
+```
+
+Description of the configuration parameters used above -
+
+- `policies[].name` - name of the policy to create, must be a string with length > 0
+- `policies[].statements[]` - list of statements, includes actions and resources
+- `policies[].statements[].resources[]` - list of resources that applies the statement
+- `policies[].statements[].actions[]` - list of actions granted
+
+### Create user after install
+
+Install the chart, specifying the users you want to create after install:
+
+```bash
+helm install --set users[0].accessKey=accessKey,users[0].secretKey=secretKey,users[0].policy=none,users[1].accessKey=accessKey2,users[1].secretRef=existingSecret,users[1].secretKey=password,users[1].policy=none minio/minio
+```
+
+Description of the configuration parameters used above -
+
+- `users[].accessKey` - accessKey of user
+- `users[].secretKey` - secretKey of usersecretRef
+- `users[].existingSecret` - secret name that contains the secretKey of user
+- `users[].existingSecretKey` - data key in existingSecret secret containing the secretKey
+- `users[].policy` - name of the policy to assign to user
+
+### Create service account after install
+
+Install the chart, specifying the service accounts you want to create after install:
+
+```bash
+helm install --set svcaccts[0].accessKey=accessKey,svcaccts[0].secretKey=secretKey,svcaccts[0].user=parentUser,svcaccts[1].accessKey=accessKey2,svcaccts[1].secretRef=existingSecret,svcaccts[1].secretKey=password,svcaccts[1].user=parentUser2 minio/minio
+```
+
+Description of the configuration parameters used above -
+
+- `svcaccts[].accessKey` - accessKey of service account
+- `svcaccts[].secretKey` - secretKey of svcacctsecretRef
+- `svcaccts[].existingSecret` - secret name that contains the secretKey of service account
+- `svcaccts[].existingSecretKey` - data key in existingSecret secret containing the secretKey
+- `svcaccts[].user` - name of the parent user to assign to service account
+
+## Uninstalling the Chart
+
+Assuming your release is named as `my-release`, delete it using the command:
+
+```bash
+helm delete my-release
+```
+
+or
+
+```bash
+helm uninstall my-release
+```
+
+The command removes all the Kubernetes components associated with the chart and deletes the release.
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/NOTES.txt b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/NOTES.txt
new file mode 100644
index 000000000..7051b1e62
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/NOTES.txt
@@ -0,0 +1,43 @@
+{{- if eq .Values.service.type "ClusterIP" "NodePort" }}
+MinIO can be accessed via port {{ .Values.service.port }} on the following DNS name from within your cluster:
+{{ template "minio.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
+
+To access MinIO from localhost, run the below commands:
+
+ 1. export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+
+ 2. kubectl port-forward $POD_NAME 9000 --namespace {{ .Release.Namespace }}
+
+Read more about port forwarding here: http://kubernetes.io/docs/user-guide/kubectl/kubectl_port-forward/
+
+You can now access MinIO server on http://localhost:9000. Follow the below steps to connect to MinIO server with mc client:
+
+ 1. Download the MinIO mc client - https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart
+
+ 2. export MC_HOST_{{ template "minio.fullname" . }}-local=http://$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "minio.secretName" . }} -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "minio.secretName" . }} -o jsonpath="{.data.rootPassword}" | base64 --decode)@localhost:{{ .Values.service.port }}
+
+ 3. mc ls {{ template "minio.fullname" . }}-local
+
+{{- end }}
+{{- if eq .Values.service.type "LoadBalancer" }}
+MinIO can be accessed via port {{ .Values.service.port }} on an external IP address. Get the service external IP address by:
+kubectl get svc --namespace {{ .Release.Namespace }} -l app={{ template "minio.fullname" . }}
+
+Note that the public IP may take a couple of minutes to be available.
+
+You can now access MinIO server on http://:9000. Follow the below steps to connect to MinIO server with mc client:
+
+ 1. Download the MinIO mc client - https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart
+
+ 2. export MC_HOST_{{ template "minio.fullname" . }}-local=http://$(kubectl get secret {{ template "minio.secretName" . }} --namespace {{ .Release.Namespace }} -o jsonpath="{.data.rootUser}" | base64 --decode):$(kubectl get secret {{ template "minio.secretName" . }} -o jsonpath="{.data.rootPassword}" | base64 --decode)@:{{ .Values.service.port }}
+
+ 3. mc ls {{ template "minio.fullname" . }}
+
+Alternately, you can use your browser or the MinIO SDK to access the server - https://min.io/docs/minio/linux/reference/minio-server/minio-server.html
+{{- end }}
+
+{{ if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
+Note: Since NetworkPolicy is enabled, only pods with label
+{{ template "minio.fullname" . }}-client=true"
+will be able to connect to this minio cluster.
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_bucket.txt b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_bucket.txt
new file mode 100644
index 000000000..90755aa5e
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_bucket.txt
@@ -0,0 +1,123 @@
+#!/bin/sh
+set -e ; # Have script exit in the event of a failed command.
+
+{{- if .Values.configPathmc }}
+MC_CONFIG_DIR="{{ .Values.configPathmc }}"
+MC="/usr/bin/mc --insecure --config-dir ${MC_CONFIG_DIR}"
+{{- else }}
+MC="/usr/bin/mc --insecure"
+{{- end }}
+
+# connectToMinio
+# Use a check-sleep-check loop to wait for MinIO service to be available
+connectToMinio() {
+ SCHEME=$1
+ ATTEMPTS=0 ; LIMIT=29 ; # Allow 30 attempts
+ set -e ; # fail if we can't read the keys.
+ ACCESS=$(cat /config/rootUser) ; SECRET=$(cat /config/rootPassword) ;
+ set +e ; # The connections to minio are allowed to fail.
+ echo "Connecting to MinIO server: $SCHEME://$MINIO_ENDPOINT:$MINIO_PORT" ;
+ MC_COMMAND="${MC} alias set myminio $SCHEME://$MINIO_ENDPOINT:$MINIO_PORT $ACCESS $SECRET" ;
+ $MC_COMMAND ;
+ STATUS=$? ;
+ until [ $STATUS = 0 ]
+ do
+ ATTEMPTS=`expr $ATTEMPTS + 1` ;
+ echo \"Failed attempts: $ATTEMPTS\" ;
+ if [ $ATTEMPTS -gt $LIMIT ]; then
+ exit 1 ;
+ fi ;
+ sleep 2 ; # 1 second intervals between attempts
+ $MC_COMMAND ;
+ STATUS=$? ;
+ done ;
+ set -e ; # reset `e` as active
+ return 0
+}
+
+# checkBucketExists ($bucket)
+# Check if the bucket exists, by using the exit code of `mc ls`
+checkBucketExists() {
+ BUCKET=$1
+ CMD=$(${MC} ls myminio/$BUCKET > /dev/null 2>&1)
+ return $?
+}
+
+# createBucket ($bucket, $policy, $purge)
+# Ensure bucket exists, purging if asked to
+createBucket() {
+ BUCKET=$1
+ POLICY=$2
+ PURGE=$3
+ VERSIONING=$4
+ OBJECTLOCKING=$5
+
+ # Purge the bucket, if set & exists
+ # Since PURGE is user input, check explicitly for `true`
+ if [ $PURGE = true ]; then
+ if checkBucketExists $BUCKET ; then
+ echo "Purging bucket '$BUCKET'."
+ set +e ; # don't exit if this fails
+ ${MC} rm -r --force myminio/$BUCKET
+ set -e ; # reset `e` as active
+ else
+ echo "Bucket '$BUCKET' does not exist, skipping purge."
+ fi
+ fi
+
+# Create the bucket if it does not exist and set objectlocking if enabled (NOTE: versioning will be not changed if OBJECTLOCKING is set because it enables versioning to the Buckets created)
+if ! checkBucketExists $BUCKET ; then
+ if [ ! -z $OBJECTLOCKING ] ; then
+ if [ $OBJECTLOCKING = true ] ; then
+ echo "Creating bucket with OBJECTLOCKING '$BUCKET'"
+ ${MC} mb --with-lock myminio/$BUCKET
+ elif [ $OBJECTLOCKING = false ] ; then
+ echo "Creating bucket '$BUCKET'"
+ ${MC} mb myminio/$BUCKET
+ fi
+ elif [ -z $OBJECTLOCKING ] ; then
+ echo "Creating bucket '$BUCKET'"
+ ${MC} mb myminio/$BUCKET
+ else
+ echo "Bucket '$BUCKET' already exists."
+ fi
+ fi
+
+
+ # set versioning for bucket if objectlocking is disabled or not set
+ if [ -z $OBJECTLOCKING ] ; then
+ if [ ! -z $VERSIONING ] ; then
+ if [ $VERSIONING = true ] ; then
+ echo "Enabling versioning for '$BUCKET'"
+ ${MC} version enable myminio/$BUCKET
+ elif [ $VERSIONING = false ] ; then
+ echo "Suspending versioning for '$BUCKET'"
+ ${MC} version suspend myminio/$BUCKET
+ fi
+ fi
+ else
+ echo "Bucket '$BUCKET' versioning unchanged."
+ fi
+
+
+ # At this point, the bucket should exist, skip checking for existence
+ # Set policy on the bucket
+ echo "Setting policy of bucket '$BUCKET' to '$POLICY'."
+ ${MC} anonymous set $POLICY myminio/$BUCKET
+}
+
+# Try connecting to MinIO instance
+{{- if .Values.tls.enabled }}
+scheme=https
+{{- else }}
+scheme=http
+{{- end }}
+connectToMinio $scheme
+
+{{ if .Values.buckets }}
+{{ $global := . }}
+# Create the buckets
+{{- range .Values.buckets }}
+createBucket {{ tpl .name $global }} {{ .policy | default "none" | quote }} {{ .purge | default false }} {{ .versioning | default false }} {{ .objectlocking | default false }}
+{{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_policy.txt b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_policy.txt
new file mode 100644
index 000000000..d565b161e
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_policy.txt
@@ -0,0 +1,75 @@
+#!/bin/sh
+set -e ; # Have script exit in the event of a failed command.
+
+{{- if .Values.configPathmc }}
+MC_CONFIG_DIR="{{ .Values.configPathmc }}"
+MC="/usr/bin/mc --insecure --config-dir ${MC_CONFIG_DIR}"
+{{- else }}
+MC="/usr/bin/mc --insecure"
+{{- end }}
+
+# connectToMinio
+# Use a check-sleep-check loop to wait for MinIO service to be available
+connectToMinio() {
+ SCHEME=$1
+ ATTEMPTS=0 ; LIMIT=29 ; # Allow 30 attempts
+ set -e ; # fail if we can't read the keys.
+ ACCESS=$(cat /config/rootUser) ; SECRET=$(cat /config/rootPassword) ;
+ set +e ; # The connections to minio are allowed to fail.
+ echo "Connecting to MinIO server: $SCHEME://$MINIO_ENDPOINT:$MINIO_PORT" ;
+ MC_COMMAND="${MC} alias set myminio $SCHEME://$MINIO_ENDPOINT:$MINIO_PORT $ACCESS $SECRET" ;
+ $MC_COMMAND ;
+ STATUS=$? ;
+ until [ $STATUS = 0 ]
+ do
+ ATTEMPTS=`expr $ATTEMPTS + 1` ;
+ echo \"Failed attempts: $ATTEMPTS\" ;
+ if [ $ATTEMPTS -gt $LIMIT ]; then
+ exit 1 ;
+ fi ;
+ sleep 2 ; # 1 second intervals between attempts
+ $MC_COMMAND ;
+ STATUS=$? ;
+ done ;
+ set -e ; # reset `e` as active
+ return 0
+}
+
+# checkPolicyExists ($policy)
+# Check if the policy exists, by using the exit code of `mc admin policy info`
+checkPolicyExists() {
+ POLICY=$1
+ CMD=$(${MC} admin policy info myminio $POLICY > /dev/null 2>&1)
+ return $?
+}
+
+# createPolicy($name, $filename)
+createPolicy () {
+ NAME=$1
+ FILENAME=$2
+
+ # Create the name if it does not exist
+ echo "Checking policy: $NAME (in /config/$FILENAME.json)"
+ if ! checkPolicyExists $NAME ; then
+ echo "Creating policy '$NAME'"
+ else
+ echo "Policy '$NAME' already exists."
+ fi
+ ${MC} admin policy add myminio $NAME /config/$FILENAME.json
+
+}
+
+# Try connecting to MinIO instance
+{{- if .Values.tls.enabled }}
+scheme=https
+{{- else }}
+scheme=http
+{{- end }}
+connectToMinio $scheme
+
+{{ if .Values.policies }}
+# Create the policies
+{{- range $idx, $policy := .Values.policies }}
+createPolicy {{ $policy.name }} policy_{{ $idx }}
+{{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_svcacct.txt b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_svcacct.txt
new file mode 100644
index 000000000..285d50cfe
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_svcacct.txt
@@ -0,0 +1,106 @@
+#!/bin/sh
+set -e ; # Have script exit in the event of a failed command.
+
+{{- if .Values.configPathmc }}
+MC_CONFIG_DIR="{{ .Values.configPathmc }}"
+MC="/usr/bin/mc --insecure --config-dir ${MC_CONFIG_DIR}"
+{{- else }}
+MC="/usr/bin/mc --insecure"
+{{- end }}
+
+# AccessKey and secretkey credentials file are added to prevent shell execution errors caused by special characters.
+# Special characters for example : ',",<,>,{,}
+MINIO_ACCESSKEY_SECRETKEY_TMP="/tmp/accessKey_and_secretKey_svcacct_tmp"
+
+# connectToMinio
+# Use a check-sleep-check loop to wait for MinIO service to be available
+connectToMinio() {
+ SCHEME=$1
+ ATTEMPTS=0 ; LIMIT=29 ; # Allow 30 attempts
+ set -e ; # fail if we can't read the keys.
+ ACCESS=$(cat /config/rootUser) ; SECRET=$(cat /config/rootPassword) ;
+ set +e ; # The connections to minio are allowed to fail.
+ echo "Connecting to MinIO server: $SCHEME://$MINIO_ENDPOINT:$MINIO_PORT" ;
+ MC_COMMAND="${MC} alias set myminio $SCHEME://$MINIO_ENDPOINT:$MINIO_PORT $ACCESS $SECRET" ;
+ $MC_COMMAND ;
+ STATUS=$? ;
+ until [ $STATUS = 0 ]
+ do
+ ATTEMPTS=`expr $ATTEMPTS + 1` ;
+ echo \"Failed attempts: $ATTEMPTS\" ;
+ if [ $ATTEMPTS -gt $LIMIT ]; then
+ exit 1 ;
+ fi ;
+ sleep 2 ; # 2 second intervals between attempts
+ $MC_COMMAND ;
+ STATUS=$? ;
+ done ;
+ set -e ; # reset `e` as active
+ return 0
+}
+
+# checkSvcacctExists ()
+# Check if the svcacct exists, by using the exit code of `mc admin user svcacct info`
+checkSvcacctExists() {
+ CMD=$(${MC} admin user svcacct info myminio $(head -1 $MINIO_ACCESSKEY_SECRETKEY_TMP) > /dev/null 2>&1)
+ return $?
+}
+
+# createSvcacct ($user)
+createSvcacct () {
+ USER=$1
+ FILENAME=$2
+ #check accessKey_and_secretKey_tmp file
+ if [[ ! -f $MINIO_ACCESSKEY_SECRETKEY_TMP ]];then
+ echo "credentials file does not exist"
+ return 1
+ fi
+ if [[ $(cat $MINIO_ACCESSKEY_SECRETKEY_TMP|wc -l) -ne 2 ]];then
+ echo "credentials file is invalid"
+ rm -f $MINIO_ACCESSKEY_SECRETKEY_TMP
+ return 1
+ fi
+ SVCACCT=$(head -1 $MINIO_ACCESSKEY_SECRETKEY_TMP)
+ # Create the svcacct if it does not exist
+ if ! checkSvcacctExists ; then
+ echo "Creating svcacct '$SVCACCT'"
+ # Check if policy file is define
+ if [ -z $FILENAME ]; then
+ ${MC} admin user svcacct add --access-key $(head -1 $MINIO_ACCESSKEY_SECRETKEY_TMP) --secret-key $(tail -n1 $MINIO_ACCESSKEY_SECRETKEY_TMP) myminio $USER
+ else
+ ${MC} admin user svcacct add --access-key $(head -1 $MINIO_ACCESSKEY_SECRETKEY_TMP) --secret-key $(tail -n1 $MINIO_ACCESSKEY_SECRETKEY_TMP) --policy /config/$FILENAME.json myminio $USER
+ fi
+ else
+ echo "Svcacct '$SVCACCT' already exists."
+ fi
+ #clean up credentials files.
+ rm -f $MINIO_ACCESSKEY_SECRETKEY_TMP
+}
+
+# Try connecting to MinIO instance
+{{- if .Values.tls.enabled }}
+scheme=https
+{{- else }}
+scheme=http
+{{- end }}
+connectToMinio $scheme
+
+{{ if .Values.svcaccts }}
+{{ $global := . }}
+# Create the svcaccts
+{{- range $idx, $svc := .Values.svcaccts }}
+echo {{ tpl .accessKey $global }} > $MINIO_ACCESSKEY_SECRETKEY_TMP
+{{- if .existingSecret }}
+cat /config/secrets/{{ tpl .existingSecret $global }}/{{ tpl .existingSecretKey $global }} >> $MINIO_ACCESSKEY_SECRETKEY_TMP
+# Add a new line if it doesn't exist
+sed -i '$a\' $MINIO_ACCESSKEY_SECRETKEY_TMP
+{{ else }}
+echo {{ .secretKey }} >> $MINIO_ACCESSKEY_SECRETKEY_TMP
+{{- end }}
+{{- if $svc.policy}}
+createSvcacct {{ .user }} svc_policy_{{ $idx }}
+{{ else }}
+createSvcacct {{ .user }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_user.txt b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_user.txt
new file mode 100644
index 000000000..ea2b3b675
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_create_user.txt
@@ -0,0 +1,105 @@
+#!/bin/sh
+set -e ; # Have script exit in the event of a failed command.
+
+{{- if .Values.configPathmc }}
+MC_CONFIG_DIR="{{ .Values.configPathmc }}"
+MC="/usr/bin/mc --insecure --config-dir ${MC_CONFIG_DIR}"
+{{- else }}
+MC="/usr/bin/mc --insecure"
+{{- end }}
+
+# AccessKey and secretkey credentials file are added to prevent shell execution errors caused by special characters.
+# Special characters for example : ',",<,>,{,}
+MINIO_ACCESSKEY_SECRETKEY_TMP="/tmp/accessKey_and_secretKey_tmp"
+
+# connectToMinio
+# Use a check-sleep-check loop to wait for MinIO service to be available
+connectToMinio() {
+ SCHEME=$1
+ ATTEMPTS=0 ; LIMIT=29 ; # Allow 30 attempts
+ set -e ; # fail if we can't read the keys.
+ ACCESS=$(cat /config/rootUser) ; SECRET=$(cat /config/rootPassword) ;
+ set +e ; # The connections to minio are allowed to fail.
+ echo "Connecting to MinIO server: $SCHEME://$MINIO_ENDPOINT:$MINIO_PORT" ;
+ MC_COMMAND="${MC} alias set myminio $SCHEME://$MINIO_ENDPOINT:$MINIO_PORT $ACCESS $SECRET" ;
+ $MC_COMMAND ;
+ STATUS=$? ;
+ until [ $STATUS = 0 ]
+ do
+ ATTEMPTS=`expr $ATTEMPTS + 1` ;
+ echo \"Failed attempts: $ATTEMPTS\" ;
+ if [ $ATTEMPTS -gt $LIMIT ]; then
+ exit 1 ;
+ fi ;
+ sleep 2 ; # 1 second intervals between attempts
+ $MC_COMMAND ;
+ STATUS=$? ;
+ done ;
+ set -e ; # reset `e` as active
+ return 0
+}
+
+# checkUserExists ()
+# Check if the user exists, by using the exit code of `mc admin user info`
+checkUserExists() {
+ CMD=$(${MC} admin user info myminio $(head -1 $MINIO_ACCESSKEY_SECRETKEY_TMP) > /dev/null 2>&1)
+ return $?
+}
+
+# createUser ($policy)
+createUser() {
+ POLICY=$1
+ #check accessKey_and_secretKey_tmp file
+ if [[ ! -f $MINIO_ACCESSKEY_SECRETKEY_TMP ]];then
+ echo "credentials file does not exist"
+ return 1
+ fi
+ if [[ $(cat $MINIO_ACCESSKEY_SECRETKEY_TMP|wc -l) -ne 2 ]];then
+ echo "credentials file is invalid"
+ rm -f $MINIO_ACCESSKEY_SECRETKEY_TMP
+ return 1
+ fi
+ USER=$(head -1 $MINIO_ACCESSKEY_SECRETKEY_TMP)
+ # Create the user if it does not exist
+ if ! checkUserExists ; then
+ echo "Creating user '$USER'"
+ cat $MINIO_ACCESSKEY_SECRETKEY_TMP | ${MC} admin user add myminio
+ else
+ echo "User '$USER' already exists."
+ fi
+ #clean up credentials files.
+ rm -f $MINIO_ACCESSKEY_SECRETKEY_TMP
+
+ # set policy for user
+ if [ ! -z $POLICY -a $POLICY != " " ] ; then
+ echo "Adding policy '$POLICY' for '$USER'"
+ ${MC} admin policy set myminio $POLICY user=$USER
+ else
+ echo "User '$USER' has no policy attached."
+ fi
+}
+
+# Try connecting to MinIO instance
+{{- if .Values.tls.enabled }}
+scheme=https
+{{- else }}
+scheme=http
+{{- end }}
+connectToMinio $scheme
+
+{{ if .Values.users }}
+{{ $global := . }}
+# Create the users
+{{- range .Values.users }}
+echo {{ tpl .accessKey $global }} > $MINIO_ACCESSKEY_SECRETKEY_TMP
+{{- if .existingSecret }}
+cat /config/secrets/{{ tpl .existingSecretKey $global }} >> $MINIO_ACCESSKEY_SECRETKEY_TMP
+# Add a new line if it doesn't exist
+sed -i '$a\' $MINIO_ACCESSKEY_SECRETKEY_TMP
+createUser {{ .policy }}
+{{ else }}
+echo {{ .secretKey }} >> $MINIO_ACCESSKEY_SECRETKEY_TMP
+createUser {{ .policy }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_custom_command.txt b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_custom_command.txt
new file mode 100644
index 000000000..b583a7782
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_custom_command.txt
@@ -0,0 +1,58 @@
+#!/bin/sh
+set -e ; # Have script exit in the event of a failed command.
+
+{{- if .Values.configPathmc }}
+MC_CONFIG_DIR="{{ .Values.configPathmc }}"
+MC="/usr/bin/mc --insecure --config-dir ${MC_CONFIG_DIR}"
+{{- else }}
+MC="/usr/bin/mc --insecure"
+{{- end }}
+
+# connectToMinio
+# Use a check-sleep-check loop to wait for MinIO service to be available
+connectToMinio() {
+ SCHEME=$1
+ ATTEMPTS=0 ; LIMIT=29 ; # Allow 30 attempts
+ set -e ; # fail if we can't read the keys.
+ ACCESS=$(cat /config/rootUser) ; SECRET=$(cat /config/rootPassword) ;
+ set +e ; # The connections to minio are allowed to fail.
+ echo "Connecting to MinIO server: $SCHEME://$MINIO_ENDPOINT:$MINIO_PORT" ;
+ MC_COMMAND="${MC} alias set myminio $SCHEME://$MINIO_ENDPOINT:$MINIO_PORT $ACCESS $SECRET" ;
+ $MC_COMMAND ;
+ STATUS=$? ;
+ until [ $STATUS = 0 ]
+ do
+ ATTEMPTS=`expr $ATTEMPTS + 1` ;
+ echo \"Failed attempts: $ATTEMPTS\" ;
+ if [ $ATTEMPTS -gt $LIMIT ]; then
+ exit 1 ;
+ fi ;
+ sleep 2 ; # 1 second intervals between attempts
+ $MC_COMMAND ;
+ STATUS=$? ;
+ done ;
+ set -e ; # reset `e` as active
+ return 0
+}
+
+# runCommand ($@)
+# Run custom mc command
+runCommand() {
+ ${MC} "$@"
+ return $?
+}
+
+# Try connecting to MinIO instance
+{{- if .Values.tls.enabled }}
+scheme=https
+{{- else }}
+scheme=http
+{{- end }}
+connectToMinio $scheme
+
+{{ if .Values.customCommands }}
+# Run custom commands
+{{- range .Values.customCommands }}
+runCommand {{ .command }}
+{{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_policy.tpl b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_policy.tpl
new file mode 100644
index 000000000..f2150530b
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helper_policy.tpl
@@ -0,0 +1,28 @@
+{{- $statements_length := len .statements -}}
+{{- $statements_length := sub $statements_length 1 -}}
+{
+ "Version": "2012-10-17",
+ "Statement": [
+{{- range $i, $statement := .statements }}
+ {
+ "Effect": "Allow",
+ "Action": [
+"{{ $statement.actions | join "\",\n\"" }}"
+ ]{{ if $statement.resources }},
+ "Resource": [
+"{{ $statement.resources | join "\",\n\"" }}"
+ ]{{ end }}
+{{- if $statement.conditions }}
+{{- $condition_len := len $statement.conditions }}
+{{- $condition_len := sub $condition_len 1 }}
+ ,
+ "Condition": {
+ {{- range $k,$v := $statement.conditions }}
+ {{- range $operator,$object := $v }}
+ "{{ $operator }}": { {{ $object }} }{{- if lt $k $condition_len }},{{- end }}
+ {{- end }}{{- end }}
+ }{{- end }}
+ }{{ if lt $i $statements_length }},{{end }}
+{{- end }}
+ ]
+}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helpers.tpl b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helpers.tpl
new file mode 100644
index 000000000..2cd9772ff
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/_helpers.tpl
@@ -0,0 +1,246 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "minio.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- 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 "minio.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "minio.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Return the appropriate apiVersion for networkpolicy.
+*/}}
+{{- define "minio.networkPolicy.apiVersion" -}}
+{{- if semverCompare ">=1.4-0, <1.7-0" .Capabilities.KubeVersion.Version -}}
+{{- print "extensions/v1beta1" -}}
+{{- else if semverCompare ">=1.7-0, <1.16-0" .Capabilities.KubeVersion.Version -}}
+{{- print "networking.k8s.io/v1beta1" -}}
+{{- else if semverCompare "^1.16-0" .Capabilities.KubeVersion.Version -}}
+{{- print "networking.k8s.io/v1" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Return the appropriate apiVersion for deployment.
+*/}}
+{{- define "minio.deployment.apiVersion" -}}
+{{- if semverCompare "<1.9-0" .Capabilities.KubeVersion.Version -}}
+{{- print "apps/v1beta2" -}}
+{{- else -}}
+{{- print "apps/v1" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Return the appropriate apiVersion for statefulset.
+*/}}
+{{- define "minio.statefulset.apiVersion" -}}
+{{- if semverCompare "<1.16-0" .Capabilities.KubeVersion.Version -}}
+{{- print "apps/v1beta2" -}}
+{{- else -}}
+{{- print "apps/v1" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Return the appropriate apiVersion for ingress.
+*/}}
+{{- define "minio.ingress.apiVersion" -}}
+{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+{{- print "extensions/v1beta1" -}}
+{{- else if semverCompare "<1.19-0" .Capabilities.KubeVersion.GitVersion -}}
+{{- print "networking.k8s.io/v1beta1" -}}
+{{- else -}}
+{{- print "networking.k8s.io/v1" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Return the appropriate apiVersion for console ingress.
+*/}}
+{{- define "minio.consoleIngress.apiVersion" -}}
+{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+{{- print "extensions/v1beta1" -}}
+{{- else if semverCompare "<1.19-0" .Capabilities.KubeVersion.GitVersion -}}
+{{- print "networking.k8s.io/v1beta1" -}}
+{{- else -}}
+{{- print "networking.k8s.io/v1" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Determine secret name.
+*/}}
+{{- define "minio.secretName" -}}
+{{- if .Values.existingSecret -}}
+{{- .Values.existingSecret }}
+{{- else -}}
+{{- include "minio.fullname" . -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Determine name for scc role and rolebinding
+*/}}
+{{- define "minio.sccRoleName" -}}
+{{- printf "%s-%s" "scc" (include "minio.fullname" .) | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Properly format optional additional arguments to MinIO binary
+*/}}
+{{- define "minio.extraArgs" -}}
+{{- range .Values.extraArgs -}}
+{{ " " }}{{ . }}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Return the proper Docker Image Registry Secret Names
+*/}}
+{{- define "minio.imagePullSecrets" -}}
+{{/*
+Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
+but Helm 2.9 and 2.10 does not support it, so we need to implement this if-else logic.
+Also, we can not use a single if because lazy evaluation is not an option
+*/}}
+{{- if .Values.global }}
+{{- if .Values.global.imagePullSecrets }}
+imagePullSecrets:
+{{- range .Values.global.imagePullSecrets }}
+ - name: {{ . }}
+{{- end }}
+{{- else if .Values.imagePullSecrets }}
+imagePullSecrets:
+ {{ toYaml .Values.imagePullSecrets }}
+{{- end -}}
+{{- else if .Values.imagePullSecrets }}
+imagePullSecrets:
+ {{ toYaml .Values.imagePullSecrets }}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Formats volumeMount for MinIO TLS keys and trusted certs
+*/}}
+{{- define "minio.tlsKeysVolumeMount" -}}
+{{- if .Values.tls.enabled }}
+- name: cert-secret-volume
+ mountPath: {{ .Values.certsPath }}
+{{- end }}
+{{- if or .Values.tls.enabled (ne .Values.trustedCertsSecret "") }}
+{{- $casPath := printf "%s/CAs" .Values.certsPath | clean }}
+- name: trusted-cert-secret-volume
+ mountPath: {{ $casPath }}
+{{- end }}
+{{- end -}}
+
+{{/*
+Formats volume for MinIO TLS keys and trusted certs
+*/}}
+{{- define "minio.tlsKeysVolume" -}}
+{{- if .Values.tls.enabled }}
+- name: cert-secret-volume
+ secret:
+ secretName: {{ tpl .Values.tls.certSecret $ }}
+ items:
+ - key: {{ .Values.tls.publicCrt }}
+ path: public.crt
+ - key: {{ .Values.tls.privateKey }}
+ path: private.key
+{{- end }}
+{{- if or .Values.tls.enabled (ne .Values.trustedCertsSecret "") }}
+{{- $certSecret := eq .Values.trustedCertsSecret "" | ternary .Values.tls.certSecret .Values.trustedCertsSecret }}
+{{- $publicCrt := eq .Values.trustedCertsSecret "" | ternary .Values.tls.publicCrt "" }}
+- name: trusted-cert-secret-volume
+ secret:
+ secretName: {{ $certSecret }}
+ {{- if ne $publicCrt "" }}
+ items:
+ - key: {{ $publicCrt }}
+ path: public.crt
+ {{- end }}
+{{- end }}
+{{- end -}}
+
+{{/*
+Returns the available value for certain key in an existing secret (if it exists),
+otherwise it generates a random value.
+*/}}
+{{- define "minio.getValueFromSecret" }}
+ {{- $len := (default 16 .Length) | int -}}
+ {{- $obj := (lookup "v1" "Secret" .Namespace .Name).data -}}
+ {{- if $obj }}
+ {{- index $obj .Key | b64dec -}}
+ {{- else -}}
+ {{- randAlphaNum $len -}}
+ {{- end -}}
+{{- end }}
+
+{{- define "minio.root.username" -}}
+ {{- if .Values.rootUser }}
+ {{- .Values.rootUser | toString }}
+ {{- else }}
+ {{- include "minio.getValueFromSecret" (dict "Namespace" .Release.Namespace "Name" (include "minio.fullname" .) "Length" 20 "Key" "rootUser") }}
+ {{- end }}
+{{- end -}}
+
+{{- define "minio.root.password" -}}
+ {{- if .Values.rootPassword }}
+ {{- .Values.rootPassword | toString }}
+ {{- else }}
+ {{- include "minio.getValueFromSecret" (dict "Namespace" .Release.Namespace "Name" (include "minio.fullname" .) "Length" 40 "Key" "rootPassword") }}
+ {{- end }}
+{{- end -}}
+
+{{/*
+Windows cluster will add default taint for linux nodes, add below linux tolerations to
+workloads could be scheduled to those linux nodes
+*/}}
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+beta.kubernetes.io/os: linux
+{{- else -}}
+kubernetes.io/os: linux
+{{- end -}}
+{{- end -}}
+
+{{/*
+URL prefix for container images to be compatible with Rancher
+*/}}
+{{- define "registry-url" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{ trimSuffix "/" .Values.global.cattle.systemDefaultRegistry }}/
+{{- end -}}
+{{- end -}}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/configmap.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/configmap.yaml
new file mode 100644
index 000000000..54d56772c
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/configmap.yaml
@@ -0,0 +1,33 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ template "minio.fullname" . }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+data:
+ initialize: |-
+{{ include (print $.Template.BasePath "/_helper_create_bucket.txt") . | indent 4 }}
+ add-user: |-
+{{ include (print $.Template.BasePath "/_helper_create_user.txt") . | indent 4 }}
+ add-policy: |-
+{{ include (print $.Template.BasePath "/_helper_create_policy.txt") . | indent 4 }}
+{{- range $idx, $policy := .Values.policies }}
+ # Policy: {{ $policy.name }}
+ policy_{{ $idx }}.json: |-
+{{ include (print $.Template.BasePath "/_helper_policy.tpl") . | indent 4 }}
+{{ end }}
+{{- range $idx, $svc := .Values.svcaccts }}
+{{- if $svc.policy }}
+ # SVC: {{ $svc.accessKey }}
+ svc_policy_{{ $idx }}.json: |-
+{{ include (print $.Template.BasePath "/_helper_policy.tpl") .policy | indent 4 }}
+{{- end }}
+{{ end }}
+ add-svcacct: |-
+{{ include (print $.Template.BasePath "/_helper_create_svcacct.txt") . | indent 4 }}
+ custom-command: |-
+{{ include (print $.Template.BasePath "/_helper_custom_command.txt") . | indent 4 }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/console-ingress.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/console-ingress.yaml
new file mode 100644
index 000000000..2ce9a93bf
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/console-ingress.yaml
@@ -0,0 +1,58 @@
+{{- if .Values.consoleIngress.enabled -}}
+{{- $fullName := printf "%s-console" (include "minio.fullname" .) -}}
+{{- $servicePort := .Values.consoleService.port -}}
+{{- $ingressPath := .Values.consoleIngress.path -}}
+apiVersion: {{ template "minio.consoleIngress.apiVersion" . }}
+kind: Ingress
+metadata:
+ name: {{ $fullName }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+{{- with .Values.consoleIngress.labels }}
+{{ toYaml . | indent 4 }}
+{{- end }}
+
+{{- with .Values.consoleIngress.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+spec:
+{{- if .Values.consoleIngress.ingressClassName }}
+ ingressClassName: {{ .Values.consoleIngress.ingressClassName }}
+{{- end }}
+{{- if .Values.consoleIngress.tls }}
+ tls:
+ {{- range .Values.consoleIngress.tls }}
+ - hosts:
+ {{- range .hosts }}
+ - {{ . | quote }}
+ {{- end }}
+ secretName: {{ .secretName }}
+ {{- end }}
+{{- end }}
+ rules:
+ {{- range .Values.consoleIngress.hosts }}
+ - http:
+ paths:
+ - path: {{ $ingressPath }}
+ {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
+ pathType: Prefix
+ backend:
+ service:
+ name: {{ $fullName }}
+ port:
+ number: {{ $servicePort }}
+ {{- else }}
+ backend:
+ serviceName: {{ $fullName }}
+ servicePort: {{ $servicePort }}
+ {{- end }}
+ {{- if . }}
+ host: {{ . | quote }}
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/console-service.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/console-service.yaml
new file mode 100644
index 000000000..46da35974
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/console-service.yaml
@@ -0,0 +1,48 @@
+{{ $scheme := "http" }}
+{{- if .Values.tls.enabled }}
+{{ $scheme = "https" }}
+{{ end }}
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ template "minio.fullname" . }}-console
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+{{- if .Values.consoleService.annotations }}
+ annotations:
+{{ toYaml .Values.consoleService.annotations | indent 4 }}
+{{- end }}
+spec:
+{{- if (or (eq .Values.consoleService.type "ClusterIP" "") (empty .Values.consoleService.type)) }}
+ type: ClusterIP
+ {{- if not (empty .Values.consoleService.clusterIP) }}
+ clusterIP: {{ .Values.consoleService.clusterIP }}
+ {{end}}
+{{- else if eq .Values.consoleService.type "LoadBalancer" }}
+ type: {{ .Values.consoleService.type }}
+ loadBalancerIP: {{ default "" .Values.consoleService.loadBalancerIP }}
+{{- else }}
+ type: {{ .Values.consoleService.type }}
+{{- end }}
+ ports:
+ - name: {{ $scheme }}
+ port: {{ .Values.consoleService.port }}
+ protocol: TCP
+{{- if (and (eq .Values.consoleService.type "NodePort") ( .Values.consoleService.nodePort)) }}
+ nodePort: {{ .Values.consoleService.nodePort }}
+{{- else }}
+ targetPort: {{ .Values.minioConsolePort }}
+{{- end}}
+{{- if .Values.consoleService.externalIPs }}
+ externalIPs:
+{{- range $i , $ip := .Values.consoleService.externalIPs }}
+ - {{ $ip }}
+{{- end }}
+{{- end }}
+ selector:
+ app: {{ template "minio.name" . }}
+ release: {{ .Release.Name }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/deployment.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/deployment.yaml
new file mode 100644
index 000000000..3dd0904c0
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/deployment.yaml
@@ -0,0 +1,205 @@
+{{- if eq .Values.mode "standalone" }}
+{{ $scheme := "http" }}
+{{- if .Values.tls.enabled }}
+{{ $scheme = "https" }}
+{{ end }}
+{{ $bucketRoot := or ($.Values.bucketRoot) ($.Values.mountPath) }}
+apiVersion: {{ template "minio.deployment.apiVersion" . }}
+kind: Deployment
+metadata:
+ name: {{ template "minio.fullname" . }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+{{- if .Values.additionalLabels }}
+{{ toYaml .Values.additionalLabels | trimSuffix "\n" | indent 4 }}
+{{- end }}
+{{- if .Values.additionalAnnotations }}
+ annotations:
+{{ toYaml .Values.additionalAnnotations | trimSuffix "\n" | indent 4 }}
+{{- end }}
+spec:
+ strategy:
+ type: {{ .Values.DeploymentUpdate.type }}
+ {{- if eq .Values.DeploymentUpdate.type "RollingUpdate" }}
+ rollingUpdate:
+ maxSurge: {{ .Values.DeploymentUpdate.maxSurge }}
+ maxUnavailable: {{ .Values.DeploymentUpdate.maxUnavailable }}
+ {{- end}}
+ replicas: 1
+ selector:
+ matchLabels:
+ app: {{ template "minio.name" . }}
+ release: {{ .Release.Name }}
+ template:
+ metadata:
+ name: {{ template "minio.fullname" . }}
+ labels:
+ app: {{ template "minio.name" . }}
+ release: {{ .Release.Name }}
+{{- if .Values.podLabels }}
+{{ toYaml .Values.podLabels | indent 8 }}
+{{- end }}
+ annotations:
+{{- if not .Values.ignoreChartChecksums }}
+ checksum/secrets: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }}
+ checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+{{- end }}
+{{- if .Values.podAnnotations }}
+{{ toYaml .Values.podAnnotations | trimSuffix "\n" | indent 8 }}
+{{- end }}
+ spec:
+ {{- if .Values.priorityClassName }}
+ priorityClassName: "{{ .Values.priorityClassName }}"
+ {{- end }}
+ {{- if .Values.runtimeClassName }}
+ runtimeClassName: "{{ .Values.runtimeClassName }}"
+ {{- end }}
+{{- if and .Values.securityContext.enabled .Values.persistence.enabled }}
+ securityContext:
+ runAsUser: {{ .Values.securityContext.runAsUser }}
+ runAsGroup: {{ .Values.securityContext.runAsGroup }}
+ fsGroup: {{ .Values.securityContext.fsGroup }}
+ {{- if and (ge .Capabilities.KubeVersion.Major "1") (ge .Capabilities.KubeVersion.Minor "20") }}
+ fsGroupChangePolicy: {{ .Values.securityContext.fsGroupChangePolicy }}
+ {{- end }}
+{{- end }}
+{{ if .Values.serviceAccount.create }}
+ serviceAccountName: {{ .Values.serviceAccount.name }}
+{{- end }}
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ default .Values.image.registry (include "registry-url" .) }}{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ command:
+ - "/bin/sh"
+ - "-ce"
+ - "/usr/bin/docker-entrypoint.sh minio server {{ $bucketRoot }} -S {{ .Values.certsPath }} --address :{{ .Values.minioAPIPort }} --console-address :{{ .Values.minioConsolePort }} {{- template "minio.extraArgs" . }}"
+ volumeMounts:
+ - name: minio-user
+ mountPath: "/tmp/credentials"
+ readOnly: true
+ - name: export
+ mountPath: {{ .Values.mountPath }}
+ {{- if and .Values.persistence.enabled .Values.persistence.subPath }}
+ subPath: "{{ .Values.persistence.subPath }}"
+ {{- end }}
+ {{- if .Values.extraSecret }}
+ - name: extra-secret
+ mountPath: "/tmp/minio-config-env"
+ {{- end }}
+ {{- include "minio.tlsKeysVolumeMount" . | indent 12 }}
+ {{- if .Values.extraVolumeMounts }}
+ {{- toYaml .Values.extraVolumeMounts | nindent 12 }}
+ {{- end }}
+ ports:
+ - name: {{ $scheme }}
+ containerPort: {{ .Values.minioAPIPort }}
+ - name: {{ $scheme }}-console
+ containerPort: {{ .Values.minioConsolePort }}
+ env:
+ - name: MINIO_ROOT_USER
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "minio.secretName" . }}
+ key: rootUser
+ - name: MINIO_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "minio.secretName" . }}
+ key: rootPassword
+ {{- if .Values.extraSecret }}
+ - name: MINIO_CONFIG_ENV_FILE
+ value: "/tmp/minio-config-env/config.env"
+ {{- end}}
+ {{- if .Values.metrics.serviceMonitor.public }}
+ - name: MINIO_PROMETHEUS_AUTH_TYPE
+ value: "public"
+ {{- end}}
+ {{- if .Values.oidc.enabled }}
+ - name: MINIO_IDENTITY_OPENID_CONFIG_URL
+ value: {{ .Values.oidc.configUrl }}
+ - name: MINIO_IDENTITY_OPENID_CLIENT_ID
+ value: {{ .Values.oidc.clientId }}
+ - name: MINIO_IDENTITY_OPENID_CLIENT_SECRET
+ value: {{ .Values.oidc.clientSecret }}
+ - name: MINIO_IDENTITY_OPENID_CLAIM_NAME
+ value: {{ .Values.oidc.claimName }}
+ - name: MINIO_IDENTITY_OPENID_CLAIM_PREFIX
+ value: {{ .Values.oidc.claimPrefix }}
+ - name: MINIO_IDENTITY_OPENID_SCOPES
+ value: {{ .Values.oidc.scopes }}
+ - name: MINIO_IDENTITY_OPENID_REDIRECT_URI
+ value: {{ .Values.oidc.redirectUri }}
+ - name: MINIO_IDENTITY_OPENID_COMMENT
+ value: {{ .Values.oidc.comment }}
+ {{- end}}
+ {{- if .Values.etcd.endpoints }}
+ - name: MINIO_ETCD_ENDPOINTS
+ value: {{ join "," .Values.etcd.endpoints | quote }}
+ {{- if .Values.etcd.clientCert }}
+ - name: MINIO_ETCD_CLIENT_CERT
+ value: "/tmp/credentials/etcd_client_cert.pem"
+ {{- end }}
+ {{- if .Values.etcd.clientCertKey }}
+ - name: MINIO_ETCD_CLIENT_CERT_KEY
+ value: "/tmp/credentials/etcd_client_cert_key.pem"
+ {{- end }}
+ {{- if .Values.etcd.pathPrefix }}
+ - name: MINIO_ETCD_PATH_PREFIX
+ value: {{ .Values.etcd.pathPrefix }}
+ {{- end }}
+ {{- if .Values.etcd.corednsPathPrefix }}
+ - name: MINIO_ETCD_COREDNS_PATH
+ value: {{ .Values.etcd.corednsPathPrefix }}
+ {{- end }}
+ {{- end }}
+ {{- range $key, $val := .Values.environment }}
+ - name: {{ $key }}
+ value: {{ $val | quote }}
+ {{- end}}
+ resources:
+{{ toYaml .Values.resources | indent 12 }}
+ {{- with .Values.extraContainers }}
+ {{- if eq (typeOf .) "string" }}
+ {{- tpl . $ | nindent 8 }}
+ {{- else }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- end }}
+ nodeSelector:
+ {{- include "linux-node-selector" . | nindent 8 }}
+{{- include "minio.imagePullSecrets" . | indent 6 }}
+{{- with .Values.affinity }}
+ affinity:
+{{ toYaml . | indent 8 }}
+{{- end }}
+ tolerations:
+ {{- include "linux-node-tolerations" . | nindent 8 }}
+ {{- with .Values.tolerations }}
+ {{ toYaml . | indent 8 }}
+ {{- end }}
+ volumes:
+ - name: export
+ {{- if .Values.persistence.enabled }}
+ persistentVolumeClaim:
+ claimName: {{ .Values.persistence.existingClaim | default (include "minio.fullname" .) }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
+ {{- if .Values.extraSecret }}
+ - name: extra-secret
+ secret:
+ secretName: {{ .Values.extraSecret }}
+ {{- end }}
+ - name: minio-user
+ secret:
+ secretName: {{ template "minio.secretName" . }}
+ {{- include "minio.tlsKeysVolume" . | indent 8 }}
+ {{- if .Values.extraVolumes }}
+ {{ toYaml .Values.extraVolumes | nindent 8 }}
+ {{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/ingress.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/ingress.yaml
new file mode 100644
index 000000000..8d9a837dc
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/ingress.yaml
@@ -0,0 +1,58 @@
+{{- if .Values.ingress.enabled -}}
+{{- $fullName := include "minio.fullname" . -}}
+{{- $servicePort := .Values.service.port -}}
+{{- $ingressPath := .Values.ingress.path -}}
+apiVersion: {{ template "minio.ingress.apiVersion" . }}
+kind: Ingress
+metadata:
+ name: {{ $fullName }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+{{- with .Values.ingress.labels }}
+{{ toYaml . | indent 4 }}
+{{- end }}
+
+{{- with .Values.ingress.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+spec:
+{{- if .Values.ingress.ingressClassName }}
+ ingressClassName: {{ .Values.ingress.ingressClassName }}
+{{- end }}
+{{- if .Values.ingress.tls }}
+ tls:
+ {{- range .Values.ingress.tls }}
+ - hosts:
+ {{- range .hosts }}
+ - {{ . | quote }}
+ {{- end }}
+ secretName: {{ .secretName }}
+ {{- end }}
+{{- end }}
+ rules:
+ {{- range .Values.ingress.hosts }}
+ - http:
+ paths:
+ - path: {{ $ingressPath }}
+ {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
+ pathType: Prefix
+ backend:
+ service:
+ name: {{ $fullName }}
+ port:
+ number: {{ $servicePort }}
+ {{- else }}
+ backend:
+ serviceName: {{ $fullName }}
+ servicePort: {{ $servicePort }}
+ {{- end }}
+ {{- if . }}
+ host: {{ . | quote }}
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/networkpolicy.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/networkpolicy.yaml
new file mode 100644
index 000000000..ac219b937
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/networkpolicy.yaml
@@ -0,0 +1,27 @@
+{{- if .Values.networkPolicy.enabled }}
+kind: NetworkPolicy
+apiVersion: {{ template "minio.networkPolicy.apiVersion" . }}
+metadata:
+ name: {{ template "minio.fullname" . }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ podSelector:
+ matchLabels:
+ app: {{ template "minio.name" . }}
+ release: {{ .Release.Name }}
+ ingress:
+ - ports:
+ - port: {{ .Values.minioAPIPort }}
+ - port: {{ .Values.minioConsolePort }}
+ {{- if not .Values.networkPolicy.allowExternal }}
+ from:
+ - podSelector:
+ matchLabels:
+ {{ template "minio.name" . }}-client: "true"
+ {{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/poddisruptionbudget.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/poddisruptionbudget.yaml
new file mode 100644
index 000000000..8037eb743
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/poddisruptionbudget.yaml
@@ -0,0 +1,14 @@
+{{- if .Values.podDisruptionBudget.enabled }}
+apiVersion: policy/v1beta1
+kind: PodDisruptionBudget
+metadata:
+ name: minio
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+spec:
+ maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }}
+ selector:
+ matchLabels:
+ app: {{ template "minio.name" . }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/post-job.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/post-job.yaml
new file mode 100644
index 000000000..684e63940
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/post-job.yaml
@@ -0,0 +1,230 @@
+apiVersion: batch/v1
+kind: Job
+metadata:
+ name: {{ template "minio.fullname" . }}-post-job
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}-post-job
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ "helm.sh/hook": post-install,post-upgrade
+ "helm.sh/hook-delete-policy": hook-succeeded,before-hook-creation
+ {{- with .Values.postJob.annotations }}
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ template:
+ metadata:
+ labels:
+ app: {{ template "minio.name" . }}-job
+ release: {{ .Release.Name }}
+ {{- if .Values.podLabels }}
+ {{- toYaml .Values.podLabels | nindent 8 }}
+ {{- end }}
+ {{- if .Values.postJob.podAnnotations }}
+ annotations:
+ {{- toYaml .Values.postJob.podAnnotations | nindent 8 }}
+ {{- end }}
+ spec:
+ restartPolicy: OnFailure
+ {{- include "minio.imagePullSecrets" . | nindent 6 }}
+ nodeSelector:
+ {{- include "linux-node-selector" . | nindent 8 }}
+ {{- with .Values.postJob.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ tolerations:
+ {{- include "linux-node-tolerations" . | nindent 8 }}
+ {{- with .Values.postJob.tolerations }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- if .Values.postJob.securityContext.enabled }}
+ securityContext:
+ runAsUser: {{ .Values.postJob.securityContext.runAsUser }}
+ runAsGroup: {{ .Values.postJob.securityContext.runAsGroup }}
+ fsGroup: {{ .Values.postJob.securityContext.fsGroup }}
+ {{- end }}
+ volumes:
+ - name: minio-configuration
+ projected:
+ sources:
+ - configMap:
+ name: {{ template "minio.fullname" . }}
+ - secret:
+ name: {{ template "minio.secretName" . }}
+ {{- range .Values.users }}
+ {{- if .existingSecret }}
+ - secret:
+ name: {{ tpl .existingSecret $ }}
+ items:
+ - key: {{ .existingSecretKey }}
+ path: secrets/{{ tpl .existingSecretKey $ }}
+ {{- end }}
+ {{- end }}
+ {{- if .Values.tls.enabled }}
+ - name: cert-secret-volume-mc
+ secret:
+ secretName: {{ .Values.tls.certSecret }}
+ items:
+ - key: {{ .Values.tls.publicCrt }}
+ path: CAs/public.crt
+ {{ end }}
+ containers:
+ {{- if .Values.buckets }}
+ - name: minio-make-bucket
+ image: "{{ default .Values.mcImage.registry (include "registry-url" .) }}{{ .Values.mcImage.repository }}:{{ .Values.mcImage.tag }}"
+ {{- if .Values.makeBucketJob.securityContext.enabled }}
+ securityContext:
+ runAsUser: {{ .Values.makeBucketJob.securityContext.runAsUser }}
+ runAsGroup: {{ .Values.makeBucketJob.securityContext.runAsGroup }}
+ fsGroup: {{ .Values.makeBucketJob.securityContext.fsGroup }}
+ {{- end }}
+ imagePullPolicy: {{ .Values.mcImage.pullPolicy }}
+ {{- if .Values.makeBucketJob.exitCommand }}
+ command: [ "/bin/sh", "-c" ]
+ args: [ "/bin/sh /config/initialize; EV=$?; {{ .Values.makeBucketJob.exitCommand }} && exit $EV" ]
+ {{- else }}
+ command: [ "/bin/sh", "/config/initialize" ]
+ {{- end }}
+ env:
+ - name: MINIO_ENDPOINT
+ value: {{ template "minio.fullname" . }}
+ - name: MINIO_PORT
+ value: {{ .Values.service.port | quote }}
+ volumeMounts:
+ - name: minio-configuration
+ mountPath: /config
+ {{- if .Values.tls.enabled }}
+ - name: cert-secret-volume-mc
+ mountPath: {{ .Values.configPathmc }}certs
+ {{ end }}
+ resources:
+ {{- toYaml .Values.makeBucketJob.resources | nindent 12 }}
+ {{- end }}
+ {{- if .Values.users }}
+ - name: minio-make-user
+ image: "{{ default .Values.mcImage.registry (include "registry-url" .) }}{{ .Values.mcImage.repository }}:{{ .Values.mcImage.tag }}"
+ {{- if .Values.makeUserJob.securityContext.enabled }}
+ securityContext:
+ runAsUser: {{ .Values.makeUserJob.securityContext.runAsUser }}
+ runAsGroup: {{ .Values.makeUserJob.securityContext.runAsGroup }}
+ fsGroup: {{ .Values.makeUserJob.securityContext.fsGroup }}
+ {{- end }}
+ imagePullPolicy: {{ .Values.mcImage.pullPolicy }}
+ {{- if .Values.makeUserJob.exitCommand }}
+ command: [ "/bin/sh", "-c" ]
+ args: [ "/bin/sh /config/add-user; EV=$?; {{ .Values.makeUserJob.exitCommand }} && exit $EV" ]
+ {{- else }}
+ command: [ "/bin/sh", "/config/add-user" ]
+ {{- end }}
+ env:
+ - name: MINIO_ENDPOINT
+ value: {{ template "minio.fullname" . }}
+ - name: MINIO_PORT
+ value: {{ .Values.service.port | quote }}
+ volumeMounts:
+ - name: minio-configuration
+ mountPath: /config
+ {{- if .Values.tls.enabled }}
+ - name: cert-secret-volume-mc
+ mountPath: {{ .Values.configPathmc }}certs
+ {{ end }}
+ resources:
+ {{- toYaml .Values.makeUserJob.resources | nindent 12 }}
+ {{- end }}
+ {{- if .Values.policies }}
+ - name: minio-make-policy
+ image: "{{ default .Values.mcImage.registry (include "registry-url" .) }}{{ .Values.mcImage.repository }}:{{ .Values.mcImage.tag }}"
+ {{- if .Values.makePolicyJob.securityContext.enabled }}
+ securityContext:
+ runAsUser: {{ .Values.makePolicyJob.securityContext.runAsUser }}
+ runAsGroup: {{ .Values.makePolicyJob.securityContext.runAsGroup }}
+ fsGroup: {{ .Values.makePolicyJob.securityContext.fsGroup }}
+ {{- end }}
+ imagePullPolicy: {{ .Values.mcImage.pullPolicy }}
+ {{- if .Values.makePolicyJob.exitCommand }}
+ command: [ "/bin/sh", "-c" ]
+ args: [ "/bin/sh /config/add-policy; EV=$?; {{ .Values.makePolicyJob.exitCommand }} && exit $EV" ]
+ {{- else }}
+ command: [ "/bin/sh", "/config/add-policy" ]
+ {{- end }}
+ env:
+ - name: MINIO_ENDPOINT
+ value: {{ template "minio.fullname" . }}
+ - name: MINIO_PORT
+ value: {{ .Values.service.port | quote }}
+ volumeMounts:
+ - name: minio-configuration
+ mountPath: /config
+ {{- if .Values.tls.enabled }}
+ - name: cert-secret-volume-mc
+ mountPath: {{ .Values.configPathmc }}certs
+ {{ end }}
+ resources:
+ {{- toYaml .Values.makePolicyJob.resources | nindent 12 }}
+ {{- end }}
+ {{- if .Values.customCommands }}
+ - name: minio-custom-command
+ image: "{{ default .Values.mcImage.registry (include "registry-url" .) }}{{ .Values.mcImage.repository }}:{{ .Values.mcImage.tag }}"
+ {{- if .Values.customCommandJob.securityContext.enabled }}
+ securityContext:
+ runAsUser: {{ .Values.customCommandJob.securityContext.runAsUser }}
+ runAsGroup: {{ .Values.customCommandJob.securityContext.runAsGroup }}
+ fsGroup: {{ .Values.customCommandJob.securityContext.fsGroup }}
+ {{- end }}
+ imagePullPolicy: {{ .Values.mcImage.pullPolicy }}
+ {{- if .Values.customCommandJob.exitCommand }}
+ command: [ "/bin/sh", "-c" ]
+ args: [ "/bin/sh /config/custom-command; EV=$?; {{ .Values.customCommandJob.exitCommand }} && exit $EV" ]
+ {{- else }}
+ command: [ "/bin/sh", "/config/custom-command" ]
+ {{- end }}
+ env:
+ - name: MINIO_ENDPOINT
+ value: {{ template "minio.fullname" . }}
+ - name: MINIO_PORT
+ value: {{ .Values.service.port | quote }}
+ volumeMounts:
+ - name: minio-configuration
+ mountPath: /config
+ {{- if .Values.tls.enabled }}
+ - name: cert-secret-volume-mc
+ mountPath: {{ .Values.configPathmc }}certs
+ {{ end }}
+ resources:
+ {{- toYaml .Values.customCommandJob.resources | nindent 12 }}
+ {{- end }}
+ {{- if .Values.svcaccts }}
+ - name: minio-make-svcacct
+ image: "{{ default .Values.mcImage.registry (include "registry-url" .) }}{{ .Values.mcImage.repository }}:{{ .Values.mcImage.tag }}"
+ {{- if .Values.makeServiceAccountJob.securityContext.enabled }}
+ securityContext:
+ runAsUser: {{ .Values.makeServiceAccountJob.securityContext.runAsUser }}
+ runAsGroup: {{ .Values.makeServiceAccountJob.securityContext.runAsGroup }}
+ fsGroup: {{ .Values.makeServiceAccountJob.securityContext.fsGroup }}
+ {{- end }}
+ imagePullPolicy: {{ .Values.mcImage.pullPolicy }}
+ {{- if .Values.makeServiceAccountJob.exitCommand }}
+ command: [ "/bin/sh", "-c" ]
+ args: ["/bin/sh /config/add-svcacct; EV=$?; {{ .Values.makeServiceAccountJob.exitCommand }} && exit $EV" ]
+ {{- else }}
+ command: ["/bin/sh", "/config/add-svcacct"]
+ {{- end }}
+ env:
+ - name: MINIO_ENDPOINT
+ value: {{ template "minio.fullname" . }}
+ - name: MINIO_PORT
+ value: {{ .Values.service.port | quote }}
+ volumeMounts:
+ - name: minio-configuration
+ mountPath: /config
+ {{- if .Values.tls.enabled }}
+ - name: cert-secret-volume-mc
+ mountPath: {{ .Values.configPathmc }}certs
+ {{ end }}
+ resources:
+ {{- toYaml .Values.makeServiceAccountJob.resources | nindent 12 }}
+ {{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/psp.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/psp.yaml
new file mode 100644
index 000000000..ab874e1f5
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/psp.yaml
@@ -0,0 +1,84 @@
+{{- if .Values.serviceAccount.create -}}
+{{- if .Values.global.rbac.pspEnabled }}
+
+---
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: {{ printf "%s-psp" .Values.serviceAccount.name | quote }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: {{ .Values.serviceAccount.name | quote }}
+ app: {{ .Values.serviceAccount.name | quote }}
+{{- if .Values.global.rbac.pspAnnotations }}
+ annotations: {{ toYaml .Values.global.rbac.pspAnnotations | nindent 4 }}
+{{- end }}
+spec:
+ privileged: false
+ hostNetwork: false
+ hostIPC: false
+ hostPID: false
+ runAsUser:
+ # Permits the container to run with root privileges as well.
+ rule: 'RunAsAny'
+ seLinux:
+ # This policy assumes the nodes are using AppArmor rather than SELinux.
+ rule: 'RunAsAny'
+ supplementalGroups:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ fsGroup:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ readOnlyRootFilesystem: false
+
+---
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: {{ printf "%s-psp" .Values.serviceAccount.name | quote }}
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: {{ .Values.serviceAccount.name | quote }}
+ app: {{ .Values.serviceAccount.name | quote }}
+rules:
+{{- if semverCompare "> 1.15.0-0" .Capabilities.KubeVersion.GitVersion }}
+- apiGroups: ['policy']
+{{- else }}
+- apiGroups: ['extensions']
+{{- end }}
+ resources: ['podsecuritypolicies']
+ verbs: ['use']
+ resourceNames:
+ - {{ printf "%s-psp" .Values.serviceAccount.name | quote }}
+
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: {{ printf "%s-psp" .Values.serviceAccount.name | quote }}
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: {{ .Values.serviceAccount.name | quote }}
+ app: {{ .Values.serviceAccount.name | quote }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ printf "%s-psp" .Values.serviceAccount.name | quote }}
+subjects:
+ - kind: ServiceAccount
+ name: {{ .Values.serviceAccount.name | quote }}
+ namespace: {{ .Release.Namespace }}
+
+{{- end }}
+{{- end -}}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/pvc.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/pvc.yaml
new file mode 100644
index 000000000..369aade41
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/pvc.yaml
@@ -0,0 +1,35 @@
+{{- if eq .Values.mode "standalone" }}
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: {{ template "minio.fullname" . }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | trimSuffix "\n" | indent 4 }}
+{{- end }}
+spec:
+ accessModes:
+ - {{ .Values.persistence.accessMode | quote }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size | quote }}
+
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- if .Values.persistence.VolumeName }}
+ volumeName: "{{ .Values.persistence.VolumeName }}"
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/secrets.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/secrets.yaml
new file mode 100644
index 000000000..da2ecab4a
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/secrets.yaml
@@ -0,0 +1,22 @@
+{{- if not .Values.existingSecret }}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ template "minio.secretName" . }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+type: Opaque
+data:
+ rootUser: {{ include "minio.root.username" . | b64enc | quote }}
+ rootPassword: {{ include "minio.root.password" . | b64enc | quote }}
+ {{- if .Values.etcd.clientCert }}
+ etcd_client.crt: {{ .Values.etcd.clientCert | toString | b64enc | quote }}
+ {{- end }}
+ {{- if .Values.etcd.clientCertKey }}
+ etcd_client.key: {{ .Values.etcd.clientCertKey | toString | b64enc | quote }}
+ {{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/securitycontextconstraints.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/securitycontextconstraints.yaml
new file mode 100644
index 000000000..4bac7e372
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/securitycontextconstraints.yaml
@@ -0,0 +1,45 @@
+{{- if and .Values.securityContext.enabled .Values.persistence.enabled (.Capabilities.APIVersions.Has "security.openshift.io/v1") }}
+apiVersion: security.openshift.io/v1
+kind: SecurityContextConstraints
+metadata:
+ name: {{ template "minio.fullname" . }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+allowHostDirVolumePlugin: false
+allowHostIPC: false
+allowHostNetwork: false
+allowHostPID: false
+allowHostPorts: false
+allowPrivilegeEscalation: true
+allowPrivilegedContainer: false
+allowedCapabilities: []
+readOnlyRootFilesystem: false
+defaultAddCapabilities: []
+requiredDropCapabilities:
+- KILL
+- MKNOD
+- SETUID
+- SETGID
+fsGroup:
+ type: MustRunAs
+ ranges:
+ - max: {{ .Values.securityContext.fsGroup }}
+ min: {{ .Values.securityContext.fsGroup }}
+runAsUser:
+ type: MustRunAs
+ uid: {{ .Values.securityContext.runAsUser }}
+seLinuxContext:
+ type: MustRunAs
+supplementalGroups:
+ type: RunAsAny
+volumes:
+- configMap
+- downwardAPI
+- emptyDir
+- persistentVolumeClaim
+- projected
+- secret
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/service.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/service.yaml
new file mode 100644
index 000000000..741528df4
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/service.yaml
@@ -0,0 +1,49 @@
+{{ $scheme := "http" }}
+{{- if .Values.tls.enabled }}
+{{ $scheme = "https" }}
+{{ end }}
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ template "minio.fullname" . }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ monitoring: "true"
+{{- if .Values.service.annotations }}
+ annotations:
+{{ toYaml .Values.service.annotations | indent 4 }}
+{{- end }}
+spec:
+{{- if (or (eq .Values.service.type "ClusterIP" "") (empty .Values.service.type)) }}
+ type: ClusterIP
+ {{- if not (empty .Values.service.clusterIP) }}
+ clusterIP: {{ .Values.service.clusterIP }}
+ {{end}}
+{{- else if eq .Values.service.type "LoadBalancer" }}
+ type: {{ .Values.service.type }}
+ loadBalancerIP: {{ default "" .Values.service.loadBalancerIP }}
+{{- else }}
+ type: {{ .Values.service.type }}
+{{- end }}
+ ports:
+ - name: {{ $scheme }}
+ port: {{ .Values.service.port }}
+ protocol: TCP
+{{- if (and (eq .Values.service.type "NodePort") ( .Values.service.nodePort)) }}
+ nodePort: {{ .Values.service.nodePort }}
+{{- else }}
+ targetPort: {{ .Values.minioAPIPort }}
+{{- end}}
+{{- if .Values.service.externalIPs }}
+ externalIPs:
+{{- range $i , $ip := .Values.service.externalIPs }}
+ - {{ $ip }}
+{{- end }}
+{{- end }}
+ selector:
+ app: {{ template "minio.name" . }}
+ release: {{ .Release.Name }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/serviceaccount.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/serviceaccount.yaml
new file mode 100644
index 000000000..6a4bd94b3
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/serviceaccount.yaml
@@ -0,0 +1,7 @@
+{{- if .Values.serviceAccount.create -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ .Values.serviceAccount.name | quote }}
+ namespace: {{ .Release.Namespace | quote }}
+{{- end -}}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/servicemonitor.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/servicemonitor.yaml
new file mode 100644
index 000000000..955273b52
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/servicemonitor.yaml
@@ -0,0 +1,117 @@
+{{- if and .Values.metrics.serviceMonitor.enabled .Values.metrics.serviceMonitor.includeNode}}
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+ name: {{ template "minio.fullname" . }}
+ {{- if .Values.metrics.serviceMonitor.namespace }}
+ namespace: {{ .Values.metrics.serviceMonitor.namespace }}
+ {{ else }}
+ namespace: {{ .Release.Namespace | quote }}
+ {{- end }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ {{- if .Values.metrics.serviceMonitor.additionalLabels }}
+{{ toYaml .Values.metrics.serviceMonitor.additionalLabels | indent 4 }}
+ {{- end }}
+{{- if .Values.metrics.serviceMonitor.annotations }}
+ annotations:
+{{ toYaml .Values.metrics.serviceMonitor.annotations | trimSuffix "\n" | indent 4 }}
+{{- end }}
+spec:
+ endpoints:
+ {{- if .Values.tls.enabled }}
+ - port: https
+ scheme: https
+ tlsConfig:
+ ca:
+ secret:
+ name: {{ .Values.tls.certSecret }}
+ key: {{ .Values.tls.publicCrt }}
+ serverName: {{ template "minio.fullname" . }}
+ {{ else }}
+ - port: http
+ scheme: http
+ {{- end }}
+ path: /minio/v2/metrics/node
+ {{- if .Values.metrics.serviceMonitor.interval }}
+ interval: {{ .Values.metrics.serviceMonitor.interval }}
+ {{- end }}
+ {{- if .Values.metrics.serviceMonitor.scrapeTimeout }}
+ scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }}
+ {{- end }}
+ {{- if .Values.metrics.serviceMonitor.relabelConfigs }}
+{{ toYaml .Values.metrics.serviceMonitor.relabelConfigs | indent 6 }}
+ {{- end }}
+ {{- if not .Values.metrics.serviceMonitor.public }}
+ bearerTokenSecret:
+ name: {{ template "minio.fullname" . }}-prometheus
+ key: token
+ {{- end }}
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace | quote }}
+ selector:
+ matchLabels:
+ app: {{ include "minio.name" . }}
+ release: {{ .Release.Name }}
+ monitoring: "true"
+{{- end }}
+{{- if .Values.metrics.serviceMonitor.enabled }}
+---
+apiVersion: monitoring.coreos.com/v1
+kind: Probe
+metadata:
+ name: {{ template "minio.fullname" . }}-cluster
+ {{- if .Values.metrics.serviceMonitor.namespace }}
+ namespace: {{ .Values.metrics.serviceMonitor.namespace }}
+ {{ else }}
+ namespace: {{ .Release.Namespace | quote }}
+ {{- end }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ {{- if .Values.metrics.serviceMonitor.additionalLabels }}
+{{ toYaml .Values.metrics.serviceMonitor.additionalLabels | indent 4 }}
+ {{- end }}
+spec:
+ jobName: {{ template "minio.fullname" . }}
+ {{- if .Values.tls.enabled }}
+ tlsConfig:
+ ca:
+ secret:
+ name: {{ .Values.tls.certSecret }}
+ key: {{ .Values.tls.publicCrt }}
+ serverName: {{ template "minio.fullname" . }}
+ {{- end }}
+ prober:
+ url: {{ template "minio.fullname" . }}.{{ .Release.Namespace }}:{{ .Values.service.port }}
+ path: /minio/v2/metrics/cluster
+ {{- if .Values.tls.enabled }}
+ scheme: https
+ {{ else }}
+ scheme: http
+ {{- end }}
+ {{- if .Values.metrics.serviceMonitor.relabelConfigsCluster }}
+{{ toYaml .Values.metrics.serviceMonitor.relabelConfigsCluster | indent 2 }}
+ {{- end }}
+ targets:
+ staticConfig:
+ static:
+ - {{ template "minio.fullname" . }}.{{ .Release.Namespace }}
+ {{- if not .Values.metrics.serviceMonitor.public }}
+ {{- if .Values.metrics.serviceMonitor.interval }}
+ interval: {{ .Values.metrics.serviceMonitor.interval }}
+ {{- end }}
+ {{- if .Values.metrics.serviceMonitor.scrapeTimeout }}
+ scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }}
+ {{- end }}
+ bearerTokenSecret:
+ name: {{ template "minio.fullname" . }}-prometheus
+ key: token
+ {{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/statefulset.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/statefulset.yaml
new file mode 100644
index 000000000..eaedfc629
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/templates/statefulset.yaml
@@ -0,0 +1,258 @@
+{{- if eq .Values.mode "distributed" }}
+{{ $poolCount := .Values.pools | int }}
+{{ $nodeCount := .Values.replicas | int }}
+{{ $replicas := mul $poolCount $nodeCount }}
+{{ $drivesPerNode := .Values.drivesPerNode | int }}
+{{ $scheme := "http" }}
+{{- if .Values.tls.enabled }}
+{{ $scheme = "https" }}
+{{ end }}
+{{ $mountPath := .Values.mountPath }}
+{{ $bucketRoot := or ($.Values.bucketRoot) ($.Values.mountPath) }}
+{{ $subPath := .Values.persistence.subPath }}
+{{ $penabled := .Values.persistence.enabled }}
+{{ $accessMode := .Values.persistence.accessMode }}
+{{ $storageClass := .Values.persistence.storageClass }}
+{{ $psize := .Values.persistence.size }}
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ template "minio.fullname" . }}-svc
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+spec:
+ publishNotReadyAddresses: true
+ clusterIP: None
+ ports:
+ - name: {{ $scheme }}
+ port: {{ .Values.service.port }}
+ protocol: TCP
+ targetPort: {{ .Values.minioAPIPort }}
+ selector:
+ app: {{ template "minio.name" . }}
+ release: {{ .Release.Name }}
+---
+apiVersion: {{ template "minio.statefulset.apiVersion" . }}
+kind: StatefulSet
+metadata:
+ name: {{ template "minio.fullname" . }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ app: {{ template "minio.name" . }}
+ chart: {{ template "minio.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+{{- if .Values.additionalLabels }}
+{{ toYaml .Values.additionalLabels | trimSuffix "\n" | indent 4 }}
+{{- end }}
+{{- if .Values.additionalAnnotations }}
+ annotations:
+{{ toYaml .Values.additionalAnnotations | trimSuffix "\n" | indent 4 }}
+{{- end }}
+spec:
+ updateStrategy:
+ type: {{ .Values.StatefulSetUpdate.updateStrategy }}
+ podManagementPolicy: "Parallel"
+ serviceName: {{ template "minio.fullname" . }}-svc
+ replicas: {{ $replicas }}
+ selector:
+ matchLabels:
+ app: {{ template "minio.name" . }}
+ release: {{ .Release.Name }}
+ template:
+ metadata:
+ name: {{ template "minio.fullname" . }}
+ labels:
+ app: {{ template "minio.name" . }}
+ release: {{ .Release.Name }}
+{{- if .Values.podLabels }}
+{{ toYaml .Values.podLabels | indent 8 }}
+{{- end }}
+ annotations:
+{{- if not .Values.ignoreChartChecksums }}
+ checksum/secrets: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }}
+ checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+{{- end }}
+{{- if .Values.podAnnotations }}
+{{ toYaml .Values.podAnnotations | trimSuffix "\n" | indent 8 }}
+{{- end }}
+ spec:
+ {{- if .Values.priorityClassName }}
+ priorityClassName: "{{ .Values.priorityClassName }}"
+ {{- end }}
+ {{- if .Values.runtimeClassName }}
+ runtimeClassName: "{{ .Values.runtimeClassName }}"
+ {{- end }}
+{{- if and .Values.securityContext.enabled .Values.persistence.enabled }}
+ securityContext:
+ runAsUser: {{ .Values.securityContext.runAsUser }}
+ runAsGroup: {{ .Values.securityContext.runAsGroup }}
+ fsGroup: {{ .Values.securityContext.fsGroup }}
+ {{- if and (ge .Capabilities.KubeVersion.Major "1") (ge .Capabilities.KubeVersion.Minor "20") }}
+ fsGroupChangePolicy: {{ .Values.securityContext.fsGroupChangePolicy }}
+ {{- end }}
+{{- end }}
+{{ if .Values.serviceAccount.create }}
+ serviceAccountName: {{ .Values.serviceAccount.name }}
+{{- end }}
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ default .Values.image.registry (include "registry-url" .) }}{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+
+ command: [ "/bin/sh",
+ "-ce",
+ "/usr/bin/docker-entrypoint.sh minio server {{- range $i := until $poolCount }}{{ $factor := mul $i $nodeCount }}{{ $endIndex := add $factor $nodeCount }}{{ $beginIndex := mul $i $nodeCount }} {{ $scheme }}://{{ template `minio.fullname` $ }}-{{ `{` }}{{ $beginIndex }}...{{ sub $endIndex 1 }}{{ `}`}}.{{ template `minio.fullname` $ }}-svc.{{ $.Release.Namespace }}.svc.{{ $.Values.clusterDomain }}{{if (gt $drivesPerNode 1)}}{{ $bucketRoot }}-{{ `{` }}0...{{ sub $drivesPerNode 1 }}{{ `}` }}{{else}}{{ $bucketRoot }}{{end}}{{- end}} -S {{ .Values.certsPath }} --address :{{ .Values.minioAPIPort }} --console-address :{{ .Values.minioConsolePort }} {{- template `minio.extraArgs` . }}" ]
+ volumeMounts:
+ {{- if $penabled }}
+ {{- if (gt $drivesPerNode 1) }}
+ {{- range $i := until $drivesPerNode }}
+ - name: export-{{ $i }}
+ mountPath: {{ $mountPath }}-{{ $i }}
+ {{- if and $penabled $subPath }}
+ subPath: {{ $subPath }}
+ {{- end }}
+ {{- end }}
+ {{- else }}
+ - name: export
+ mountPath: {{ $mountPath }}
+ {{- if and $penabled $subPath }}
+ subPath: {{ $subPath }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- if .Values.extraSecret }}
+ - name: extra-secret
+ mountPath: "/tmp/minio-config-env"
+ {{- end }}
+ {{- include "minio.tlsKeysVolumeMount" . | indent 12 }}
+ {{- if .Values.extraVolumeMounts }}
+ {{- toYaml .Values.extraVolumeMounts | nindent 12 }}
+ {{- end }}
+ ports:
+ - name: {{ $scheme }}
+ containerPort: {{ .Values.minioAPIPort }}
+ - name: {{ $scheme }}-console
+ containerPort: {{ .Values.minioConsolePort }}
+ env:
+ - name: MINIO_ROOT_USER
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "minio.secretName" . }}
+ key: rootUser
+ - name: MINIO_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "minio.secretName" . }}
+ key: rootPassword
+ {{- if .Values.extraSecret }}
+ - name: MINIO_CONFIG_ENV_FILE
+ value: "/tmp/minio-config-env/config.env"
+ {{- end}}
+ {{- if .Values.metrics.serviceMonitor.public }}
+ - name: MINIO_PROMETHEUS_AUTH_TYPE
+ value: "public"
+ {{- end}}
+ {{- if .Values.oidc.enabled }}
+ - name: MINIO_IDENTITY_OPENID_CONFIG_URL
+ value: {{ .Values.oidc.configUrl }}
+ - name: MINIO_IDENTITY_OPENID_CLIENT_ID
+ value: {{ .Values.oidc.clientId }}
+ - name: MINIO_IDENTITY_OPENID_CLIENT_SECRET
+ value: {{ .Values.oidc.clientSecret }}
+ - name: MINIO_IDENTITY_OPENID_CLAIM_NAME
+ value: {{ .Values.oidc.claimName }}
+ - name: MINIO_IDENTITY_OPENID_CLAIM_PREFIX
+ value: {{ .Values.oidc.claimPrefix }}
+ - name: MINIO_IDENTITY_OPENID_SCOPES
+ value: {{ .Values.oidc.scopes }}
+ - name: MINIO_IDENTITY_OPENID_REDIRECT_URI
+ value: {{ .Values.oidc.redirectUri }}
+ - name: MINIO_IDENTITY_OPENID_COMMENT
+ value: {{ .Values.oidc.comment }}
+ {{- end}}
+ {{- range $key, $val := .Values.environment }}
+ - name: {{ $key }}
+ value: {{ $val | quote }}
+ {{- end}}
+ resources:
+{{ toYaml .Values.resources | indent 12 }}
+ {{- with .Values.extraContainers }}
+ {{- if eq (typeOf .) "string" }}
+ {{- tpl . $ | nindent 8 }}
+ {{- else }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- end }}
+ nodeSelector:
+ {{- include "linux-node-selector" . | nindent 8 }}
+{{- include "minio.imagePullSecrets" . | indent 6 }}
+ {{- with .Values.affinity }}
+ affinity:
+{{ toYaml . | indent 8 }}
+ {{- end }}
+ tolerations:
+ {{- include "linux-node-tolerations" . | nindent 8 }}
+ {{- with .Values.tolerations }}
+ {{ toYaml . | indent 8 }}
+ {{- end }}
+ {{- if and (gt $replicas 1) (ge .Capabilities.KubeVersion.Major "1") (ge .Capabilities.KubeVersion.Minor "19") }}
+ {{- with .Values.topologySpreadConstraints }}
+ topologySpreadConstraints:
+{{ toYaml . | indent 8 }}
+ {{- end }}
+ {{- end }}
+ volumes:
+ - name: minio-user
+ secret:
+ secretName: {{ template "minio.secretName" . }}
+ {{- if .Values.extraSecret }}
+ - name: extra-secret
+ secret:
+ secretName: {{ .Values.extraSecret }}
+ {{- end }}
+ {{- include "minio.tlsKeysVolume" . | indent 8 }}
+ {{- if .Values.extraVolumes }}
+ {{ toYaml .Values.extraVolumes | nindent 8 }}
+ {{- end }}
+{{- if .Values.persistence.enabled }}
+ volumeClaimTemplates:
+ {{- if gt $drivesPerNode 1 }}
+ {{- range $diskId := until $drivesPerNode}}
+ - metadata:
+ name: export-{{ $diskId }}
+ {{- if $.Values.persistence.annotations }}
+ annotations:
+{{ toYaml $.Values.persistence.annotations | trimSuffix "\n" | indent 10 }}
+ {{- end }}
+ spec:
+ accessModes: [ {{ $accessMode | quote }} ]
+ {{- if $storageClass }}
+ storageClassName: {{ $storageClass }}
+ {{- end }}
+ resources:
+ requests:
+ storage: {{ $psize }}
+ {{- end }}
+ {{- else }}
+ - metadata:
+ name: export
+ {{- if $.Values.persistence.annotations }}
+ annotations:
+{{ toYaml $.Values.persistence.annotations | trimSuffix "\n" | indent 10 }}
+ {{- end }}
+ spec:
+ accessModes: [ {{ $accessMode | quote }} ]
+ {{- if $storageClass }}
+ storageClassName: {{ $storageClass }}
+ {{- end }}
+ resources:
+ requests:
+ storage: {{ $psize }}
+ {{- end }}
+{{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/charts/minio/values.yaml b/charts/epinio/100.0.5+up1.6.2/charts/minio/values.yaml
new file mode 100644
index 000000000..233c61572
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/charts/minio/values.yaml
@@ -0,0 +1,540 @@
+## Provide a name in place of minio for `app:` labels
+##
+nameOverride: ""
+
+## Provide a name to substitute for the full names of resources
+##
+fullnameOverride: ""
+
+## set kubernetes cluster domain where minio is running
+##
+clusterDomain: cluster.local
+
+## Set default image, imageTag, and imagePullPolicy. mode is used to indicate the
+##
+image:
+ repository: rancher/mirrored-minio-minio
+ tag: RELEASE.2022-12-12T19-27-27Z
+ pullPolicy: IfNotPresent
+
+imagePullSecrets: []
+# - name: "image-pull-secret"
+
+## Set default image, imageTag, and imagePullPolicy for the `mc` (the minio
+## client used to create a default bucket).
+##
+mcImage:
+ repository: rancher/mirrored-minio-mc
+ tag: RELEASE.2022-12-13T00-23-28Z
+ pullPolicy: IfNotPresent
+
+## minio mode, i.e. standalone or distributed
+mode: distributed ## other supported values are "standalone"
+
+## Additional labels to include with deployment or statefulset
+additionalLabels: {}
+
+## Additional annotations to include with deployment or statefulset
+additionalAnnotations: {}
+
+## Typically the deployment/statefulset includes checksums of secrets/config,
+## So that when these change on a subsequent helm install, the deployment/statefulset
+## is restarted. This can result in unnecessary restarts under GitOps tooling such as
+## flux, so set to "true" to disable this behaviour.
+ignoreChartChecksums: false
+
+## Additional arguments to pass to minio binary
+extraArgs: []
+
+## Additional volumes to minio container
+extraVolumes: []
+
+## Additional volumeMounts to minio container
+extraVolumeMounts: []
+
+## Additional sidecar containers
+extraContainers: []
+
+## Internal port number for MinIO S3 API container
+## Change service.port to change external port number
+minioAPIPort: "9000"
+
+## Internal port number for MinIO Browser Console container
+## Change consoleService.port to change external port number
+minioConsolePort: "9001"
+
+## Update strategy for Deployments
+DeploymentUpdate:
+ type: RollingUpdate
+ maxUnavailable: 0
+ maxSurge: 100%
+
+## Update strategy for StatefulSets
+StatefulSetUpdate:
+ updateStrategy: RollingUpdate
+
+## Pod priority settings
+## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
+##
+priorityClassName: ""
+
+## Pod runtime class name
+## ref https://kubernetes.io/docs/concepts/containers/runtime-class/
+##
+runtimeClassName: ""
+
+## Set default rootUser, rootPassword
+## AccessKey and secretKey is generated when not set
+## Distributed MinIO ref: https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html
+##
+rootUser: ""
+rootPassword: ""
+
+## Use existing Secret that store following variables:
+##
+## | Chart var | .data. in Secret |
+## |:----------------------|:-------------------------|
+## | rootUser | rootUser |
+## | rootPassword | rootPassword |
+##
+## All mentioned variables will be ignored in values file.
+## .data.rootUser and .data.rootPassword are mandatory,
+## others depend on enabled status of corresponding sections.
+existingSecret: ""
+
+## Directory on the MinIO pof
+certsPath: "/etc/minio/certs/"
+configPathmc: "/etc/minio/mc/"
+
+## Path where PV would be mounted on the MinIO Pod
+mountPath: "/export"
+## Override the root directory which the minio server should serve from.
+## If left empty, it defaults to the value of {{ .Values.mountPath }}
+## If defined, it must be a sub-directory of the path specified in {{ .Values.mountPath }}
+##
+bucketRoot: ""
+
+# Number of drives attached to a node
+drivesPerNode: 1
+# Number of MinIO containers running
+replicas: 16
+# Number of expanded MinIO clusters
+pools: 1
+
+## TLS Settings for MinIO
+tls:
+ enabled: false
+ ## Create a secret with private.key and public.crt files and pass that here. Ref: https://github.com/minio/minio/tree/master/docs/tls/kubernetes#2-create-kubernetes-secret
+ certSecret: ""
+ publicCrt: public.crt
+ privateKey: private.key
+
+## Trusted Certificates Settings for MinIO. Ref: https://min.io/docs/minio/linux/operations/network-encryption.html#third-party-certificate-authorities
+## Bundle multiple trusted certificates into one secret and pass that here. Ref: https://github.com/minio/minio/tree/master/docs/tls/kubernetes#2-create-kubernetes-secret
+## When using self-signed certificates, remember to include MinIO's own certificate in the bundle with key public.crt.
+## If certSecret is left empty and tls is enabled, this chart installs the public certificate from .Values.tls.certSecret.
+trustedCertsSecret: ""
+
+## Enable persistence using Persistent Volume Claims
+## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
+##
+persistence:
+ enabled: true
+ annotations: {}
+
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ existingClaim: ""
+
+ ## minio data Persistent Volume Storage Class
+ ## If defined, storageClassName:
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ ##
+ ## Storage class of PV to bind. By default it looks for standard storage class.
+ ## If the PV uses a different storage class, specify that here.
+ storageClass: ""
+ VolumeName: ""
+ accessMode: ReadWriteOnce
+ size: 500Gi
+
+ ## If subPath is set mount a sub folder of a volume instead of the root of the volume.
+ ## This is especially handy for volume plugins that don't natively support sub mounting (like glusterfs).
+ ##
+ subPath: ""
+
+## Expose the MinIO service to be accessed from outside the cluster (LoadBalancer service).
+## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
+## ref: http://kubernetes.io/docs/user-guide/services/
+##
+service:
+ type: ClusterIP
+ clusterIP: ~
+ port: "9000"
+ nodePort: 32000
+
+## Configure Ingress based on the documentation here: https://kubernetes.io/docs/concepts/services-networking/ingress/
+##
+
+ingress:
+ enabled: false
+ # ingressClassName: ""
+ labels: {}
+ # node-role.kubernetes.io/ingress: platform
+
+ annotations: {}
+ # kubernetes.io/ingress.class: nginx
+ # kubernetes.io/tls-acme: "true"
+ # kubernetes.io/ingress.allow-http: "false"
+ # kubernetes.io/ingress.global-static-ip-name: ""
+ # nginx.ingress.kubernetes.io/secure-backends: "true"
+ # nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
+ # nginx.ingress.kubernetes.io/whitelist-source-range: 0.0.0.0/0
+ path: /
+ hosts:
+ - minio-example.local
+ tls: []
+ # - secretName: chart-example-tls
+ # hosts:
+ # - chart-example.local
+
+consoleService:
+ type: ClusterIP
+ clusterIP: ~
+ port: "9001"
+ nodePort: 32001
+
+consoleIngress:
+ enabled: false
+ # ingressClassName: ""
+ labels: {}
+ # node-role.kubernetes.io/ingress: platform
+
+ annotations: {}
+ # kubernetes.io/ingress.class: nginx
+ # kubernetes.io/tls-acme: "true"
+ # kubernetes.io/ingress.allow-http: "false"
+ # kubernetes.io/ingress.global-static-ip-name: ""
+ # nginx.ingress.kubernetes.io/secure-backends: "true"
+ # nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
+ # nginx.ingress.kubernetes.io/whitelist-source-range: 0.0.0.0/0
+ path: /
+ hosts:
+ - console.minio-example.local
+ tls: []
+ # - secretName: chart-example-tls
+ # hosts:
+ # - chart-example.local
+
+## Node labels for pod assignment
+## Ref: https://kubernetes.io/docs/user-guide/node-selection/
+##
+nodeSelector: {}
+tolerations: []
+affinity: {}
+topologySpreadConstraints: []
+
+## Add stateful containers to have security context, if enabled MinIO will run as this
+## user and group NOTE: securityContext is only enabled if persistence.enabled=true
+securityContext:
+ enabled: true
+ runAsUser: 1000
+ runAsGroup: 1000
+ fsGroup: 1000
+ fsGroupChangePolicy: "OnRootMismatch"
+
+# Additational pod annotations
+podAnnotations: {}
+
+# Additional pod labels
+podLabels: {}
+
+## Configure resource requests and limits
+## ref: http://kubernetes.io/docs/user-guide/compute-resources/
+##
+resources:
+ requests:
+ memory: 16Gi
+
+## List of policies to be created after minio install
+##
+## In addition to default policies [readonly|readwrite|writeonly|consoleAdmin|diagnostics]
+## you can define additional policies with custom supported actions and resources
+policies: []
+## writeexamplepolicy policy grants creation or deletion of buckets with name
+## starting with example. In addition, grants objects write permissions on buckets starting with
+## example.
+# - name: writeexamplepolicy
+# statements:
+# - resources:
+# - 'arn:aws:s3:::example*/*'
+# actions:
+# - "s3:AbortMultipartUpload"
+# - "s3:GetObject"
+# - "s3:DeleteObject"
+# - "s3:PutObject"
+# - "s3:ListMultipartUploadParts"
+# - resources:
+# - 'arn:aws:s3:::example*'
+# actions:
+# - "s3:CreateBucket"
+# - "s3:DeleteBucket"
+# - "s3:GetBucketLocation"
+# - "s3:ListBucket"
+# - "s3:ListBucketMultipartUploads"
+## readonlyexamplepolicy policy grants access to buckets with name starting with example.
+## In addition, grants objects read permissions on buckets starting with example.
+# - name: readonlyexamplepolicy
+# statements:
+# - resources:
+# - 'arn:aws:s3:::example*/*'
+# actions:
+# - "s3:GetObject"
+# - resources:
+# - 'arn:aws:s3:::example*'
+# actions:
+# - "s3:GetBucketLocation"
+# - "s3:ListBucket"
+# - "s3:ListBucketMultipartUploads"
+## conditionsexample policy creates all access to example bucket with aws:username="johndoe" and source ip range 10.0.0.0/8 and 192.168.0.0/24 only
+# - name: conditionsexample
+# statements:
+# - resources:
+# - 'arn:aws:s3:::example/*'
+# actions:
+# - 's3:*'
+# conditions:
+# - StringEquals: '"aws:username": "johndoe"'
+# - IpAddress: |
+# "aws:SourceIp": [
+# "10.0.0.0/8",
+# "192.168.0.0/24"
+# ]
+#
+## Additional Annotations for the Kubernetes Job makePolicyJob
+makePolicyJob:
+ securityContext:
+ enabled: false
+ runAsUser: 1000
+ runAsGroup: 1000
+ fsGroup: 1000
+ resources:
+ requests:
+ memory: 128Mi
+ # Command to run after the main command on exit
+ exitCommand: ""
+
+## List of users to be created after minio install
+##
+users:
+ ## Username, password and policy to be assigned to the user
+ ## Default policies are [readonly|readwrite|writeonly|consoleAdmin|diagnostics]
+ ## Add new policies as explained here https://min.io/docs/minio/kubernetes/upstream/administration/identity-access-management.html#access-management
+ ## NOTE: this will fail if LDAP is enabled in your MinIO deployment
+ ## make sure to disable this if you are using LDAP.
+ - accessKey: console
+ secretKey: console123
+ policy: consoleAdmin
+ # Or you can refer to specific secret
+ #- accessKey: externalSecret
+ # existingSecret: my-secret
+ # existingSecretKey: password
+ # policy: readonly
+
+## Additional Annotations for the Kubernetes Job makeUserJob
+makeUserJob:
+ securityContext:
+ enabled: false
+ runAsUser: 1000
+ runAsGroup: 1000
+ fsGroup: 1000
+ resources:
+ requests:
+ memory: 128Mi
+ # Command to run after the main command on exit
+ exitCommand: ""
+
+## List of service accounts to be created after minio install
+##
+# svcaccts:
+ ## accessKey, secretKey and parent user to be assigned to the service accounts
+ ## Add new service accounts as explained here https://min.io/docs/minio/kubernetes/upstream/administration/identity-access-management/minio-user-management.html#service-accounts
+ # - accessKey: console-svcacct
+ # secretKey: console123
+ # user: console
+ ## Or you can refer to specific secret
+ # - accessKey: externalSecret
+ # existingSecret: my-secret
+ # existingSecretKey: password
+ # user: console
+ ## You also can pass custom policy
+ # - accessKey: console-svcacct
+ # secretKey: console123
+ # user: console
+ # policy:
+ # statements:
+ # - resources:
+ # - 'arn:aws:s3:::example*/*'
+ # actions:
+ # - "s3:AbortMultipartUpload"
+ # - "s3:GetObject"
+ # - "s3:DeleteObject"
+ # - "s3:PutObject"
+ # - "s3:ListMultipartUploadParts"
+
+makeServiceAccountJob:
+ securityContext:
+ enabled: false
+ runAsUser: 1000
+ runAsGroup: 1000
+ fsGroup: 1000
+ resources:
+ requests:
+ memory: 128Mi
+ # Command to run after the main command on exit
+ exitCommand: ""
+
+## List of buckets to be created after minio install
+##
+buckets:
+ # # Name of the bucket
+ # - name: bucket1
+ # # Policy to be set on the
+ # # bucket [none|download|upload|public]
+ # policy: none
+ # # Purge if bucket exists already
+ # purge: false
+ # # set versioning for
+ # # bucket [true|false]
+ # versioning: false
+ # # set objectlocking for
+ # # bucket [true|false] NOTE: versioning is enabled by default if you use locking
+ # objectlocking: false
+ # - name: bucket2
+ # policy: none
+ # purge: false
+ # versioning: true
+ # # set objectlocking for
+ # # bucket [true|false] NOTE: versioning is enabled by default if you use locking
+ # objectlocking: false
+
+## Additional Annotations for the Kubernetes Job makeBucketJob
+makeBucketJob:
+ securityContext:
+ enabled: false
+ runAsUser: 1000
+ runAsGroup: 1000
+ fsGroup: 1000
+ resources:
+ requests:
+ memory: 128Mi
+ # Command to run after the main command on exit
+ exitCommand: ""
+
+## List of command to run after minio install
+## NOTE: the mc command TARGET is always "myminio"
+customCommands:
+ # - command: "admin policy set myminio consoleAdmin group='cn=ops,cn=groups,dc=example,dc=com'"
+
+## Additional Annotations for the Kubernetes Job customCommandJob
+customCommandJob:
+ securityContext:
+ enabled: false
+ runAsUser: 1000
+ runAsGroup: 1000
+ fsGroup: 1000
+ resources:
+ requests:
+ memory: 128Mi
+ # Command to run after the main command on exit
+ exitCommand: ""
+
+## Merge jobs
+postJob:
+ podAnnotations: {}
+ annotations: {}
+ securityContext:
+ enabled: false
+ runAsUser: 1000
+ runAsGroup: 1000
+ fsGroup: 1000
+ nodeSelector: {}
+ tolerations: []
+ affinity: {}
+
+## Use this field to add environment variables relevant to MinIO server. These fields will be passed on to MinIO container(s)
+## when Chart is deployed
+environment:
+ ## Please refer for comprehensive list https://min.io/docs/minio/linux/reference/minio-server/minio-server.html
+ ## MINIO_SUBNET_LICENSE: "License key obtained from https://subnet.min.io"
+ ## MINIO_BROWSER: "off"
+
+## The name of a secret in the same kubernetes namespace which contain secret values
+## This can be useful for LDAP password, etc
+## The key in the secret must be 'config.env'
+##
+# extraSecret: minio-extraenv
+
+## OpenID Identity Management
+## The following section documents environment variables for enabling external identity management using an OpenID Connect (OIDC)-compatible provider.
+## See https://min.io/docs/minio/linux/operations/external-iam/configure-openid-external-identity-management.html for a tutorial on using these variables.
+oidc:
+ enabled: false
+ configUrl: "https://identity-provider-url/.well-known/openid-configuration"
+ clientId: "minio"
+ clientSecret: ""
+ claimName: "policy"
+ scopes: "openid,profile,email"
+ redirectUri: "https://console-endpoint-url/oauth_callback"
+ # Can leave empty
+ claimPrefix: ""
+ comment: ""
+
+networkPolicy:
+ enabled: false
+ allowExternal: true
+
+## PodDisruptionBudget settings
+## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
+##
+podDisruptionBudget:
+ enabled: false
+ maxUnavailable: 1
+
+## Specify the service account to use for the MinIO pods. If 'create' is set to 'false'
+## and 'name' is left unspecified, the account 'default' will be used.
+serviceAccount:
+ create: true
+ ## The name of the service account to use. If 'create' is 'true', a service account with that name
+ ## will be created.
+ name: "minio-sa"
+
+metrics:
+ serviceMonitor:
+ enabled: false
+ # scrape each node/pod individually for additional metrics
+ includeNode: false
+ public: true
+ additionalLabels: {}
+ # for node metrics
+ relabelConfigs: {}
+ # for cluster metrics
+ relabelConfigsCluster: {}
+ # metricRelabelings:
+ # - regex: (server|pod)
+ # action: labeldrop
+ # namespace: monitoring
+ # interval: 30s
+ # scrapeTimeout: 10s
+
+## ETCD settings: https://github.com/minio/minio/blob/master/docs/sts/etcd.md
+## Define endpoints to enable this section.
+etcd:
+ endpoints: []
+ pathPrefix: ""
+ corednsPathPrefix: ""
+ clientCert: ""
+ clientCertKey: ""
diff --git a/charts/epinio/100.0.5+up1.6.2/questions.yml b/charts/epinio/100.0.5+up1.6.2/questions.yml
new file mode 100644
index 000000000..2c969c650
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/questions.yml
@@ -0,0 +1,165 @@
+questions:
+- variable: email
+ label: Email
+ description: "Email to use for getting notifications about your certificates"
+ type: string
+ required: false
+ group: "General settings"
+- variable: certManagerNamespace
+ label: Cert-manager namespace
+ description: "Namespace where cert-manager is installed in"
+ type: string
+ required: false
+ group: "Advanced settings"
+- variable: ingress.ingressClassName
+ label: Ingress class name for the server
+ description: "Set a class name to select the ingress controller you want to use for the server"
+ type: string
+ group: "Advanced settings"
+- variable: server.ingressClassName
+ label: Ingress class name for apps
+ description: "Set a class name to select the ingress controller you want to use for your apps"
+ type: string
+ group: "Advanced settings"
+- variable: server.disableTracking
+ label: Disable tracking
+ description: "Disable tracking of the running Epinio and Kubernetes versions"
+ type: boolean
+ group: "Advanced settings"
+- variable: serviceCatalog.enableDevServices
+ label: Enable catalog services for development
+ default: "true"
+ description: "Enables services in the Epinio service catalog, meant to be used in development (because they are running in-cluster)"
+ type: boolean
+ group: "Advanced settings"
+- variable: useCustomTlsIssuer
+ label: Use your own TLS issuer
+ default: "false"
+ description: "Use your own TLS issuer"
+ type: boolean
+ group: "General settings"
+ show_subquestion_if: true
+ subquestions:
+ - variable: customTlsIssuer
+ label: TLS issuer
+ description: "Name of the cluster issuer to use"
+ type: string
+ required: false
+- variable: global.tlsIssuer
+ show_if: "useCustomTlsIssuer=false"
+ label: TLS issuer
+ description: "Name of the predefined cluster issuer to use"
+ type: enum
+ required: false
+ group: "General settings"
+ options:
+ - "epinio-ca"
+ - "selfsigned-issuer"
+ - "letsencrypt-production"
+- variable: api.username
+ label: API username
+ description: "The user name for authenticating all API requests"
+ type: string
+ required: false
+ group: "General settings"
+- variable: api.passwordBcrypt
+ label: API password
+ description: "The password for authenticating all API requests (hashed with Bcrypt)"
+ type: password
+ required: false
+ group: "General settings"
+- variable: global.domain
+ label: Domain
+ description: "Domain for the application"
+ type: string
+ required: true
+ group: "General settings"
+- variable: server.accessControlAllowOrigin
+ label: Access control allow origin
+ description: "Domain which serves the Rancher UI (to access the API)"
+ type: string
+ required: false
+ group: "General settings"
+- variable: kubed.enabled
+ label: Install kubed
+ description: "Deploy kubed or skip it if you get it installed already"
+ type: boolean
+ group: "Advanced settings"
+- variable: containerregistry.enabled
+ description: "Disable local container registry to configure an external registry."
+ label: Install local container registry
+ type: boolean
+ show_subquestion_if: false
+ group: "External registry"
+ subquestions:
+ - variable: global.registryURL
+ label: External registry url
+ description: "URL of your external registry"
+ type: string
+ required: false
+ - variable: global.registryUsername
+ label: External registry username
+ description: "Username to authenticate to the external registry"
+ type: string
+ required: false
+ - variable: global.registryPassword
+ label: External registry password
+ description: "Password to authenticate to the external registry"
+ type: password
+ required: false
+ - variable: global.registryNamespace
+ label: External registry namespace
+ description: "The organization part of the registry path for an external registry where you have push access"
+ type: string
+ required: false
+- variable: minio.enabled
+ label: Install Minio
+ description: "Disable Minio to configure an external s3 storage."
+ type: boolean
+ show_subquestion_if: false
+ group: "External S3 storage"
+ subquestions:
+ - variable: s3.endpoint
+ label: S3 endpoint
+ description: "Endpoint of your S3 storage"
+ type: string
+ required: false
+ - variable: s3.accessKeyID
+ label: S3 access key id
+ description: "Access key id to authenticate to your S3 storage"
+ type: string
+ required: false
+ - variable: s3.secretAccessKey
+ label: S3 access key secret
+ description: "Secret access key to authenticate to your S3 storage"
+ type: password
+ required: false
+ - variable: s3.bucket
+ label: S3 bucket
+ description: "Bucket of your S3 storage"
+ type: string
+ required: false
+ - variable: s3.region
+ label: S3 region
+ description: "Region of your S3 storage"
+ type: string
+ required: false
+ - variable: s3.useSSL
+ label: S3 use SSL
+ type: boolean
+ required: false
+ - variable: s3.certificateSecret
+ label: Self signed certificate for S3
+ description: Set it to an existing secret if s3 is using a self signed certificate
+ type: string
+ required: false
+- variable: server.traceLevel
+ label: Epinio API Log Level
+ required: false
+ type: string
+ group: "Debugging"
+- variable: server.timeoutMultiplier
+ label: Timeout Multiplier
+ required: false
+ type: string
+ group: "Debugging"
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/NOTES.txt b/charts/epinio/100.0.5+up1.6.2/templates/NOTES.txt
new file mode 100644
index 000000000..f0c1dd2ba
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/NOTES.txt
@@ -0,0 +1,12 @@
+To interact with your Epinio installation download the latest epinio binary from https://github.com/epinio/epinio/releases/latest.
+
+Login to the cluster with any of
+{{ range .Values.api.users }}
+ `epinio login -u {{ .username }} https://epinio.{{ $.Values.global.domain }}`
+{{- end }}
+
+or go to the dashboard at: https://epinio.{{ .Values.global.domain }}
+
+If you didn't specify a password the default one is `password`.
+
+For more information about Epinio, feel free to checkout https://epinio.io/ and https://docs.epinio.io/.
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/_helpers.tpl b/charts/epinio/100.0.5+up1.6.2/templates/_helpers.tpl
new file mode 100644
index 000000000..2784ae6c0
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/_helpers.tpl
@@ -0,0 +1,179 @@
+{{/*
+URL prefix for container images to be compatible with Rancher
+*/}}
+{{- define "registry-url" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{ trimSuffix "/" .Values.global.cattle.systemDefaultRegistry }}/
+{{- end -}}
+{{- end -}}
+
+{{/*
+URL of the registry epinio uses to store workload images
+*/}}
+{{- define "epinio.registry-url" -}}
+{{- if .Values.containerregistry.enabled -}}
+{{- printf "registry.%s.svc.cluster.local:5000" .Release.Namespace }}
+{{- else -}}
+{{- .Values.global.registryURL }}
+{{- end -}}
+{{- end -}}
+
+{{/*
+URL of the minio epinio installed
+*/}}
+{{- define "epinio.minio-url" -}}
+{{- if .Values.minio.enabled -}}
+{{- printf "%s.%s.svc.cluster.local:9000" .Values.minio.fullnameOverride .Release.Namespace }}
+{{- else -}}
+{{- .Values.s3.endpoint }}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Host name of the minio epinio installed
+*/}}
+{{- define "epinio.minio-hostname" -}}
+{{- printf "%s.%s.svc.cluster.local" .Values.minio.fullnameOverride .Release.Namespace }}
+{{- end -}}
+
+
+{{/*
+PVC cleanup hooks for bitnami helm chart based catalog services
+# https://github.com/epinio/epinio/issues/1386
+# https://docs.bitnami.com/kubernetes/apps/aspnet-core/administration/deploy-extra-resources/
+*/}}
+{{- define "epinio.catalog-service-values" -}}
+{{ printf `
+extraDeploy:
+ - |
+ # Create a service account, role and binding to allow to list, get and
+ # delete PVCs. It should be used by the job below.
+
+ # To ensure the resources are deleted, use this annotation:
+ #
+ # annotations:
+ # "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
+
+ # https://helm.sh/docs/topics/charts_hooks/#hook-resources-are-not-managed-with-corresponding-releases
+ # https://helm.sh/docs/topics/charts_hooks/#hook-deletion-policies
+
+ ---
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+ name: "pvc-deleter-{{ .Release.Name }}"
+ namespace: {{ .Release.Namespace }}
+ annotations:
+ "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
+ "helm.sh/hook": post-delete
+ "helm.sh/hook-weight": "-6"
+
+ ---
+ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
+ kind: Role
+ metadata:
+ name: "pvc-deleter-{{ .Release.Name }}"
+ namespace: {{ .Release.Namespace }}
+ annotations:
+ "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
+ "helm.sh/hook": post-delete
+ "helm.sh/hook-weight": "-6"
+ rules:
+ - apiGroups:
+ - ""
+ resources:
+ - persistentvolumeclaims
+ verbs:
+ - get
+ - delete
+ - list
+
+ ---
+ kind: RoleBinding
+ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
+ metadata:
+ name: "pvc-deleter-{{ .Release.Name }}"
+ namespace: {{ .Release.Namespace }}
+ annotations:
+ "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
+ "helm.sh/hook": post-delete
+ "helm.sh/hook-weight": "-5"
+ subjects:
+ - kind: ServiceAccount
+ name: "pvc-deleter-{{ .Release.Name }}"
+ roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: "pvc-deleter-{{ .Release.Name }}"
+
+ ---
+ apiVersion: batch/v1
+ kind: Job
+ metadata:
+ name: "pvc-deleter-{{ .Release.Name }}"
+ labels:
+ app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
+ app.kubernetes.io/instance: {{ .Release.Name | quote }}
+ app.kubernetes.io/version: {{ .Chart.AppVersion }}
+ helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ annotations:
+ # This is what defines this resource as a hook. Without this line, the
+ # job is considered part of the release.
+ "helm.sh/hook": post-delete
+ "helm.sh/hook-weight": "-4"
+ "helm.sh/hook-delete-policy": hook-succeeded
+ spec:
+ template:
+ metadata:
+ name: "pvc-deleter-{{ .Release.Name }}"
+ labels:
+ app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
+ app.kubernetes.io/instance: {{ .Release.Name | quote }}
+ helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ spec:
+ restartPolicy: Never
+ serviceAccountName: "pvc-deleter-{{ .Release.Name }}"
+ containers:
+ - name: post-install-job
+ image: "%s"
+ command: ["kubectl", "delete", "pvc", "-n", "{{ .Release.Namespace }}", "-l", "app.kubernetes.io/instance={{ .Release.Name }}"]
+` (print (include "registry-url" .) .Values.image.kubectl.repository ":" .Values.image.kubectl.tag) | indent 4}}
+{{- end -}}
+
+{{/*
+Removes characters that are invalid for kubernetes resource names from the
+given string
+*/}}
+{{- define "epinio-name-sanitize" -}}
+{{ regexReplaceAll "[^-a-z0-9]*" . "" }}
+{{- end }}
+
+{{/*
+Resource name sanitization and truncation.
+- Always suffix the sha1sum (40 characters long)
+- Always add an "r" prefix to make sure we don't have leading digits
+- The rest of the characters up to 63 are the original string with invalid
+character removed.
+*/}}
+{{- define "epinio-truncate" -}}
+{{ print "r" (trunc 21 (include "epinio-name-sanitize" .)) "-" (sha1sum .) }}
+{{- end }}
+
+{{/*
+Windows cluster will add default taint for linux nodes, add below linux tolerations to
+workloads could be scheduled to those linux nodes
+*/}}
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+beta.kubernetes.io/os: linux
+{{- else -}}
+kubernetes.io/os: linux
+{{- end -}}
+{{- end -}}
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/assets.yaml b/charts/epinio/100.0.5+up1.6.2/templates/assets.yaml
new file mode 100644
index 000000000..3614c7a96
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/assets.yaml
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ namespace: {{ .Release.Namespace }}
+ name: epinio-assets
+ labels:
+ app.kubernetes.io/component: epinio
+ app.kubernetes.io/name: epinio-assets
+ app.kubernetes.io/part-of: epinio
+ app.kubernetes.io/version: {{ .Chart.AppVersion }}
+type: Opaque
+data:
+{{ (.Files.Glob "assets/*").AsSecrets | indent 2 }}
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/certificate.yaml b/charts/epinio/100.0.5+up1.6.2/templates/certificate.yaml
new file mode 100644
index 000000000..025641533
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/certificate.yaml
@@ -0,0 +1,50 @@
+apiVersion: cert-manager.io/v1
+kind: Certificate
+metadata:
+ name: epinio
+ namespace: {{ .Release.Namespace }}
+spec:
+ dnsNames:
+ - epinio.{{ .Values.global.domain }}
+ issuerRef:
+ kind: ClusterIssuer
+ name: {{ default .Values.global.tlsIssuer .Values.global.customTlsIssuer | quote }}
+ secretName: epinio-tls
+
+{{- if .Values.minio.enabled }}
+---
+apiVersion: cert-manager.io/v1
+kind: Certificate
+metadata:
+ name: minio-cert
+ namespace: {{ .Release.Namespace }}
+spec:
+ dnsNames:
+ - {{ include "epinio.minio-hostname" . }}
+ issuerRef:
+ kind: ClusterIssuer
+ # We always trust the CA for minio so we can always use selfsigned certs
+ # Because Letsencrypt doesn't create certs for non public domains
+ name: epinio-ca
+ secretName: minio-tls
+ secretTemplate:
+ annotations:
+ kubed.appscode.com/sync: "kubed-s3-tls-from={{ .Release.Namespace }}"
+{{- end }}
+
+---
+apiVersion: cert-manager.io/v1
+kind: Certificate
+metadata:
+ name: epinio-ca
+ namespace: {{ .Values.certManagerNamespace }}
+spec:
+ commonName: epinio-ca
+ isCA: true
+ issuerRef:
+ kind: ClusterIssuer
+ name: selfsigned-issuer
+ privateKey:
+ algorithm: ECDSA
+ size: 256
+ secretName: epinio-ca-root
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/cluster-issuers.yaml b/charts/epinio/100.0.5+up1.6.2/templates/cluster-issuers.yaml
new file mode 100644
index 000000000..319f81b53
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/cluster-issuers.yaml
@@ -0,0 +1,44 @@
+---
+# Self-signed issuer
+apiVersion: cert-manager.io/v1
+kind: ClusterIssuer
+metadata:
+ name: selfsigned-issuer
+spec:
+ selfSigned: {}
+
+---
+# Let's encrypt production issuer
+apiVersion: cert-manager.io/v1
+kind: ClusterIssuer
+metadata:
+ name: letsencrypt-production
+spec:
+ acme:
+ email: {{ .Values.email }}
+ preferredChain: ""
+ privateKeySecretRef:
+ name: letsencrypt-production
+ server: https://acme-v02.api.letsencrypt.org/directory
+ solvers:
+ - http01:
+ ingress:
+ {{- if .Values.ingress.ingressClassName }}
+ class: "{{ .Values.ingress.ingressClassName }}"
+ {{- end }}
+ ingressTemplate:
+ metadata:
+ annotations:
+ traefik.ingress.kubernetes.io/router.entrypoints: websecure
+ traefik.ingress.kubernetes.io/router.tls: "true"
+
+---
+# Private CA (epinio-ca) issuer
+apiVersion: cert-manager.io/v1
+kind: ClusterIssuer
+metadata:
+ name: epinio-ca
+spec:
+ ca:
+ secretName: epinio-ca-root
+
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/container-registry.yaml b/charts/epinio/100.0.5+up1.6.2/templates/container-registry.yaml
new file mode 100644
index 000000000..c1099284b
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/container-registry.yaml
@@ -0,0 +1,191 @@
+{{- if .Values.containerregistry.enabled }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: auth
+ namespace: {{ .Release.Namespace }}
+stringData:
+ # The only supported password format is bcrypt
+ htpasswd: {{ htpasswd .Values.global.registryUsername .Values.global.registryPassword | quote }}
+
+---
+apiVersion: cert-manager.io/v1
+kind: Certificate
+metadata:
+ name: epinio-registry
+ namespace: {{ .Release.Namespace }}
+spec:
+ dnsNames:
+ - registry.{{ .Release.Namespace }}.svc.cluster.local
+ ipAddresses:
+ - 127.0.0.1
+ issuerRef:
+ kind: ClusterIssuer
+ name: epinio-ca
+ secretName: epinio-registry-tls
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: registry
+ namespace: {{ .Release.Namespace }}
+ labels:
+ app.kubernetes.io/name: "epinio-registry"
+ app.kubernetes.io/instance: "epinio-registry"
+spec:
+ type: ClusterIP
+ selector:
+ app.kubernetes.io/name: "epinio-registry"
+ app.kubernetes.io/instance: "epinio-registry"
+ ports:
+ - name: registry
+ port: 5000
+ targetPort: 5000
+
+{{ if .Values.containerregistry.enabled }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: registry-node
+ namespace: {{ .Release.Namespace }}
+ labels:
+ app.kubernetes.io/name: "epinio-registry"
+ app.kubernetes.io/instance: "epinio-registry"
+spec:
+ type: NodePort
+ selector:
+ app.kubernetes.io/name: "epinio-registry"
+ app.kubernetes.io/instance: "epinio-registry"
+ ports:
+ - name: registry-sidecar
+ port: 30500
+ targetPort: 30500
+ nodePort: 30500
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: nginx-conf
+ namespace: {{ .Release.Namespace }}
+data:
+ nginx.conf: |
+ server {
+ listen 30500 default_server;
+ server_name 127.0.0.1;
+
+ location / {
+ proxy_pass https://localhost:5000/;
+ }
+ }
+{{- end }}
+
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: registry
+ namespace: {{ .Release.Namespace }}
+ labels:
+ app.kubernetes.io/name: "epinio-registry"
+ app.kubernetes.io/instance: "epinio-registry"
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: "epinio-registry"
+ app.kubernetes.io/instance: "epinio-registry"
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: "epinio-registry"
+ app.kubernetes.io/instance: "epinio-registry"
+ spec:
+ containers:
+{{ if .Values.containerregistry.enabled }}
+ - name: nginx
+ image: "{{ template "registry-url" . }}{{ .Values.containerregistry.image.nginx.repository}}:{{ .Values.containerregistry.image.nginx.tag }}"
+ imagePullPolicy: IfNotPresent
+ securityContext:
+ runAsUser: 1000
+ runAsNonRoot: true
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ livenessProbe:
+ tcpSocket:
+ port: 5000
+ initialDelaySeconds: 15
+ periodSeconds: 20
+ readinessProbe:
+ tcpSocket:
+ port: 5000
+ volumeMounts:
+ - mountPath: /etc/nginx/conf.d
+ name: nginx-conf
+ - mountPath: /var/cache/nginx/
+ name: nginx-run
+ - mountPath: /var/run/
+ name: nginx-run
+{{- end }}
+ - name: registry
+ image: "{{ template "registry-url" . }}{{ .Values.containerregistry.image.registry.repository}}:{{ .Values.containerregistry.image.registry.tag }}"
+ imagePullPolicy: {{ .Values.containerregistry.imagePullPolicy }}
+ env:
+ - name: REGISTRY_AUTH
+ value: htpasswd
+ - name: REGISTRY_AUTH_HTPASSWD_REALM
+ value: Registry Realm
+ - name: REGISTRY_AUTH_HTPASSWD_PATH
+ value: /etc/registry/auth/htpasswd
+ - name: REGISTRY_HTTP_TLS_CERTIFICATE
+ value: "/certs/tls.crt"
+ - name: REGISTRY_HTTP_TLS_KEY
+ value: "/certs/tls.key"
+ volumeMounts:
+ - name: registry
+ mountPath: /var/lib/registry
+ readOnly: false
+ - name: auth
+ mountPath: /etc/registry/auth
+ readOnly: true
+ - name: certs
+ mountPath: /certs
+ readOnly: true
+ securityContext:
+ runAsUser: 1000
+ runAsNonRoot: true
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ livenessProbe:
+ httpGet:
+ port: 5000
+ scheme: HTTPS
+ initialDelaySeconds: 15
+ periodSeconds: 20
+ readinessProbe:
+ httpGet:
+ port: 5000
+ scheme: HTTPS
+ initialDelaySeconds: 5
+ periodSeconds: 5
+ volumes:
+ - name: registry
+ emptyDir: {}
+ - name: auth
+ secret:
+ secretName: auth
+ - name: certs
+ secret:
+ secretName: epinio-registry-tls
+{{ if .Values.containerregistry.enabled }}
+ - name: nginx-conf
+ configMap:
+ name: nginx-conf
+ - name: nginx-cache
+ emptyDir: {}
+ - name: nginx-run
+ emptyDir: {}
+{{- end }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/default-app-chart.yaml b/charts/epinio/100.0.5+up1.6.2/templates/default-app-chart.yaml
new file mode 100644
index 000000000..6c7b13928
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/default-app-chart.yaml
@@ -0,0 +1,15 @@
+apiVersion: application.epinio.io/v1
+kind: AppChart
+metadata:
+ namespace: {{ .Release.Namespace }}
+ name: standard
+ labels:
+ app.kubernetes.io/component: epinio
+ app.kubernetes.io/instance: default
+ app.kubernetes.io/name: epinio-standard-app-chart
+ app.kubernetes.io/part-of: epinio
+ app.kubernetes.io/version: {{ default .Chart.AppVersion .Values.image.epinio.tag }}
+spec:
+ shortDescription: Epinio standard deployment
+ description: Epinio standard support chart for application deployment
+ helmChart: /assets/epinio-application-0.1.24.tgz
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/default-user.yaml b/charts/epinio/100.0.5+up1.6.2/templates/default-user.yaml
new file mode 100644
index 000000000..0929de38a
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/default-user.yaml
@@ -0,0 +1,17 @@
+{{- range .Values.api.users }}
+---
+apiVersion: v1
+kind: Secret
+type: BasicAuth
+metadata:
+ labels:
+ epinio.io/api-user-credentials: "true"
+ epinio.io/role: {{ .role }}
+ name: {{ include "epinio-truncate" (print "user-" .username) }}
+ namespace: {{ $.Release.Namespace }}
+stringData:
+ username: {{ .username | quote }}
+ password: {{ .passwordBcrypt | quote }}
+ namespaces: |
+ {{ join "\n" .workspaces -}}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/dex.yaml b/charts/epinio/100.0.5+up1.6.2/templates/dex.yaml
new file mode 100644
index 000000000..3f49f6684
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/dex.yaml
@@ -0,0 +1,90 @@
+{{- if .Values.dex.enabled -}}
+
+---
+apiVersion: v1
+kind: Secret
+type: Opaque
+metadata:
+ annotations:
+ name: dex-config
+ namespace: {{ .Release.Namespace }}
+stringData:
+ issuer: "https://auth.{{ .Values.global.domain }}"
+ endpoint: {{ printf "http://%s.%s.svc.cluster.local:5556" .Values.dex.fullnameOverride .Release.Namespace }}
+ config.yaml: |-
+ issuer: "https://auth.{{ .Values.global.domain }}"
+ storage:
+ type: kubernetes
+ config:
+ inCluster: true
+ enablePasswordDB: true
+ staticPasswords:
+ - email: "admin@epinio.io"
+ # bcrypt hash of the string "password": $(echo password | htpasswd -BinC 10 admin | cut -d: -f2)
+ hash: "$2a$10$2b2cU8CPhOTaGrs1HRQuAueS7JTT5ZHsHSzYiFPm1leZck7Mc8T4W"
+ username: "admin"
+ userID: "08a8684b-db88-4b73-90a9-3cd1661f5466"
+ - email: "epinio@epinio.io"
+ hash: "$2a$10$2b2cU8CPhOTaGrs1HRQuAueS7JTT5ZHsHSzYiFPm1leZck7Mc8T4W"
+ userID: "08a8684b-db88-4b73-90a9-3cd1661f5467"
+
+ staticClients:
+ - id: epinio-api
+ name: 'Epinio API'
+ public: true
+ # The 'Epinio API' lets the 'Epinio cli' issue ID tokens on its behalf.
+ # https://dexidp.io/docs/custom-scopes-claims-clients/#cross-client-trust-and-authorized-party
+ trustedPeers:
+ - epinio-cli
+
+ - id: epinio-cli
+ name: 'Epinio cli'
+ public: true
+
+---
+apiVersion: v1
+kind: Secret
+type: Opaque
+metadata:
+ labels:
+ epinio.io/api-user-credentials: "true"
+ epinio.io/role: "admin"
+ name: {{ include "epinio-truncate" (print "user-" "admin@epinio.io") }}
+ namespace: {{ .Release.Namespace }}
+stringData:
+ username: "admin@epinio.io"
+
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: dex
+ namespace: {{ .Release.Namespace }}
+ annotations:
+ cert-manager.io/cluster-issuer: {{ default .Values.global.tlsIssuer .Values.global.customTlsIssuer | quote }}
+ traefik.ingress.kubernetes.io/router.entrypoints: websecure
+ traefik.ingress.kubernetes.io/router.tls: "true"
+ {{- range $key, $value := .Values.ingress.annotations }}
+ {{ $key | quote }}: {{ $value | quote }}
+ {{- end }}
+spec:
+ {{- if .Values.ingress.ingressClassName }}
+ ingressClassName: "{{ .Values.ingress.ingressClassName }}"
+ {{- end }}
+ rules:
+ - host: "auth.{{ .Values.global.domain }}"
+ http:
+ paths:
+ - backend:
+ service:
+ name: dex
+ port:
+ number: 5556
+ path: /
+ pathType: Prefix
+ tls:
+ - hosts:
+ - "auth.{{ .Values.global.domain }}"
+ secretName: dex-tls
+
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/ingress.yaml b/charts/epinio/100.0.5+up1.6.2/templates/ingress.yaml
new file mode 100644
index 000000000..29890c8ce
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/ingress.yaml
@@ -0,0 +1,57 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ annotations:
+ traefik.ingress.kubernetes.io/router.entrypoints: websecure
+ traefik.ingress.kubernetes.io/router.tls: "true"
+ nginx.ingress.kubernetes.io/ssl-redirect: {{ .Values.ingress.nginxSSLRedirect | quote }}
+ nginx.ingress.kubernetes.io/proxy-body-size: 100m
+ {{- range $key, $value := .Values.ingress.annotations }}
+ {{ $key | quote }}: {{ $value | quote }}
+ {{- end }}
+ labels:
+ app.kubernetes.io/name: epinio
+ name: epinio
+ namespace: {{ .Release.Namespace }}
+spec:
+ {{- if .Values.ingress.ingressClassName }}
+ ingressClassName: "{{ .Values.ingress.ingressClassName }}"
+ {{- end }}
+ rules:
+ - host: "epinio.{{ .Values.global.domain }}"
+ http:
+ paths:
+ - backend:
+ service:
+ name: epinio-server
+ port:
+ number: 80
+ path: /api
+ pathType: Prefix
+ - backend:
+ service:
+ name: epinio-server
+ port:
+ number: 80
+ path: /wapi
+ pathType: Prefix
+ - backend:
+ service:
+ name: epinio-server
+ port:
+ number: 80
+ path: /ready
+ pathType: Exact
+ {{- if ".Values.epinio-ui.enabled" }}
+ - backend:
+ service:
+ name: epinio-ui
+ port:
+ number: 80
+ path: /
+ pathType: Prefix
+ {{- end }}
+ tls:
+ - hosts:
+ - "epinio.{{ .Values.global.domain }}"
+ secretName: epinio-tls
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/psp.yaml b/charts/epinio/100.0.5+up1.6.2/templates/psp.yaml
new file mode 100644
index 000000000..3e0240be2
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/psp.yaml
@@ -0,0 +1,81 @@
+{{- if .Values.global.rbac.pspEnabled }}
+
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: epinio-server-psp
+ namespace: {{ .Release.Namespace }}
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: epinio-server
+ app: epinio-server
+{{- if .Values.global.rbac.pspAnnotations }}
+ annotations: {{ toYaml .Values.global.rbac.pspAnnotations | nindent 4 }}
+{{- end }}
+spec:
+ privileged: false
+ hostNetwork: false
+ hostIPC: false
+ hostPID: false
+ runAsUser:
+ # Permits the container to run with root privileges as well.
+ rule: 'RunAsAny'
+ seLinux:
+ # This policy assumes the nodes are using AppArmor rather than SELinux.
+ rule: 'RunAsAny'
+ supplementalGroups:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ fsGroup:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ readOnlyRootFilesystem: false
+
+---
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: epinio-server-psp
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: epinio-server
+ app: epinio-server
+rules:
+{{- if semverCompare "> 1.15.0-0" .Capabilities.KubeVersion.GitVersion }}
+- apiGroups: ['policy']
+{{- else }}
+- apiGroups: ['extensions']
+{{- end }}
+ resources: ['podsecuritypolicies']
+ verbs: ['use']
+ resourceNames:
+ - epinio-server-psp
+
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: epinio-server-psp
+ labels:
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+ app.kubernetes.io/part-of: epinio-server
+ app: epinio-server
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: epinio-server-psp
+subjects:
+ - kind: ServiceAccount
+ name: epinio-server
+ namespace: {{ .Release.Namespace }}
+
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/registry-secret.yaml b/charts/epinio/100.0.5+up1.6.2/templates/registry-secret.yaml
new file mode 100644
index 000000000..6539d3503
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/registry-secret.yaml
@@ -0,0 +1,27 @@
+---
+apiVersion: v1
+kind: Secret
+type: kubernetes.io/dockerconfigjson
+metadata:
+ annotations:
+ epinio.io/registry-namespace: {{ .Values.global.registryNamespace }}
+ kubed.appscode.com/sync: kubed-sync=registry-creds
+ name: registry-creds
+ namespace: {{ .Release.Namespace }}
+stringData:
+ .dockerconfigjson: |-
+ {
+ "auths": {
+ "{{ template "epinio.registry-url" . }}": {
+ "auth":"{{ printf "%s:%s" .Values.global.registryUsername .Values.global.registryPassword | b64enc }}",
+ "username":"{{ .Values.global.registryUsername }}",
+ "password":"{{ .Values.global.registryPassword }}"
+ } {{- if .Values.containerregistry.enabled }} ,
+ "127.0.0.1:30500": {
+ "auth":"{{ printf "%s:%s" .Values.global.registryUsername .Values.global.registryPassword | b64enc }}",
+ "username":"{{ .Values.global.registryUsername }}",
+ "password":"{{ .Values.global.registryPassword }}"
+ }
+ {{- end -}}
+ }
+ }
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/s3-secret.yaml b/charts/epinio/100.0.5+up1.6.2/templates/s3-secret.yaml
new file mode 100644
index 000000000..294735447
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/s3-secret.yaml
@@ -0,0 +1,49 @@
+# Generated credentials for minio. Used only if minio is enabled.
+{{- $oldkeys := (lookup "v1" "Secret" .Release.Namespace "minio-creds").data -}}
+{{- $accessKey := empty $oldkeys | ternary (randAlphaNum 16) (b64dec (default "" $oldkeys.accesskey)) -}}
+{{- $secretKey := empty $oldkeys | ternary (randAlphaNum 16) (b64dec (default "" $oldkeys.secretkey)) -}}
+
+# Minio values if minio is enabled, otherwise the user provided values
+{{- $s3Endpoint := include "epinio.minio-url" . -}}
+{{- $s3AccessKey := .Values.minio.enabled | ternary $accessKey .Values.s3.accessKeyID -}}
+{{- $s3SecretKey := .Values.minio.enabled | ternary $secretKey .Values.s3.secretAccessKey -}}
+{{- $s3Bucket := .Values.minio.enabled | ternary "epinio" .Values.s3.bucket -}}
+{{- $s3UseSSL := .Values.minio.enabled | ternary true .Values.s3.useSSL -}}
+{{- $s3Region := .Values.minio.enabled | ternary "" .Values.s3.region -}}
+
+---
+# The S3 connection details as required by the staging Job (in "ini" format)
+apiVersion: v1
+kind: Secret
+type: Opaque
+metadata:
+ name: epinio-s3-connection-details
+ namespace: {{ .Release.Namespace }}
+stringData:
+ bucket: {{ $s3Bucket }}
+ config: |-
+ [default]
+ region={{ $s3Region }}
+ credentials: |-
+ [default]
+ aws_access_key_id={{ $s3AccessKey }}
+ aws_secret_access_key={{ $s3SecretKey }}
+ endpoint: {{ $s3Endpoint | quote }}
+ useSSL: {{ $s3UseSSL | quote }}
+
+# The S3 connection details as required by minio deployment
+# https://github.com/minio/minio/blob/8ae46bce937567e682d14f7fe845b8ff67e549d2/helm/minio/values.yaml#L81
+# Secrets get created first so Minio should find it there when it needs it.
+# https://github.com/helm/helm/blob/release-3.0/pkg/releaseutil/kind_sorter.go
+---
+apiVersion: v1
+kind: Secret
+type: Opaque
+metadata:
+ name: minio-creds
+ namespace: {{ .Release.Namespace }}
+stringData:
+ rootUser: {{ $s3AccessKey | quote }}
+ rootPassword: {{ $s3SecretKey | quote }}
+ accesskey: {{ $s3AccessKey | quote }}
+ secretkey: {{ $s3SecretKey | quote }}
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/server.yaml b/charts/epinio/100.0.5+up1.6.2/templates/server.yaml
new file mode 100644
index 000000000..27c01489a
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/server.yaml
@@ -0,0 +1,387 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: epinio-server
+ namespace: {{ .Release.Namespace }}
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: epinio-server-cluster-admin
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: cluster-admin
+subjects:
+- kind: ServiceAccount
+ name: epinio-server
+ namespace: {{ .Release.Namespace }}
+
+---
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: epinio-server
+rules:
+- apiGroups:
+ - ""
+ resources:
+ - persistentvolumeclaims
+ verbs:
+ - get
+ - create
+ - delete
+ - list
+- apiGroups:
+ - ""
+ resources:
+ - nodes
+ verbs:
+ - list
+- apiGroups:
+ - ""
+ resources:
+ - services
+ verbs:
+ - create
+ - get
+ - update
+ - delete
+- apiGroups:
+ - ""
+ resources:
+ - pods/exec
+ verbs:
+ - create
+ - get
+ - post
+- apiGroups:
+ - ""
+ resources:
+ - pods/portforward
+ verbs:
+ - get
+- apiGroups:
+ - ""
+ resources:
+ - pods/log
+ verbs:
+ - get
+ - list
+- apiGroups:
+ - ""
+ resources:
+ - pods
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - networking.k8s.io
+ resources:
+ - ingresses
+ verbs:
+ - create
+ - update
+ - delete
+ - get
+ - list
+- apiGroups:
+ - ""
+ resources:
+ - secrets
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+- apiGroups:
+ - apps
+ resources:
+ - deployments
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - update
+ - patch
+- apiGroups:
+ - servicecatalog.k8s.io
+ resources:
+ - servicebindings
+ verbs:
+ - create
+ - get
+ - delete
+ - list
+- apiGroups:
+ - servicecatalog.k8s.io
+ resources:
+ - serviceinstances
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+- apiGroups:
+ - ""
+ resources:
+ - namespaces
+ verbs:
+ - get
+ - list
+ - create
+ - delete
+- apiGroups:
+ - ""
+ resources:
+ - serviceaccounts
+ verbs:
+ - create
+ - delete
+- apiGroups:
+ - "cert-manager.io"
+ resources:
+ - certificates
+ verbs:
+ - create
+- apiGroups:
+ - application.epinio.io
+ resources:
+ - apps
+ verbs:
+ - get
+ - list
+ - create
+ - delete
+ - patch
+ - update
+- apiGroups:
+ - "metrics.k8s.io"
+ resources:
+ - pods
+ verbs:
+ - list
+- apiGroups:
+ - apps
+ resources:
+ - replicasets
+ verbs:
+ - list
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: epinio-server-cluster-role
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: epinio-server
+subjects:
+- kind: ServiceAccount
+ name: epinio-server
+ namespace: {{ .Release.Namespace }}
+
+---
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: epinio-server
+ namespace: {{ .Release.Namespace }}
+rules:
+- apiGroups:
+ - batch
+ resources:
+ - jobs
+ verbs:
+ - get
+ - create
+ - delete
+ - list
+- apiGroups:
+ - ""
+ resources:
+ - configmaps
+ verbs:
+ - get
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: epinio-server-role
+ namespace: {{ .Release.Namespace }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: epinio-server
+subjects:
+- kind: ServiceAccount
+ name: epinio-server
+ namespace: {{ .Release.Namespace }}
+
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ labels:
+ app.kubernetes.io/component: epinio
+ app.kubernetes.io/instance: default
+ app.kubernetes.io/name: epinio-server
+ app.kubernetes.io/part-of: epinio
+ app.kubernetes.io/version: {{ default .Chart.AppVersion .Values.image.epinio.tag }}
+ name: epinio-server
+ namespace: {{ .Release.Namespace }}
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/component: epinio-server
+ app.kubernetes.io/instance: default
+ app.kubernetes.io/name: epinio-server
+ app.kubernetes.io/part-of: epinio
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/component: epinio-server
+ app.kubernetes.io/instance: default
+ app.kubernetes.io/name: epinio-server
+ app.kubernetes.io/part-of: epinio
+ app.kubernetes.io/version: {{ default .Chart.AppVersion .Values.image.epinio.tag }}
+ name: epinio-server
+ spec:
+ tolerations:
+ {{- include "linux-node-tolerations" . | nindent 8 }}
+ nodeSelector:
+ {{- include "linux-node-selector" . | nindent 8 }}
+ serviceAccountName: epinio-server
+ volumes:
+ - name: asset-volume
+ secret:
+ secretName: epinio-assets
+ - name: tmp-volume
+ emptyDir: {}
+ - name: image-export-volume
+ persistentVolumeClaim:
+ claimName: image-export-pvc
+{{- if .Values.dex.enabled }}
+ - name: dex-tls
+ secret:
+ secretName: dex-tls
+ optional: false
+{{- end }}
+ containers:
+ - command: ["/epinio", "server"]
+ args: ["--port", "8030"]
+ env:
+ - name: EPINIO_SETTINGS
+ value: /tmp/settings.yaml
+ - name: NAMESPACE
+ value: "{{ .Release.Namespace }}"
+ - name: ACCESS_CONTROL_ALLOW_ORIGIN
+ value: "{{ .Values.server.accessControlAllowOrigin }}"
+ - name: EPINIO_TIMEOUT_MULTIPLIER
+ value: "{{ .Values.server.timeoutMultiplier }}"
+ - name: TLS_ISSUER
+ value: "{{ .Values.global.tlsIssuer }}"
+ - name: TRACE_LEVEL
+ value: "{{ .Values.server.traceLevel }}"
+ - name: CHART_VERSION
+ value: "{{ .Chart.Version }}"
+ {{- $imageSkopeo := .Values.image.skopeo -}}
+ {{- if $imageSkopeo }}
+ - name: APP_IMAGE_EXPORTER
+ value: "{{ default $imageSkopeo.registry (include "registry-url" .) }}{{ $imageSkopeo.repository}}:{{ $imageSkopeo.tag }}"
+ {{- end }}
+ {{- if .Values.server.disableTracking }}
+ - name: DISABLE_TRACKING
+ value: "true"
+ {{- end }}
+ {{- if or .Values.s3.certificateSecret .Values.minio.enabled }}
+ - name: S3_CERTIFICATE_SECRET
+ value: {{ default "minio-tls" .Values.s3.certificateSecret }}
+ {{- end }}
+ {{- if .Values.containerregistry.enabled }}
+ - name: REGISTRY_CERTIFICATE_SECRET
+ value: "epinio-registry-tls"
+ {{- end }}
+ {{- if .Values.server.ingressClassName }}
+ - name: INGRESS_CLASS_NAME
+ value: "{{ .Values.server.ingressClassName }}"
+ {{- else if .Values.ingress.ingressClassName }}
+ - name: INGRESS_CLASS_NAME
+ value: "{{ .Values.ingress.ingressClassName }}"
+ {{- end }}
+ {{- if .Values.extraEnv }}
+ {{- toYaml .Values.extraEnv | nindent 12 -}}
+ {{- end }}
+ image: "{{ default .Values.image.epinio.registry (include "registry-url" .) }}{{ .Values.image.epinio.repository }}:{{ default .Chart.AppVersion .Values.image.epinio.tag }}"
+ livenessProbe:
+ httpGet:
+ path: /ready
+ port: 8030
+ name: epinio-server
+ ports:
+ - containerPort: 8030
+ volumeMounts:
+ - name: asset-volume
+ mountPath: /assets
+ - name: tmp-volume
+ mountPath: /tmp
+ - name: image-export-volume
+ mountPath: /image-export
+{{- if .Values.dex.enabled }}
+ - name: dex-tls
+ mountPath: /etc/ssl/certs/dex-tls.pem
+ subPath: tls.crt
+{{- end }}
+ readinessProbe:
+ httpGet:
+ path: /ready
+ port: 8030
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ securityContext:
+ runAsNonRoot: true
+ runAsUser: 1000
+ runAsGroup: 3000
+
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: image-export-pvc
+ namespace: {{ .Release.Namespace }}
+spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 2Gi
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app.kubernetes.io/component: epinio
+ app.kubernetes.io/instance: default
+ app.kubernetes.io/name: epinio-server
+ app.kubernetes.io/part-of: epinio
+ app.kubernetes.io/version: {{ default .Chart.AppVersion .Values.image.epinio.tag }}
+ name: epinio-server
+ namespace: {{ .Release.Namespace }}
+spec:
+ ports:
+ - name: http
+ port: 80
+ protocol: TCP
+ targetPort: 8030
+ selector:
+ app.kubernetes.io/name: epinio-server
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/service-catalog.yaml b/charts/epinio/100.0.5+up1.6.2/templates/service-catalog.yaml
new file mode 100644
index 000000000..7391c9c38
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/service-catalog.yaml
@@ -0,0 +1,118 @@
+# These are three simple Services to fill the Service Catalog
+{{ if .Values.serviceCatalog.enableDevServices }}
+---
+apiVersion: application.epinio.io/v1
+kind: Service
+metadata:
+ name: postgresql-dev
+ namespace: {{ .Release.Namespace }}
+spec:
+ name: postgresql-dev
+ shortDescription: A PostgreSQL service that can be used during development
+ description: |
+ This service is going to deploy a simple default Bitnami PostreSQL db instance.
+ You can find more info at https://github.com/bitnami/charts/tree/master/bitnami/postgresql/.
+ This database is running inside the cluster so it's probably not a good choice for production
+ environments, at least with this default configuration.
+ chart: postgresql
+ chartVersion: 12.1.6
+ serviceIcon: https://bitnami.com/assets/stacks/postgresql/img/postgresql-stack-220x234.png
+ appVersion: 15.1.0
+ helmRepo:
+ name: bitnami
+ url: "https://charts.bitnami.com/bitnami"
+ values: |-
+ {{- template "epinio.catalog-service-values" . }}
+---
+apiVersion: application.epinio.io/v1
+kind: Service
+metadata:
+ name: mysql-dev
+ namespace: {{ .Release.Namespace }}
+spec:
+ name: mysql-dev
+ shortDescription: A MySQL service that can be used during development
+ description: |
+ This service is going to deploy a simple default Bitnami MySQL db instance.
+ You can find more info at https://github.com/bitnami/charts/tree/master/bitnami/mysql/.
+ This database is running inside the cluster so it's probably not a good choice for production
+ environments, at least with this default configuration.
+ chart: mysql
+ chartVersion: 9.4.5
+ serviceIcon: https://bitnami.com/assets/stacks/mysql/img/mysql-stack-220x234.png
+ appVersion: 8.0.31
+ helmRepo:
+ name: bitnami
+ url: "https://charts.bitnami.com/bitnami"
+ values: |-
+ {{- template "epinio.catalog-service-values" . }}
+---
+apiVersion: application.epinio.io/v1
+kind: Service
+metadata:
+ name: redis-dev
+ namespace: {{ .Release.Namespace }}
+spec:
+ name: redis-dev
+ shortDescription: A Redis service that can be used during development
+ description: |
+ This service is going to deploy a simple default Bitnami Redis instance.
+ You can find more info at https://github.com/bitnami/charts/tree/master/bitnami/redis/.
+ This database is running inside the cluster so it's probably not a good choice for production
+ environments, at least with this default configuration.
+ chart: redis
+ chartVersion: 17.3.17
+ serviceIcon: https://bitnami.com/assets/stacks/redis/img/redis-stack-220x234.png
+ appVersion: 7.0.7
+ helmRepo:
+ name: bitnami
+ url: "https://charts.bitnami.com/bitnami"
+ values: |-
+ {{- template "epinio.catalog-service-values" . }}
+---
+apiVersion: application.epinio.io/v1
+kind: Service
+metadata:
+ name: rabbitmq-dev
+ namespace: {{ .Release.Namespace }}
+spec:
+ name: rabbitmq-dev
+ shortDescription: A RabbitMQ service that can be used during development
+ description: |
+ This service is going to deploy a simple default Bitnami RabbitMQ instance.
+ You can find more info at https://github.com/bitnami/charts/tree/master/bitnami/rabbitmq/.
+ This instance is running inside the cluster so it's probably not a good choice for production
+ environments, at least with this default configuration.
+ chart: rabbitmq
+ chartVersion: 11.2.2
+ serviceIcon: https://bitnami.com/assets/stacks/rabbitmq/img/rabbitmq-stack-220x234.png
+ appVersion: 3.11.5
+ helmRepo:
+ name: bitnami
+ url: https://charts.bitnami.com/bitnami
+ values: |-
+ {{- template "epinio.catalog-service-values" . }}
+---
+apiVersion: application.epinio.io/v1
+kind: Service
+metadata:
+ name: mongodb-dev
+ namespace: {{ .Release.Namespace }}
+spec:
+ name: mongodb-dev
+ shortDescription: A MongoDB service that can be used during development
+ description: |
+ This service is going to deploy a simple default Bitnami MongoDB instance.
+ You can find more info at https://github.com/bitnami/charts/tree/master/bitnami/mongodb/.
+ This instance is running inside the cluster so it's probably not a good choice for production
+ environments, at least with this default configuration.
+ chart: mongodb
+ chartVersion: 13.6.2
+ serviceIcon: https://bitnami.com/assets/stacks/mongodb/img/mongodb-stack-220x234.png
+ appVersion: 6.0.3
+ helmRepo:
+ name: bitnami
+ url: https://charts.bitnami.com/bitnami
+ values: |-
+ {{- template "epinio.catalog-service-values" . }}
+{{- end }}
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/stage-scripts.yaml b/charts/epinio/100.0.5+up1.6.2/templates/stage-scripts.yaml
new file mode 100644
index 000000000..bf1db19e6
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/stage-scripts.yaml
@@ -0,0 +1,95 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: epinio-stage-scripts
+ namespace: {{ .Release.Namespace }}
+data:
+ builderImage: "{{ default .Values.image.builder.registry (include "registry-url" .) }}{{ .Values.image.builder.repository}}:{{ .Values.image.builder.tag }}"
+ downloadImage: "{{ default .Values.image.awscli.registry (include "registry-url" .) }}{{ .Values.image.awscli.repository}}:{{ .Values.image.awscli.tag }}"
+ unpackImage: "{{ default .Values.image.bash.registry (include "registry-url" .) }}{{ .Values.image.bash.repository}}:{{ default .Chart.AppVersion .Values.image.bash.tag }}"
+ download: |-
+ # Parameters
+ # - PROTOCOL # s3 protocol
+ # - ENDPOINT # s3 endpoint
+ # - BUCKET # s3 bucket
+ # - BLOBID # blob id / file name for source archive
+ #
+ # This data is set in the chart only for an external s3. For
+ # internal s3 the chart has no information. Therefore we cannot
+ # use helm templating to insert these.
+ echo By _ _ __ ___ _____ $(whoami) $(pwd)
+ cat /etc/ssl/certs/ca-bundle.crt > /tmp/ca-bundle.pem
+ test -f /certs/ca.crt && cat /certs/ca.crt >> /tmp/ca-bundle.pem
+ test -f /certs/tls.crt && cat /certs/tls.crt >> /tmp/ca-bundle.pem
+ aws --ca-bundle /tmp/ca-bundle.pem --endpoint-url "${PROTOCOL}://${ENDPOINT}" s3 cp "s3://${BUCKET}/${BLOBID}" "/workspace/source/${BLOBID}"
+ echo _ _ __ ___ _____ Done
+ unpack: |-
+ # Parameters
+ # - BLOBID # blob id / file name for source archive
+ #
+ # Attempting to unpack the sources as, in order:
+ # .tar - epinio cli
+ # .zip - epinio UI
+ # -z .tar.gz
+ # -j .tar.bz2
+ # -J .tar.xz
+ #
+ # __Note__: While it would have been nicer, IMNSHO, to use `file` to determine the
+ # type of the file and then directly dispatch to the proper unpacker, the `file`
+ # command is not available in the `bash` image. The code as written now relies on each
+ # unpacker to recognize/reject input properly.
+ #
+ echo By _ _ __ ___ _____ $(whoami) $(pwd)
+ if test ! -f "/workspace/source/${BLOBID}" ; then
+ echo Nothing to unpack
+ exit
+ fi
+ mkdir /workspace/source/app
+ ( cd /workspace/source/app
+ ( echo Tar? ; tar -xvf "../${BLOBID}" ) || \
+ ( echo Zip? ; unzip "../${BLOBID}" ) || \
+ ( echo Tgz? ; tar -xvzf "../${BLOBID}" ) || \
+ ( echo Tbz? ; tar -xvjf "../${BLOBID}" ) || \
+ ( echo Txz? ; tar -xvJf "../${BLOBID}" ) || \
+ ( echo "Unable to unpack. No supported archive file format found" ; exit 1 )
+ echo OK
+ )
+ rm "/workspace/source/${BLOBID}"
+ mkdir -p /workspace/source/env
+ cp -vL /workspace/source/appenv/* /workspace/source/env
+ chown -R 1000:1000 /workspace 2> /dev/null
+ find /workspace
+ echo _ _ __ ___ _____ Done
+ build: |-
+ # Parameters
+ # - PREIMAGE # url of previous image
+ # - APPIMAGE # url of application image
+ #
+ # ATTENTION: The `curl localhost:4191` command is used to stop the linkerd proxy
+ # container gracefully. We use `|| true` in case linkerd is not deployed. Further, it
+ # is placed into a trap to ensure that it will always run, even for a staging failure.
+ # Error output generated when linkerd is not present/up is squashed (dev/null).
+ # These messages are irrelevant, the situation is not an error, and allowing them through
+ # would confuse users (readers of app staging logs).
+ set -e
+ trap "curl -X POST http://localhost:4191/shutdown 2> /dev/null || true" EXIT
+ echo By _ _ __ ___ _____ $(whoami) $(pwd)
+ if test ! -d "/workspace/source/app" ; then
+ echo Nothing to build
+ sleep 60 # linkerd is a pain - If we exit to quickly, with the sidecar not ready our curl to shut it down does nothing, and then the sidecar comes up and prevents the pod from ending
+ exit 1
+ fi
+ find /workspace
+ /cnb/lifecycle/creator \
+ -app=/workspace/source/app \
+ -cache-dir=/workspace/cache \
+ -uid=1000 \
+ -gid=1000 \
+ -layers=/layers \
+ -platform=/workspace/source \
+ -report=/layers/report.toml \
+ -process-type=web \
+ -skip-restore=false \
+ "-previous-image=${PREIMAGE}" \
+ "${APPIMAGE}"
+ echo _ _ __ ___ _____ Done
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/validate-cert-manager-crd.yaml b/charts/epinio/100.0.5+up1.6.2/templates/validate-cert-manager-crd.yaml
new file mode 100644
index 000000000..87e12c558
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/validate-cert-manager-crd.yaml
@@ -0,0 +1,19 @@
+#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}}
+# {{- $found := dict -}}
+# {{- set $found "acme.cert-manager.io/v1/Challenge" false -}}
+# {{- set $found "acme.cert-manager.io/v1/Order" false -}}
+# {{- set $found "cert-manager.io/v1/CertificateRequest" false -}}
+# {{- set $found "cert-manager.io/v1/Certificate" false -}}
+# {{- set $found "cert-manager.io/v1/ClusterIssuer" false -}}
+# {{- set $found "cert-manager.io/v1/Issuer" false -}}
+# {{- range .Capabilities.APIVersions -}}
+# {{- if hasKey $found (toString .) -}}
+# {{- set $found (toString .) true -}}
+# {{- end -}}
+# {{- end -}}
+# {{- range $_, $exists := $found -}}
+# {{- if (eq $exists false) -}}
+# {{- required "Required CRDs are missing. Please install the corresponding CRD chart before installing this chart." "" -}}
+# {{- end -}}
+# {{- end -}}
+#{{- end -}}
\ No newline at end of file
diff --git a/charts/epinio/100.0.5+up1.6.2/templates/validate-install-crd.yaml b/charts/epinio/100.0.5+up1.6.2/templates/validate-install-crd.yaml
new file mode 100644
index 000000000..afa6e4fb4
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/templates/validate-install-crd.yaml
@@ -0,0 +1,16 @@
+#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}}
+# {{- $found := dict -}}
+# {{- set $found "application.epinio.io/v1/App" false -}}
+# {{- set $found "application.epinio.io/v1/AppChart" false -}}
+# {{- set $found "application.epinio.io/v1/Service" false -}}
+# {{- range .Capabilities.APIVersions -}}
+# {{- if hasKey $found (toString .) -}}
+# {{- set $found (toString .) true -}}
+# {{- end -}}
+# {{- end -}}
+# {{- range $_, $exists := $found -}}
+# {{- if (eq $exists false) -}}
+# {{- required "Required CRDs are missing. Please install the corresponding CRD chart before installing this chart." "" -}}
+# {{- end -}}
+# {{- end -}}
+#{{- end -}}
\ No newline at end of file
diff --git a/charts/epinio/100.0.5+up1.6.2/values.schema.json b/charts/epinio/100.0.5+up1.6.2/values.schema.json
new file mode 100644
index 000000000..766891678
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/values.schema.json
@@ -0,0 +1,424 @@
+{
+ "$schema": "https://json-schema.org/draft-07/schema#",
+ "title": "Values",
+ "type": "object",
+ "properties": {
+ "image": {
+ "type": "object",
+ "properties": {
+ "epinio": {
+ "type": "object",
+ "properties": {
+ "registry": {
+ "type": "string"
+ },
+ "repository": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ }
+ }
+ },
+ "bash": {
+ "type": "object",
+ "properties": {
+ "repository": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ }
+ }
+ },
+ "awscli": {
+ "type": "object",
+ "properties": {
+ "repository": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ }
+ }
+ },
+ "kubectl": {
+ "type": "object",
+ "properties": {
+ "repository": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "server": {
+ "description": "server configuration",
+ "type": "object",
+ "properties": {
+ "accessControlAllowOrigin": {
+ "type": "string"
+ },
+ "timeoutMultiplier": {
+ "type": "integer"
+ },
+ "traceLevel": {
+ "type": "integer"
+ },
+ "registryCertificateSecret": {
+ "type": "string"
+ },
+ "ingressClassName": {
+ "type": "string"
+ }
+ }
+ },
+ "ingress": {
+ "ingressClassName": {
+ "type": "string"
+ },
+ "annotations": {
+ "type": "object"
+ },
+ "nginxSSLRedirect": {
+ "type": "string"
+ }
+ },
+ "s3": {
+ "description": "s3 connection details",
+ "type": "object",
+ "properties": {
+ "endpoint": {
+ "type": "string"
+ },
+ "bucket": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "accessKeyID": {
+ "type": "string"
+ },
+ "secretAccessKey": {
+ "type": "string"
+ },
+ "certificateSecret": {
+ "type": "string"
+ },
+ "useSSL": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "endpoint",
+ "bucket",
+ "accessKeyID",
+ "secretAccessKey"
+ ]
+ },
+ "api": {
+ "description": "API access configuration",
+ "type": "object",
+ "properties": {
+ "users": {
+ "description": "Default Epinio users",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "passwordBcrypt": {
+ "type": "string"
+ },
+ "role": {
+ "type": "string"
+ },
+ "workspaces": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "username",
+ "passwordBcrypt",
+ "role"
+ ]
+ }
+ }
+ }
+ },
+ "certManagerNamespace": {
+ "description": "the namespace there cert-manager controller is deployed",
+ "type": "string"
+ },
+ "domain": {
+ "description": "the domain that will be used to access the Epinio API",
+ "type": "string"
+ },
+ "global": {
+ "type": "object",
+ "properties": {
+ "cattle": {
+ "type": "object",
+ "properties": {
+ "systemDefaultRegistry": {
+ "type": "string"
+ }
+ }
+ },
+ "domain": {
+ "type": "string"
+ },
+ "tlsIssuer": {
+ "type": "string"
+ },
+ "registryURL": {
+ "type": "string"
+ },
+ "registryUsername": {
+ "type": "string"
+ },
+ "registryPassword": {
+ "type": "string"
+ },
+ "registryNamespace": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "domain"
+ ]
+ },
+ "containerregistry": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "nginx": {
+ "type": "object",
+ "properties": {
+ "repository": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ }
+ }
+ },
+ "registry": {
+ "type": "object",
+ "properties": {
+ "repository": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": [
+ "nginx",
+ "registry"
+ ]
+ },
+ "imagePullPolicy": {
+ "type": "string"
+ },
+ "ingressClassName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "enabled",
+ "image",
+ "imagePullPolicy",
+ "ingressClassName"
+ ]
+ },
+ "dex": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "fullnameOverride": {
+ "type": "string"
+ },
+ "configSecret": {
+ "type": "object",
+ "properties": {
+ "create": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "create",
+ "name"
+ ]
+ }
+ },
+ "required": [
+ "enabled",
+ "configSecret",
+ "fullnameOverride"
+ ]
+ },
+ "epinio-ui": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "ingress": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ]
+ }
+ },
+ "required": [
+ "enabled",
+ "ingress"
+ ]
+ },
+ "kubed": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "enableAnalytics": {
+ "type": "boolean"
+ },
+ "fullnameOverride": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "enabled",
+ "enableAnalytics",
+ "fullnameOverride"
+ ]
+ },
+ "minio": {
+ "type": "object",
+ "properties": {
+ "drivesPerNode": {
+ "type": "integer"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "existingSecret": {
+ "type": "string"
+ },
+ "fullnameOverride": {
+ "type": "string"
+ },
+ "makeUserJob": {
+ "type": "object",
+ "properties": {
+ "podAnnotations": {
+ "type": "object"
+ }
+ },
+ "required": [
+ "podAnnotations"
+ ]
+ },
+ "persistence": {
+ "type": "object",
+ "properties": {
+ "size": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "size"
+ ]
+ },
+ "replicas": {
+ "type": "integer"
+ },
+ "resources": {
+ "type": "object",
+ "properties": {
+ "requests": {
+ "type": "object",
+ "properties": {
+ "memory": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "memory"
+ ]
+ }
+ },
+ "required": [
+ "requests"
+ ]
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "certSecret": {
+ "type": "string"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "privateKey": {
+ "type": "string"
+ },
+ "publicCrt": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "certSecret",
+ "enabled",
+ "privateKey",
+ "publicCrt"
+ ]
+ }
+ },
+ "required": [
+ "drivesPerNode",
+ "enabled",
+ "existingSecret",
+ "fullnameOverride",
+ "makeUserJob",
+ "persistence",
+ "replicas",
+ "resources",
+ "tls"
+ ]
+ }
+ },
+ "required": [
+ "certManagerNamespace",
+ "s3"
+ ]
+}
diff --git a/charts/epinio/100.0.5+up1.6.2/values.yaml b/charts/epinio/100.0.5+up1.6.2/values.yaml
new file mode 100644
index 000000000..b8db4c20c
--- /dev/null
+++ b/charts/epinio/100.0.5+up1.6.2/values.yaml
@@ -0,0 +1,155 @@
+## Default values for Epinio Helm Chart.
+## This is a YAML-formatted file.
+## Declare variables to be passed into your templates.
+
+# The email address you are planning to use for getting notifications about your certificates.
+email: "epinio@suse.com"
+
+image:
+ epinio:
+ repository: rancher/mirrored-epinio-epinio-server
+ tag: v1.6.2
+ bash:
+ repository: rancher/mirrored-epinio-epinio-unpacker
+ tag: v1.6.2
+ awscli:
+ repository: rancher/mirrored-amazon-aws-cli
+ tag: 2.9.14
+ skopeo:
+ repository: rancher/mirrored-skopeo-skopeo
+ tag: v1.10.0
+ kubectl:
+ repository: rancher/kubectl
+ tag: v1.22.6
+ builder:
+ repository: rancher/mirrored-paketobuildpacks-builder
+ tag: 0.2.289-full
+
+server:
+ # Domain which serves the Rancher UI (to access the API)
+ accessControlAllowOrigin: ""
+ # increase this value to increase all timeouts by the same factor
+ timeoutMultiplier: 1
+ # Increase this value to instruct the API server to produce more debug output
+ traceLevel: 0
+ # The ingressClassName is used to select the ingress controller for apps. If empty ingress.ingressClassName (see below) is used
+ ingressClassName: ""
+ # Disable tracking of the Epinio and Kubernetes cluster version
+ disableTracking: false
+ingress:
+ # The ingressClassName is used to select the ingress controller for the server. If empty no class will be added to the ingresses.
+ ingressClassName: ""
+ # Annotations to add to the API ingress
+ # e.g.: --set 'ingress.annotations.nginx\.ingress\.kubernetes\.io/ssl-redirect=false'
+ annotations: {}
+ # nginxSSLRedirect to controll https->http redirects
+ nginxSSLRedirect: "true"
+
+certManagerNamespace: cert-manager
+
+# Connection details for the S3 storage
+s3:
+ endpoint: s3.amazonaws.com
+ bucket: ""
+ region: ""
+ accessKeyID: ""
+ secretAccessKey: ""
+ useSSL: true
+ # Set it to an existing secret if S3 is using a self signed cert
+ certificateSecret: ""
+
+api:
+ # Default users
+ users:
+ - username: admin
+ passwordBcrypt: "$2a$10$6bCi5NMstMK781In7JGiL.B44pgoplUb330FQvm6mVXMppbXBPiXS"
+ role: admin
+ - username: epinio
+ passwordBcrypt: "$2a$10$6bCi5NMstMK781In7JGiL.B44pgoplUb330FQvm6mVXMppbXBPiXS"
+ role: user
+ workspaces:
+ - workspace
+
+# Dex subchart values -- None for now, and sub chart disabled
+dex:
+ enabled: true
+ # hardcode this, to avoid problems with release name
+ fullnameOverride: "dex"
+ configSecret:
+ create: false
+ name: "dex-config"
+
+# Extra environment variables passed to the epinio-server pod.
+# extraEnv:
+# - name: MY_ENV_VAR
+# value: "1.0"
+# Minio subchart values
+minio:
+ enabled: true
+ # hardcode this, to avoid problems with release name
+ fullnameOverride: minio
+ existingSecret: minio-creds
+ tls:
+ enabled: true
+ certSecret: minio-tls
+ publicCrt: tls.crt
+ privateKey: tls.key
+ persistence:
+ size: 2Gi
+ drivesPerNode: 4
+ replicas: 1
+ resources:
+ requests:
+ memory: 1Gi
+ makeUserJob:
+ podAnnotations:
+ linkerd.io/inject: disabled
+
+epinio-ui:
+ enabled: true
+ epinioTheme: light
+ epinioVersion: "v1.6.2"
+ ingress:
+ enabled: false
+
+kubed:
+ enabled: true
+ fullnameOverride: kubed
+ enableAnalytics: false
+
+containerregistry:
+ enabled: true
+ image:
+ registry:
+ repository: rancher/mirrored-library-registry
+ tag: 2.8.1
+ nginx:
+ repository: rancher/mirrored-library-nginx
+ tag: 1.23.2-alpine
+ imagePullPolicy: IfNotPresent
+ # The ingressClassName is used to select the ingress controller. If
+ # empty no class will be added to the ingresses.
+ ingressClassName: ""
+
+serviceCatalog:
+ # Enable service catalog service for development
+ enableDevServices: true
+
+global:
+ rbac:
+ pspEnabled: true
+ # The domain that will be used to access the epinio API server and the registry
+ domain: ""
+ # Connection details for the container registry.
+ registryURL: "" # Skip if containerregistry.enabled is true
+ registryUsername: "admin"
+ registryPassword: "changeme"
+ registryNamespace: "apps" # Used in registry path when pushing -> "external.tld/apps/APPNAME"
+ # The name of the cluster issuer to use.
+ # Epinio creates three options: 'epinio-ca', 'letsencrypt-production', and 'selfsigned-issuer'.
+ tlsIssuer: "epinio-ca"
+ # The URL of the container registry from where to pull container images for the various
+ # created Pods. Don't confuse this registry with the "Epinio registry" which is the one
+ # where Epinio stores the application images.
+ cattle:
+ systemDefaultRegistry: ""
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/Chart.yaml b/charts/fleet-agent/100.2.3+up0.5.3/Chart.yaml
new file mode 100644
index 000000000..9865f7bf7
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/Chart.yaml
@@ -0,0 +1,15 @@
+annotations:
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/hidden: "true"
+ catalog.cattle.io/kube-version: '>= 1.16.0-0 < 1.25.0-0'
+ catalog.cattle.io/namespace: cattle-fleet-system
+ catalog.cattle.io/os: linux
+ catalog.cattle.io/permits-os: linux,windows
+ catalog.cattle.io/rancher-version: '>= 2.6.0-0 < 2.7.0-0'
+ catalog.cattle.io/release-name: fleet-agent
+apiVersion: v2
+appVersion: 0.5.3
+description: Fleet Manager Agent - GitOps at Scale
+icon: https://charts.rancher.io/assets/logos/fleet.svg
+name: fleet-agent
+version: 100.2.3+up0.5.3
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/README.md b/charts/fleet-agent/100.2.3+up0.5.3/README.md
new file mode 100644
index 000000000..0f3446a38
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/README.md
@@ -0,0 +1,3 @@
+Standalone Fleet users use this chart for agent-based registration [docs/agent-initiated.md](/docs/agent-initiated.md).
+Fleet in Rancher does not use this chart, but creates the agent deployments programmatically.
+
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/templates/_helpers.tpl b/charts/fleet-agent/100.2.3+up0.5.3/templates/_helpers.tpl
new file mode 100644
index 000000000..6cd96c3ac
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/templates/_helpers.tpl
@@ -0,0 +1,22 @@
+{{- define "system_default_registry" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
+{{- else -}}
+{{- "" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Windows cluster will add default taint for linux nodes,
+add below linux tolerations to workloads could be scheduled to those linux nodes
+*/}}
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+kubernetes.io/os: linux
+{{- end -}}
\ No newline at end of file
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/templates/configmap.yaml b/charts/fleet-agent/100.2.3+up0.5.3/templates/configmap.yaml
new file mode 100644
index 000000000..ce61a8756
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/templates/configmap.yaml
@@ -0,0 +1,12 @@
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: fleet-agent
+data:
+ config: |-
+ {
+ {{ if .Values.labels }}
+ "labels":{{toJson .Values.labels}},
+ {{ end }}
+ "clientID":"{{.Values.clientID}}"
+ }
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/templates/deployment.yaml b/charts/fleet-agent/100.2.3+up0.5.3/templates/deployment.yaml
new file mode 100644
index 000000000..ef6315c7a
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/templates/deployment.yaml
@@ -0,0 +1,47 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: fleet-agent
+spec:
+ selector:
+ matchLabels:
+ app: fleet-agent
+ template:
+ metadata:
+ labels:
+ app: fleet-agent
+ spec:
+ containers:
+ - env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ image: '{{ template "system_default_registry" . }}{{.Values.image.repository}}:{{.Values.image.tag}}'
+ name: fleet-agent
+ command:
+ - fleetagent
+ {{- if .Values.debug }}
+ - --debug
+ - --debug-level
+ - {{ quote .Values.debugLevel }}
+ {{- else }}
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ {{- end }}
+ serviceAccountName: fleet-agent
+ nodeSelector: {{ include "linux-node-selector" . | nindent 8 }}
+{{- if .Values.fleetAgent.nodeSelector }}
+{{ toYaml .Values.fleetAgent.nodeSelector | indent 8 }}
+{{- end }}
+ tolerations: {{ include "linux-node-tolerations" . | nindent 8 }}
+{{- if .Values.fleetAgent.tolerations }}
+{{ toYaml .Values.fleetAgent.tolerations | indent 8 }}
+{{- end }}
+{{- if not .Values.debug }}
+ securityContext:
+ runAsNonRoot: true
+ runAsUser: 1000
+ runAsGroup: 1000
+{{- end }}
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/templates/network_policy_allow_all.yaml b/charts/fleet-agent/100.2.3+up0.5.3/templates/network_policy_allow_all.yaml
new file mode 100644
index 000000000..a72109a06
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/templates/network_policy_allow_all.yaml
@@ -0,0 +1,15 @@
+---
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: default-allow-all
+ namespace: {{ .Values.internal.systemNamespace }}
+spec:
+ podSelector: {}
+ ingress:
+ - {}
+ egress:
+ - {}
+ policyTypes:
+ - Ingress
+ - Egress
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/templates/patch_default_serviceaccount.yaml b/charts/fleet-agent/100.2.3+up0.5.3/templates/patch_default_serviceaccount.yaml
new file mode 100644
index 000000000..aad4eea41
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/templates/patch_default_serviceaccount.yaml
@@ -0,0 +1,28 @@
+---
+apiVersion: batch/v1
+kind: Job
+metadata:
+ name: patch-fleet-sa
+ annotations:
+ "helm.sh/hook": post-install, post-upgrade
+ "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation
+spec:
+ template:
+ spec:
+ serviceAccountName: fleet-agent
+ restartPolicy: Never
+ containers:
+ - name: sa
+ image: "{{ template "system_default_registry" . }}{{ .Values.global.kubectl.repository }}:{{ .Values.global.kubectl.tag }}"
+ imagePullPolicy: {{ .Values.global.imagePullPolicy }}
+ command: ["kubectl", "patch", "serviceaccount", "default", "-p", "{\"automountServiceAccountToken\": false}"]
+ args: ["-n", {{ .Values.internal.systemNamespace }}]
+ nodeSelector: {{ include "linux-node-selector" . | nindent 8 }}
+{{- if .Values.kubectl.nodeSelector }}
+{{ toYaml .Values.kubectl.nodeSelector | indent 8 }}
+{{- end }}
+ tolerations: {{ include "linux-node-tolerations" . | nindent 8 }}
+{{- if .Values.kubectl.tolerations }}
+{{ toYaml .Values.kubectl.tolerations | indent 8 }}
+{{- end }}
+ backoffLimit: 1
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/templates/rbac.yaml b/charts/fleet-agent/100.2.3+up0.5.3/templates/rbac.yaml
new file mode 100644
index 000000000..805949bf2
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/templates/rbac.yaml
@@ -0,0 +1,25 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: fleet-agent-system-fleet-agent-role
+rules:
+- apiGroups:
+ - '*'
+ resources:
+ - '*'
+ verbs:
+ - '*'
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: fleet-agent-system-fleet-agent-role-binding
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: fleet-agent-system-fleet-agent-role
+subjects:
+- kind: ServiceAccount
+ name: fleet-agent
+ namespace: {{.Release.Namespace}}
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/templates/secret.yaml b/charts/fleet-agent/100.2.3+up0.5.3/templates/secret.yaml
new file mode 100644
index 000000000..471588204
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/templates/secret.yaml
@@ -0,0 +1,10 @@
+apiVersion: v1
+data:
+ systemRegistrationNamespace: "{{b64enc .Values.systemRegistrationNamespace}}"
+ clusterNamespace: "{{b64enc .Values.clusterNamespace}}"
+ token: "{{b64enc .Values.token}}"
+ apiServerURL: "{{b64enc .Values.apiServerURL}}"
+ apiServerCA: "{{b64enc .Values.apiServerCA}}"
+kind: Secret
+metadata:
+ name: fleet-agent-bootstrap
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/templates/serviceaccount.yaml b/charts/fleet-agent/100.2.3+up0.5.3/templates/serviceaccount.yaml
new file mode 100644
index 000000000..73e27f0be
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/templates/serviceaccount.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: fleet-agent
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/templates/validate.yaml b/charts/fleet-agent/100.2.3+up0.5.3/templates/validate.yaml
new file mode 100644
index 000000000..d53ff1c50
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/templates/validate.yaml
@@ -0,0 +1,11 @@
+{{if ne .Release.Namespace .Values.internal.systemNamespace }}
+{{ fail (printf "This chart must be installed in the namespace %s as the release name fleet-agent" .Values.internal.systemNamespace) }}
+{{end}}
+
+{{if ne .Release.Name .Values.internal.managedReleaseName }}
+{{ fail (printf "This chart must be installed in the namespace %s as the release name fleet-agent" .Values.internal.managedReleaseName) }}
+{{end}}
+
+{{if not .Values.apiServerURL }}
+{{ fail "apiServerURL is required to be set, and most likely also apiServerCA" }}
+{{end}}
diff --git a/charts/fleet-agent/100.2.3+up0.5.3/values.yaml b/charts/fleet-agent/100.2.3+up0.5.3/values.yaml
new file mode 100644
index 000000000..9dab69482
--- /dev/null
+++ b/charts/fleet-agent/100.2.3+up0.5.3/values.yaml
@@ -0,0 +1,63 @@
+image:
+ os: "windows,linux"
+ repository: rancher/fleet-agent
+ tag: v0.5.3
+
+# The public URL of the Kubernetes API server running the Fleet Manager must be set here
+# Example: https://example.com:6443
+apiServerURL: ""
+
+# The the pem encoded value of the CA of the Kubernetes API server running the Fleet Manager.
+# If left empty it is assumed this Kubernetes API TLS is signed by a well known CA.
+apiServerCA: ""
+
+# The cluster registration value
+token: ""
+
+# Labels to add to the cluster upon registration only. They are not added after the fact.
+#labels:
+# foo: bar
+
+# The client ID of the cluster to associate with
+clientID: ""
+
+# The namespace of the cluster we are register with
+clusterNamespace: ""
+
+# The namespace containing the clusters registration secrets
+systemRegistrationNamespace: cattle-fleet-clusters-system
+
+# Please do not change the below setting unless you really know what you are doing
+internal:
+ systemNamespace: cattle-fleet-system
+ managedReleaseName: fleet-agent
+
+# The nodeSelector and tolerations for the agent deployment
+fleetAgent:
+ ## Node labels for pod assignment
+ ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
+ ##
+ nodeSelector: {}
+ ## List of node taints to tolerate (requires Kubernetes >= 1.6)
+ tolerations: []
+kubectl:
+ ## Node labels for pod assignment
+ ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
+ ##
+ nodeSelector: {}
+ ## List of node taints to tolerate (requires Kubernetes >= 1.6)
+ tolerations:
+ - key: node.cloudprovider.kubernetes.io/uninitialized
+ operator: "Equal"
+ value: "true"
+ effect: NoSchedule
+
+global:
+ cattle:
+ systemDefaultRegistry: ""
+ kubectl:
+ repository: rancher/kubectl
+ tag: v1.21.5
+
+debug: false
+debugLevel: 0
diff --git a/charts/fleet-crd/100.2.3+up0.5.3/Chart.yaml b/charts/fleet-crd/100.2.3+up0.5.3/Chart.yaml
new file mode 100644
index 000000000..64249c058
--- /dev/null
+++ b/charts/fleet-crd/100.2.3+up0.5.3/Chart.yaml
@@ -0,0 +1,13 @@
+annotations:
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/hidden: "true"
+ catalog.cattle.io/namespace: cattle-fleet-system
+ catalog.cattle.io/os: linux
+ catalog.cattle.io/permits-os: linux,windows
+ catalog.cattle.io/release-name: fleet-crd
+apiVersion: v2
+appVersion: 0.5.3
+description: Fleet Manager CustomResourceDefinitions
+icon: https://charts.rancher.io/assets/logos/fleet.svg
+name: fleet-crd
+version: 100.2.3+up0.5.3
diff --git a/charts/fleet-crd/100.2.3+up0.5.3/templates/crds.yaml b/charts/fleet-crd/100.2.3+up0.5.3/templates/crds.yaml
new file mode 100644
index 000000000..6bf7aa70d
--- /dev/null
+++ b/charts/fleet-crd/100.2.3+up0.5.3/templates/crds.yaml
@@ -0,0 +1,2698 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: bundles.fleet.cattle.io
+spec:
+ group: fleet.cattle.io
+ names:
+ kind: Bundle
+ plural: bundles
+ singular: bundle
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.display.readyClusters
+ name: BundleDeployments-Ready
+ type: string
+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
+ name: Status
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ defaultNamespace:
+ nullable: true
+ type: string
+ dependsOn:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ selector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ type: object
+ nullable: true
+ type: array
+ diff:
+ nullable: true
+ properties:
+ comparePatches:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ jsonPointers:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ operations:
+ items:
+ properties:
+ op:
+ nullable: true
+ type: string
+ path:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ type: object
+ forceSyncGeneration:
+ type: integer
+ helm:
+ nullable: true
+ properties:
+ atomic:
+ type: boolean
+ chart:
+ nullable: true
+ type: string
+ force:
+ type: boolean
+ maxHistory:
+ type: integer
+ releaseName:
+ maxLength: 53
+ nullable: true
+ pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
+ type: string
+ repo:
+ nullable: true
+ type: string
+ takeOwnership:
+ type: boolean
+ timeoutSeconds:
+ type: integer
+ values:
+ nullable: true
+ type: object
+ x-kubernetes-preserve-unknown-fields: true
+ valuesFiles:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ valuesFrom:
+ items:
+ properties:
+ configMapKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ type: object
+ secretKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ version:
+ nullable: true
+ type: string
+ type: object
+ kustomize:
+ nullable: true
+ properties:
+ dir:
+ nullable: true
+ type: string
+ type: object
+ namespace:
+ nullable: true
+ type: string
+ paused:
+ type: boolean
+ resources:
+ items:
+ properties:
+ content:
+ nullable: true
+ type: string
+ encoding:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ rolloutStrategy:
+ nullable: true
+ properties:
+ autoPartitionSize:
+ nullable: true
+ type: string
+ maxUnavailable:
+ nullable: true
+ type: string
+ maxUnavailablePartitions:
+ nullable: true
+ type: string
+ partitions:
+ items:
+ properties:
+ clusterGroup:
+ nullable: true
+ type: string
+ clusterGroupSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ clusterName:
+ nullable: true
+ type: string
+ clusterSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ maxUnavailable:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ serviceAccount:
+ nullable: true
+ type: string
+ targetRestrictions:
+ items:
+ properties:
+ clusterGroup:
+ nullable: true
+ type: string
+ clusterGroupSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ clusterName:
+ nullable: true
+ type: string
+ clusterSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ targets:
+ items:
+ properties:
+ clusterGroup:
+ nullable: true
+ type: string
+ clusterGroupSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ clusterName:
+ nullable: true
+ type: string
+ clusterSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ defaultNamespace:
+ nullable: true
+ type: string
+ diff:
+ nullable: true
+ properties:
+ comparePatches:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ jsonPointers:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ operations:
+ items:
+ properties:
+ op:
+ nullable: true
+ type: string
+ path:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ type: object
+ forceSyncGeneration:
+ type: integer
+ helm:
+ nullable: true
+ properties:
+ atomic:
+ type: boolean
+ chart:
+ nullable: true
+ type: string
+ force:
+ type: boolean
+ maxHistory:
+ type: integer
+ releaseName:
+ nullable: true
+ type: string
+ repo:
+ nullable: true
+ type: string
+ takeOwnership:
+ type: boolean
+ timeoutSeconds:
+ type: integer
+ values:
+ nullable: true
+ type: object
+ x-kubernetes-preserve-unknown-fields: true
+ valuesFiles:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ valuesFrom:
+ items:
+ properties:
+ configMapKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ type: object
+ secretKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ version:
+ nullable: true
+ type: string
+ type: object
+ kustomize:
+ nullable: true
+ properties:
+ dir:
+ nullable: true
+ type: string
+ type: object
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ serviceAccount:
+ nullable: true
+ type: string
+ yaml:
+ nullable: true
+ properties:
+ overlays:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ type: object
+ nullable: true
+ type: array
+ yaml:
+ nullable: true
+ properties:
+ overlays:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ type: object
+ status:
+ properties:
+ conditions:
+ items:
+ properties:
+ lastTransitionTime:
+ nullable: true
+ type: string
+ lastUpdateTime:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ reason:
+ nullable: true
+ type: string
+ status:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ display:
+ properties:
+ readyClusters:
+ nullable: true
+ type: string
+ state:
+ nullable: true
+ type: string
+ type: object
+ maxNew:
+ type: integer
+ maxUnavailable:
+ type: integer
+ maxUnavailablePartitions:
+ type: integer
+ newlyCreated:
+ type: integer
+ observedGeneration:
+ type: integer
+ partitions:
+ items:
+ properties:
+ count:
+ type: integer
+ maxUnavailable:
+ type: integer
+ name:
+ nullable: true
+ type: string
+ summary:
+ properties:
+ desiredReady:
+ type: integer
+ errApplied:
+ type: integer
+ modified:
+ type: integer
+ nonReadyResources:
+ items:
+ properties:
+ bundleState:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ modifiedStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ delete:
+ type: boolean
+ kind:
+ nullable: true
+ type: string
+ missing:
+ type: boolean
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ patch:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ nonReadyStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ summary:
+ properties:
+ error:
+ type: boolean
+ message:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ state:
+ nullable: true
+ type: string
+ transitioning:
+ type: boolean
+ type: object
+ uid:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ notReady:
+ type: integer
+ outOfSync:
+ type: integer
+ pending:
+ type: integer
+ ready:
+ type: integer
+ waitApplied:
+ type: integer
+ type: object
+ unavailable:
+ type: integer
+ type: object
+ nullable: true
+ type: array
+ resourceKey:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ summary:
+ properties:
+ desiredReady:
+ type: integer
+ errApplied:
+ type: integer
+ modified:
+ type: integer
+ nonReadyResources:
+ items:
+ properties:
+ bundleState:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ modifiedStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ delete:
+ type: boolean
+ kind:
+ nullable: true
+ type: string
+ missing:
+ type: boolean
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ patch:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ nonReadyStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ summary:
+ properties:
+ error:
+ type: boolean
+ message:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ state:
+ nullable: true
+ type: string
+ transitioning:
+ type: boolean
+ type: object
+ uid:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ notReady:
+ type: integer
+ outOfSync:
+ type: integer
+ pending:
+ type: integer
+ ready:
+ type: integer
+ waitApplied:
+ type: integer
+ type: object
+ unavailable:
+ type: integer
+ unavailablePartitions:
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: bundledeployments.fleet.cattle.io
+spec:
+ group: fleet.cattle.io
+ names:
+ kind: BundleDeployment
+ plural: bundledeployments
+ singular: bundledeployment
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.display.deployed
+ name: Deployed
+ type: string
+ - jsonPath: .status.display.monitored
+ name: Monitored
+ type: string
+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
+ name: Status
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ dependsOn:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ selector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ type: object
+ nullable: true
+ type: array
+ deploymentID:
+ nullable: true
+ type: string
+ options:
+ properties:
+ defaultNamespace:
+ nullable: true
+ type: string
+ diff:
+ nullable: true
+ properties:
+ comparePatches:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ jsonPointers:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ operations:
+ items:
+ properties:
+ op:
+ nullable: true
+ type: string
+ path:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ type: object
+ forceSyncGeneration:
+ type: integer
+ helm:
+ nullable: true
+ properties:
+ atomic:
+ type: boolean
+ chart:
+ nullable: true
+ type: string
+ force:
+ type: boolean
+ maxHistory:
+ type: integer
+ releaseName:
+ maxLength: 53
+ nullable: true
+ pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
+ type: string
+ repo:
+ nullable: true
+ type: string
+ takeOwnership:
+ type: boolean
+ timeoutSeconds:
+ type: integer
+ values:
+ nullable: true
+ type: object
+ x-kubernetes-preserve-unknown-fields: true
+ valuesFiles:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ valuesFrom:
+ items:
+ properties:
+ configMapKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ type: object
+ secretKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ version:
+ nullable: true
+ type: string
+ type: object
+ kustomize:
+ nullable: true
+ properties:
+ dir:
+ nullable: true
+ type: string
+ type: object
+ namespace:
+ nullable: true
+ type: string
+ serviceAccount:
+ nullable: true
+ type: string
+ yaml:
+ nullable: true
+ properties:
+ overlays:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ type: object
+ stagedDeploymentID:
+ nullable: true
+ type: string
+ stagedOptions:
+ properties:
+ defaultNamespace:
+ nullable: true
+ type: string
+ diff:
+ nullable: true
+ properties:
+ comparePatches:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ jsonPointers:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ operations:
+ items:
+ properties:
+ op:
+ nullable: true
+ type: string
+ path:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ type: object
+ forceSyncGeneration:
+ type: integer
+ helm:
+ nullable: true
+ properties:
+ atomic:
+ type: boolean
+ chart:
+ nullable: true
+ type: string
+ force:
+ type: boolean
+ maxHistory:
+ type: integer
+ releaseName:
+ nullable: true
+ type: string
+ repo:
+ nullable: true
+ type: string
+ takeOwnership:
+ type: boolean
+ timeoutSeconds:
+ type: integer
+ values:
+ nullable: true
+ type: object
+ x-kubernetes-preserve-unknown-fields: true
+ valuesFiles:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ valuesFrom:
+ items:
+ properties:
+ configMapKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ type: object
+ secretKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ version:
+ nullable: true
+ type: string
+ type: object
+ kustomize:
+ nullable: true
+ properties:
+ dir:
+ nullable: true
+ type: string
+ type: object
+ namespace:
+ nullable: true
+ type: string
+ serviceAccount:
+ nullable: true
+ type: string
+ yaml:
+ nullable: true
+ properties:
+ overlays:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ type: object
+ type: object
+ status:
+ properties:
+ appliedDeploymentID:
+ nullable: true
+ type: string
+ conditions:
+ items:
+ properties:
+ lastTransitionTime:
+ nullable: true
+ type: string
+ lastUpdateTime:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ reason:
+ nullable: true
+ type: string
+ status:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ display:
+ properties:
+ deployed:
+ nullable: true
+ type: string
+ monitored:
+ nullable: true
+ type: string
+ state:
+ nullable: true
+ type: string
+ type: object
+ modifiedStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ delete:
+ type: boolean
+ kind:
+ nullable: true
+ type: string
+ missing:
+ type: boolean
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ patch:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ nonModified:
+ type: boolean
+ nonReadyStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ summary:
+ properties:
+ error:
+ type: boolean
+ message:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ state:
+ nullable: true
+ type: string
+ transitioning:
+ type: boolean
+ type: object
+ uid:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ ready:
+ type: boolean
+ release:
+ nullable: true
+ type: string
+ syncGeneration:
+ nullable: true
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: bundlenamespacemappings.fleet.cattle.io
+spec:
+ group: fleet.cattle.io
+ names:
+ kind: BundleNamespaceMapping
+ plural: bundlenamespacemappings
+ singular: bundlenamespacemapping
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ bundleSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaceSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: clustergroups.fleet.cattle.io
+spec:
+ group: fleet.cattle.io
+ names:
+ categories:
+ - fleet
+ kind: ClusterGroup
+ plural: clustergroups
+ singular: clustergroup
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.display.readyClusters
+ name: Clusters-Ready
+ type: string
+ - jsonPath: .status.display.readyBundles
+ name: Bundles-Ready
+ type: string
+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
+ name: Status
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ selector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ type: object
+ status:
+ properties:
+ clusterCount:
+ type: integer
+ conditions:
+ items:
+ properties:
+ lastTransitionTime:
+ nullable: true
+ type: string
+ lastUpdateTime:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ reason:
+ nullable: true
+ type: string
+ status:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ display:
+ properties:
+ readyBundles:
+ nullable: true
+ type: string
+ readyClusters:
+ nullable: true
+ type: string
+ state:
+ nullable: true
+ type: string
+ type: object
+ nonReadyClusterCount:
+ type: integer
+ nonReadyClusters:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ resourceCounts:
+ properties:
+ desiredReady:
+ type: integer
+ missing:
+ type: integer
+ modified:
+ type: integer
+ notReady:
+ type: integer
+ orphaned:
+ type: integer
+ ready:
+ type: integer
+ unknown:
+ type: integer
+ waitApplied:
+ type: integer
+ type: object
+ summary:
+ properties:
+ desiredReady:
+ type: integer
+ errApplied:
+ type: integer
+ modified:
+ type: integer
+ nonReadyResources:
+ items:
+ properties:
+ bundleState:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ modifiedStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ delete:
+ type: boolean
+ kind:
+ nullable: true
+ type: string
+ missing:
+ type: boolean
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ patch:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ nonReadyStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ summary:
+ properties:
+ error:
+ type: boolean
+ message:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ state:
+ nullable: true
+ type: string
+ transitioning:
+ type: boolean
+ type: object
+ uid:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ notReady:
+ type: integer
+ outOfSync:
+ type: integer
+ pending:
+ type: integer
+ ready:
+ type: integer
+ waitApplied:
+ type: integer
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: clusters.fleet.cattle.io
+spec:
+ group: fleet.cattle.io
+ names:
+ kind: Cluster
+ plural: clusters
+ singular: cluster
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.display.readyBundles
+ name: Bundles-Ready
+ type: string
+ - jsonPath: .status.display.readyNodes
+ name: Nodes-Ready
+ type: string
+ - jsonPath: .status.display.sampleNode
+ name: Sample-Node
+ type: string
+ - jsonPath: .status.agent.lastSeen
+ name: Last-Seen
+ type: string
+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
+ name: Status
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ metadata:
+ properties:
+ name:
+ maxLength: 63
+ pattern: ^[-a-z0-9]+$
+ type: string
+ type: object
+ spec:
+ properties:
+ agentEnvVars:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ valueFrom:
+ nullable: true
+ properties:
+ configMapKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ fieldRef:
+ nullable: true
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldPath:
+ nullable: true
+ type: string
+ type: object
+ resourceFieldRef:
+ nullable: true
+ properties:
+ containerName:
+ nullable: true
+ type: string
+ divisor:
+ nullable: true
+ type: string
+ resource:
+ nullable: true
+ type: string
+ type: object
+ secretKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ type: object
+ nullable: true
+ type: array
+ agentNamespace:
+ nullable: true
+ type: string
+ clientID:
+ nullable: true
+ type: string
+ kubeConfigSecret:
+ nullable: true
+ type: string
+ paused:
+ type: boolean
+ privateRepoURL:
+ nullable: true
+ type: string
+ redeployAgentGeneration:
+ type: integer
+ type: object
+ status:
+ properties:
+ agent:
+ properties:
+ lastSeen:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ nonReadyNodeNames:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ nonReadyNodes:
+ type: integer
+ readyNodeNames:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ readyNodes:
+ type: integer
+ type: object
+ agentDeployedGeneration:
+ nullable: true
+ type: integer
+ agentEnvVarsHash:
+ nullable: true
+ type: string
+ agentMigrated:
+ type: boolean
+ agentNamespaceMigrated:
+ type: boolean
+ cattleNamespaceMigrated:
+ type: boolean
+ conditions:
+ items:
+ properties:
+ lastTransitionTime:
+ nullable: true
+ type: string
+ lastUpdateTime:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ reason:
+ nullable: true
+ type: string
+ status:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ desiredReadyGitRepos:
+ type: integer
+ display:
+ properties:
+ readyBundles:
+ nullable: true
+ type: string
+ readyNodes:
+ nullable: true
+ type: string
+ sampleNode:
+ nullable: true
+ type: string
+ state:
+ nullable: true
+ type: string
+ type: object
+ namespace:
+ nullable: true
+ type: string
+ readyGitRepos:
+ type: integer
+ resourceCounts:
+ properties:
+ desiredReady:
+ type: integer
+ missing:
+ type: integer
+ modified:
+ type: integer
+ notReady:
+ type: integer
+ orphaned:
+ type: integer
+ ready:
+ type: integer
+ unknown:
+ type: integer
+ waitApplied:
+ type: integer
+ type: object
+ summary:
+ properties:
+ desiredReady:
+ type: integer
+ errApplied:
+ type: integer
+ modified:
+ type: integer
+ nonReadyResources:
+ items:
+ properties:
+ bundleState:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ modifiedStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ delete:
+ type: boolean
+ kind:
+ nullable: true
+ type: string
+ missing:
+ type: boolean
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ patch:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ nonReadyStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ summary:
+ properties:
+ error:
+ type: boolean
+ message:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ state:
+ nullable: true
+ type: string
+ transitioning:
+ type: boolean
+ type: object
+ uid:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ notReady:
+ type: integer
+ outOfSync:
+ type: integer
+ pending:
+ type: integer
+ ready:
+ type: integer
+ waitApplied:
+ type: integer
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: clusterregistrationtokens.fleet.cattle.io
+spec:
+ group: fleet.cattle.io
+ names:
+ kind: ClusterRegistrationToken
+ plural: clusterregistrationtokens
+ singular: clusterregistrationtoken
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.secretName
+ name: Secret-Name
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ metadata:
+ properties:
+ name:
+ maxLength: 63
+ pattern: ^[-a-z0-9]+$
+ type: string
+ type: object
+ spec:
+ properties:
+ ttl:
+ nullable: true
+ type: string
+ type: object
+ status:
+ properties:
+ expires:
+ nullable: true
+ type: string
+ secretName:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: gitrepos.fleet.cattle.io
+spec:
+ group: fleet.cattle.io
+ names:
+ categories:
+ - fleet
+ kind: GitRepo
+ plural: gitrepos
+ singular: gitrepo
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .spec.repo
+ name: Repo
+ type: string
+ - jsonPath: .status.commit
+ name: Commit
+ type: string
+ - jsonPath: .status.display.readyBundleDeployments
+ name: BundleDeployments-Ready
+ type: string
+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
+ name: Status
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ branch:
+ nullable: true
+ type: string
+ caBundle:
+ nullable: true
+ type: string
+ clientSecretName:
+ nullable: true
+ type: string
+ forceSyncGeneration:
+ type: integer
+ helmSecretName:
+ nullable: true
+ type: string
+ imageScanCommit:
+ properties:
+ authorEmail:
+ nullable: true
+ type: string
+ authorName:
+ nullable: true
+ type: string
+ messageTemplate:
+ nullable: true
+ type: string
+ type: object
+ imageScanInterval:
+ nullable: true
+ type: string
+ insecureSkipTLSVerify:
+ type: boolean
+ paths:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ paused:
+ type: boolean
+ pollingInterval:
+ nullable: true
+ type: string
+ repo:
+ nullable: true
+ type: string
+ revision:
+ nullable: true
+ type: string
+ serviceAccount:
+ nullable: true
+ type: string
+ targetNamespace:
+ nullable: true
+ type: string
+ targets:
+ items:
+ properties:
+ clusterGroup:
+ nullable: true
+ type: string
+ clusterGroupSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ clusterName:
+ nullable: true
+ type: string
+ clusterSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ status:
+ properties:
+ commit:
+ nullable: true
+ type: string
+ conditions:
+ items:
+ properties:
+ lastTransitionTime:
+ nullable: true
+ type: string
+ lastUpdateTime:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ reason:
+ nullable: true
+ type: string
+ status:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ desiredReadyClusters:
+ type: integer
+ display:
+ properties:
+ error:
+ type: boolean
+ message:
+ nullable: true
+ type: string
+ readyBundleDeployments:
+ nullable: true
+ type: string
+ state:
+ nullable: true
+ type: string
+ type: object
+ gitJobStatus:
+ nullable: true
+ type: string
+ lastSyncedImageScanTime:
+ nullable: true
+ type: string
+ observedGeneration:
+ type: integer
+ readyClusters:
+ type: integer
+ resourceCounts:
+ properties:
+ desiredReady:
+ type: integer
+ missing:
+ type: integer
+ modified:
+ type: integer
+ notReady:
+ type: integer
+ orphaned:
+ type: integer
+ ready:
+ type: integer
+ unknown:
+ type: integer
+ waitApplied:
+ type: integer
+ type: object
+ resourceErrors:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ resources:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ error:
+ type: boolean
+ id:
+ nullable: true
+ type: string
+ incompleteState:
+ type: boolean
+ kind:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ perClusterState:
+ items:
+ properties:
+ clusterId:
+ nullable: true
+ type: string
+ error:
+ type: boolean
+ message:
+ nullable: true
+ type: string
+ patch:
+ nullable: true
+ type: object
+ x-kubernetes-preserve-unknown-fields: true
+ state:
+ nullable: true
+ type: string
+ transitioning:
+ type: boolean
+ type: object
+ nullable: true
+ type: array
+ state:
+ nullable: true
+ type: string
+ transitioning:
+ type: boolean
+ type:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ summary:
+ properties:
+ desiredReady:
+ type: integer
+ errApplied:
+ type: integer
+ modified:
+ type: integer
+ nonReadyResources:
+ items:
+ properties:
+ bundleState:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ modifiedStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ delete:
+ type: boolean
+ kind:
+ nullable: true
+ type: string
+ missing:
+ type: boolean
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ patch:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ nonReadyStatus:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ summary:
+ properties:
+ error:
+ type: boolean
+ message:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ state:
+ nullable: true
+ type: string
+ transitioning:
+ type: boolean
+ type: object
+ uid:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ notReady:
+ type: integer
+ outOfSync:
+ type: integer
+ pending:
+ type: integer
+ ready:
+ type: integer
+ waitApplied:
+ type: integer
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: clusterregistrations.fleet.cattle.io
+spec:
+ group: fleet.cattle.io
+ names:
+ kind: ClusterRegistration
+ plural: clusterregistrations
+ singular: clusterregistration
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.clusterName
+ name: Cluster-Name
+ type: string
+ - jsonPath: .spec.clusterLabels
+ name: Labels
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ clientID:
+ nullable: true
+ type: string
+ clientRandom:
+ nullable: true
+ type: string
+ clusterLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ status:
+ properties:
+ clusterName:
+ nullable: true
+ type: string
+ granted:
+ type: boolean
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: gitreporestrictions.fleet.cattle.io
+spec:
+ group: fleet.cattle.io
+ names:
+ kind: GitRepoRestriction
+ plural: gitreporestrictions
+ singular: gitreporestriction
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .defaultServiceAccount
+ name: Default-ServiceAccount
+ type: string
+ - jsonPath: .allowedServiceAccounts
+ name: Allowed-ServiceAccounts
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ allowedClientSecretNames:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ allowedRepoPatterns:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ allowedServiceAccounts:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ defaultClientSecretName:
+ nullable: true
+ type: string
+ defaultServiceAccount:
+ nullable: true
+ type: string
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: contents.fleet.cattle.io
+spec:
+ group: fleet.cattle.io
+ names:
+ kind: Content
+ plural: contents
+ singular: content
+ preserveUnknownFields: false
+ scope: Cluster
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ content:
+ nullable: true
+ type: string
+ type: object
+ served: true
+ storage: true
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: imagescans.fleet.cattle.io
+spec:
+ group: fleet.cattle.io
+ names:
+ categories:
+ - fleet
+ kind: ImageScan
+ plural: imagescans
+ singular: imagescan
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .spec.image
+ name: Repository
+ type: string
+ - jsonPath: .status.latestTag
+ name: Latest
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ gitrepoName:
+ nullable: true
+ type: string
+ image:
+ nullable: true
+ type: string
+ interval:
+ nullable: true
+ type: string
+ policy:
+ properties:
+ alphabetical:
+ nullable: true
+ properties:
+ order:
+ nullable: true
+ type: string
+ type: object
+ semver:
+ nullable: true
+ properties:
+ range:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ suspend:
+ type: boolean
+ tagName:
+ nullable: true
+ type: string
+ type: object
+ status:
+ properties:
+ canonicalImageName:
+ nullable: true
+ type: string
+ conditions:
+ items:
+ properties:
+ lastTransitionTime:
+ nullable: true
+ type: string
+ lastUpdateTime:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ reason:
+ nullable: true
+ type: string
+ status:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ lastScanTime:
+ nullable: true
+ type: string
+ latestDigest:
+ nullable: true
+ type: string
+ latestImage:
+ nullable: true
+ type: string
+ latestTag:
+ nullable: true
+ type: string
+ observedGeneration:
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/fleet-crd/100.2.3+up0.5.3/templates/gitjobs-crds.yaml b/charts/fleet-crd/100.2.3+up0.5.3/templates/gitjobs-crds.yaml
new file mode 100644
index 000000000..4cbe04386
--- /dev/null
+++ b/charts/fleet-crd/100.2.3+up0.5.3/templates/gitjobs-crds.yaml
@@ -0,0 +1,7412 @@
+{{- if .Capabilities.APIVersions.Has "apiextensions.k8s.io/v1" -}}
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: gitjobs.gitjob.cattle.io
+spec:
+ group: gitjob.cattle.io
+ names:
+ kind: GitJob
+ plural: gitjobs
+ singular: gitjob
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .spec.git.repo
+ name: REPO
+ type: string
+ - jsonPath: .spec.git.branch
+ name: BRANCH
+ type: string
+ - jsonPath: .status.commit
+ name: COMMIT
+ type: string
+ - jsonPath: .status.jobStatus
+ name: JOBSTATUS
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ name: v1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ forceUpdateGeneration:
+ type: integer
+ git:
+ properties:
+ branch:
+ nullable: true
+ type: string
+ caBundle:
+ nullable: true
+ type: string
+ clientSecretName:
+ nullable: true
+ type: string
+ insecureSkipTLSVerify:
+ type: boolean
+ onTag:
+ nullable: true
+ type: string
+ provider:
+ nullable: true
+ type: string
+ repo:
+ nullable: true
+ type: string
+ revision:
+ nullable: true
+ type: string
+ type: object
+ jobSpec:
+ properties:
+ activeDeadlineSeconds:
+ nullable: true
+ type: integer
+ backoffLimit:
+ nullable: true
+ type: integer
+ completionMode:
+ nullable: true
+ type: string
+ completions:
+ nullable: true
+ type: integer
+ manualSelector:
+ nullable: true
+ type: boolean
+ parallelism:
+ nullable: true
+ type: integer
+ selector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ suspend:
+ nullable: true
+ type: boolean
+ template:
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ clusterName:
+ nullable: true
+ type: string
+ creationTimestamp:
+ nullable: true
+ type: string
+ deletionGracePeriodSeconds:
+ nullable: true
+ type: integer
+ deletionTimestamp:
+ nullable: true
+ type: string
+ finalizers:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ generateName:
+ nullable: true
+ type: string
+ generation:
+ type: integer
+ labels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ managedFields:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldsType:
+ nullable: true
+ type: string
+ fieldsV1:
+ nullable: true
+ type: object
+ manager:
+ nullable: true
+ type: string
+ operation:
+ nullable: true
+ type: string
+ subresource:
+ nullable: true
+ type: string
+ time:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ ownerReferences:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ blockOwnerDeletion:
+ nullable: true
+ type: boolean
+ controller:
+ nullable: true
+ type: boolean
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ uid:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ resourceVersion:
+ nullable: true
+ type: string
+ selfLink:
+ nullable: true
+ type: string
+ uid:
+ nullable: true
+ type: string
+ type: object
+ spec:
+ properties:
+ activeDeadlineSeconds:
+ nullable: true
+ type: integer
+ affinity:
+ nullable: true
+ properties:
+ nodeAffinity:
+ nullable: true
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ preference:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ type: object
+ weight:
+ type: integer
+ type: object
+ nullable: true
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nullable: true
+ properties:
+ nodeSelectorTerms:
+ items:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ type: object
+ type: object
+ podAffinity:
+ nullable: true
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ podAffinityTerm:
+ properties:
+ labelSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaceSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaces:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ topologyKey:
+ nullable: true
+ type: string
+ type: object
+ weight:
+ type: integer
+ type: object
+ nullable: true
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaceSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaces:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ topologyKey:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ podAntiAffinity:
+ nullable: true
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ podAffinityTerm:
+ properties:
+ labelSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaceSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaces:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ topologyKey:
+ nullable: true
+ type: string
+ type: object
+ weight:
+ type: integer
+ type: object
+ nullable: true
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaceSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaces:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ topologyKey:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ type: object
+ automountServiceAccountToken:
+ nullable: true
+ type: boolean
+ containers:
+ items:
+ properties:
+ args:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ env:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ valueFrom:
+ nullable: true
+ properties:
+ configMapKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ fieldRef:
+ nullable: true
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldPath:
+ nullable: true
+ type: string
+ type: object
+ resourceFieldRef:
+ nullable: true
+ properties:
+ containerName:
+ nullable: true
+ type: string
+ divisor:
+ nullable: true
+ type: string
+ resource:
+ nullable: true
+ type: string
+ type: object
+ secretKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ type: object
+ nullable: true
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ prefix:
+ nullable: true
+ type: string
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ nullable: true
+ type: array
+ image:
+ nullable: true
+ type: string
+ imagePullPolicy:
+ nullable: true
+ type: string
+ lifecycle:
+ nullable: true
+ properties:
+ postStart:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ preStop:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ type: object
+ livenessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ name:
+ nullable: true
+ type: string
+ ports:
+ items:
+ properties:
+ containerPort:
+ type: integer
+ hostIP:
+ nullable: true
+ type: string
+ hostPort:
+ type: integer
+ name:
+ nullable: true
+ type: string
+ protocol:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ readinessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ requests:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ securityContext:
+ nullable: true
+ properties:
+ allowPrivilegeEscalation:
+ nullable: true
+ type: boolean
+ capabilities:
+ nullable: true
+ properties:
+ add:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ drop:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ privileged:
+ nullable: true
+ type: boolean
+ procMount:
+ nullable: true
+ type: string
+ readOnlyRootFilesystem:
+ nullable: true
+ type: boolean
+ runAsGroup:
+ nullable: true
+ type: integer
+ runAsNonRoot:
+ nullable: true
+ type: boolean
+ runAsUser:
+ nullable: true
+ type: integer
+ seLinuxOptions:
+ nullable: true
+ properties:
+ level:
+ nullable: true
+ type: string
+ role:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ user:
+ nullable: true
+ type: string
+ type: object
+ seccompProfile:
+ nullable: true
+ properties:
+ localhostProfile:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ windowsOptions:
+ nullable: true
+ properties:
+ gmsaCredentialSpec:
+ nullable: true
+ type: string
+ gmsaCredentialSpecName:
+ nullable: true
+ type: string
+ hostProcess:
+ nullable: true
+ type: boolean
+ runAsUserName:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ startupProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ stdin:
+ type: boolean
+ stdinOnce:
+ type: boolean
+ terminationMessagePath:
+ nullable: true
+ type: string
+ terminationMessagePolicy:
+ nullable: true
+ type: string
+ tty:
+ type: boolean
+ volumeDevices:
+ items:
+ properties:
+ devicePath:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ nullable: true
+ type: string
+ mountPropagation:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ nullable: true
+ type: string
+ subPathExpr:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ workingDir:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ dnsConfig:
+ nullable: true
+ properties:
+ nameservers:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ options:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ searches:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ dnsPolicy:
+ nullable: true
+ type: string
+ enableServiceLinks:
+ nullable: true
+ type: boolean
+ ephemeralContainers:
+ items:
+ properties:
+ args:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ env:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ valueFrom:
+ nullable: true
+ properties:
+ configMapKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ fieldRef:
+ nullable: true
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldPath:
+ nullable: true
+ type: string
+ type: object
+ resourceFieldRef:
+ nullable: true
+ properties:
+ containerName:
+ nullable: true
+ type: string
+ divisor:
+ nullable: true
+ type: string
+ resource:
+ nullable: true
+ type: string
+ type: object
+ secretKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ type: object
+ nullable: true
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ prefix:
+ nullable: true
+ type: string
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ nullable: true
+ type: array
+ image:
+ nullable: true
+ type: string
+ imagePullPolicy:
+ nullable: true
+ type: string
+ lifecycle:
+ nullable: true
+ properties:
+ postStart:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ preStop:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ type: object
+ livenessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ name:
+ nullable: true
+ type: string
+ ports:
+ items:
+ properties:
+ containerPort:
+ type: integer
+ hostIP:
+ nullable: true
+ type: string
+ hostPort:
+ type: integer
+ name:
+ nullable: true
+ type: string
+ protocol:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ readinessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ requests:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ securityContext:
+ nullable: true
+ properties:
+ allowPrivilegeEscalation:
+ nullable: true
+ type: boolean
+ capabilities:
+ nullable: true
+ properties:
+ add:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ drop:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ privileged:
+ nullable: true
+ type: boolean
+ procMount:
+ nullable: true
+ type: string
+ readOnlyRootFilesystem:
+ nullable: true
+ type: boolean
+ runAsGroup:
+ nullable: true
+ type: integer
+ runAsNonRoot:
+ nullable: true
+ type: boolean
+ runAsUser:
+ nullable: true
+ type: integer
+ seLinuxOptions:
+ nullable: true
+ properties:
+ level:
+ nullable: true
+ type: string
+ role:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ user:
+ nullable: true
+ type: string
+ type: object
+ seccompProfile:
+ nullable: true
+ properties:
+ localhostProfile:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ windowsOptions:
+ nullable: true
+ properties:
+ gmsaCredentialSpec:
+ nullable: true
+ type: string
+ gmsaCredentialSpecName:
+ nullable: true
+ type: string
+ hostProcess:
+ nullable: true
+ type: boolean
+ runAsUserName:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ startupProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ stdin:
+ type: boolean
+ stdinOnce:
+ type: boolean
+ targetContainerName:
+ nullable: true
+ type: string
+ terminationMessagePath:
+ nullable: true
+ type: string
+ terminationMessagePolicy:
+ nullable: true
+ type: string
+ tty:
+ type: boolean
+ volumeDevices:
+ items:
+ properties:
+ devicePath:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ nullable: true
+ type: string
+ mountPropagation:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ nullable: true
+ type: string
+ subPathExpr:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ workingDir:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ hostAliases:
+ items:
+ properties:
+ hostnames:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ ip:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ hostIPC:
+ type: boolean
+ hostNetwork:
+ type: boolean
+ hostPID:
+ type: boolean
+ hostname:
+ nullable: true
+ type: string
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ initContainers:
+ items:
+ properties:
+ args:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ env:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ valueFrom:
+ nullable: true
+ properties:
+ configMapKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ fieldRef:
+ nullable: true
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldPath:
+ nullable: true
+ type: string
+ type: object
+ resourceFieldRef:
+ nullable: true
+ properties:
+ containerName:
+ nullable: true
+ type: string
+ divisor:
+ nullable: true
+ type: string
+ resource:
+ nullable: true
+ type: string
+ type: object
+ secretKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ type: object
+ nullable: true
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ prefix:
+ nullable: true
+ type: string
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ nullable: true
+ type: array
+ image:
+ nullable: true
+ type: string
+ imagePullPolicy:
+ nullable: true
+ type: string
+ lifecycle:
+ nullable: true
+ properties:
+ postStart:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ preStop:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ type: object
+ livenessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ name:
+ nullable: true
+ type: string
+ ports:
+ items:
+ properties:
+ containerPort:
+ type: integer
+ hostIP:
+ nullable: true
+ type: string
+ hostPort:
+ type: integer
+ name:
+ nullable: true
+ type: string
+ protocol:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ readinessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ requests:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ securityContext:
+ nullable: true
+ properties:
+ allowPrivilegeEscalation:
+ nullable: true
+ type: boolean
+ capabilities:
+ nullable: true
+ properties:
+ add:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ drop:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ privileged:
+ nullable: true
+ type: boolean
+ procMount:
+ nullable: true
+ type: string
+ readOnlyRootFilesystem:
+ nullable: true
+ type: boolean
+ runAsGroup:
+ nullable: true
+ type: integer
+ runAsNonRoot:
+ nullable: true
+ type: boolean
+ runAsUser:
+ nullable: true
+ type: integer
+ seLinuxOptions:
+ nullable: true
+ properties:
+ level:
+ nullable: true
+ type: string
+ role:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ user:
+ nullable: true
+ type: string
+ type: object
+ seccompProfile:
+ nullable: true
+ properties:
+ localhostProfile:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ windowsOptions:
+ nullable: true
+ properties:
+ gmsaCredentialSpec:
+ nullable: true
+ type: string
+ gmsaCredentialSpecName:
+ nullable: true
+ type: string
+ hostProcess:
+ nullable: true
+ type: boolean
+ runAsUserName:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ startupProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ stdin:
+ type: boolean
+ stdinOnce:
+ type: boolean
+ terminationMessagePath:
+ nullable: true
+ type: string
+ terminationMessagePolicy:
+ nullable: true
+ type: string
+ tty:
+ type: boolean
+ volumeDevices:
+ items:
+ properties:
+ devicePath:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ nullable: true
+ type: string
+ mountPropagation:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ nullable: true
+ type: string
+ subPathExpr:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ workingDir:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ nodeName:
+ nullable: true
+ type: string
+ nodeSelector:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ os:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ overhead:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ preemptionPolicy:
+ nullable: true
+ type: string
+ priority:
+ nullable: true
+ type: integer
+ priorityClassName:
+ nullable: true
+ type: string
+ readinessGates:
+ items:
+ properties:
+ conditionType:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ restartPolicy:
+ nullable: true
+ type: string
+ runtimeClassName:
+ nullable: true
+ type: string
+ schedulerName:
+ nullable: true
+ type: string
+ securityContext:
+ nullable: true
+ properties:
+ fsGroup:
+ nullable: true
+ type: integer
+ fsGroupChangePolicy:
+ nullable: true
+ type: string
+ runAsGroup:
+ nullable: true
+ type: integer
+ runAsNonRoot:
+ nullable: true
+ type: boolean
+ runAsUser:
+ nullable: true
+ type: integer
+ seLinuxOptions:
+ nullable: true
+ properties:
+ level:
+ nullable: true
+ type: string
+ role:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ user:
+ nullable: true
+ type: string
+ type: object
+ seccompProfile:
+ nullable: true
+ properties:
+ localhostProfile:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ supplementalGroups:
+ items:
+ type: integer
+ nullable: true
+ type: array
+ sysctls:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ windowsOptions:
+ nullable: true
+ properties:
+ gmsaCredentialSpec:
+ nullable: true
+ type: string
+ gmsaCredentialSpecName:
+ nullable: true
+ type: string
+ hostProcess:
+ nullable: true
+ type: boolean
+ runAsUserName:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ serviceAccount:
+ nullable: true
+ type: string
+ serviceAccountName:
+ nullable: true
+ type: string
+ setHostnameAsFQDN:
+ nullable: true
+ type: boolean
+ shareProcessNamespace:
+ nullable: true
+ type: boolean
+ subdomain:
+ nullable: true
+ type: string
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ tolerations:
+ items:
+ properties:
+ effect:
+ nullable: true
+ type: string
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ tolerationSeconds:
+ nullable: true
+ type: integer
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ topologySpreadConstraints:
+ items:
+ properties:
+ labelSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ maxSkew:
+ type: integer
+ minDomains:
+ nullable: true
+ type: integer
+ topologyKey:
+ nullable: true
+ type: string
+ whenUnsatisfiable:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ volumes:
+ items:
+ properties:
+ awsElasticBlockStore:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ partition:
+ type: integer
+ readOnly:
+ type: boolean
+ volumeID:
+ nullable: true
+ type: string
+ type: object
+ azureDisk:
+ nullable: true
+ properties:
+ cachingMode:
+ nullable: true
+ type: string
+ diskName:
+ nullable: true
+ type: string
+ diskURI:
+ nullable: true
+ type: string
+ fsType:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ readOnly:
+ nullable: true
+ type: boolean
+ type: object
+ azureFile:
+ nullable: true
+ properties:
+ readOnly:
+ type: boolean
+ secretName:
+ nullable: true
+ type: string
+ shareName:
+ nullable: true
+ type: string
+ type: object
+ cephfs:
+ nullable: true
+ properties:
+ monitors:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ secretFile:
+ nullable: true
+ type: string
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ user:
+ nullable: true
+ type: string
+ type: object
+ cinder:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ volumeID:
+ nullable: true
+ type: string
+ type: object
+ configMap:
+ nullable: true
+ properties:
+ defaultMode:
+ nullable: true
+ type: integer
+ items:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ csi:
+ nullable: true
+ properties:
+ driver:
+ nullable: true
+ type: string
+ fsType:
+ nullable: true
+ type: string
+ nodePublishSecretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ readOnly:
+ nullable: true
+ type: boolean
+ volumeAttributes:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ downwardAPI:
+ nullable: true
+ properties:
+ defaultMode:
+ nullable: true
+ type: integer
+ items:
+ items:
+ properties:
+ fieldRef:
+ nullable: true
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldPath:
+ nullable: true
+ type: string
+ type: object
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ resourceFieldRef:
+ nullable: true
+ properties:
+ containerName:
+ nullable: true
+ type: string
+ divisor:
+ nullable: true
+ type: string
+ resource:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ type: object
+ emptyDir:
+ nullable: true
+ properties:
+ medium:
+ nullable: true
+ type: string
+ sizeLimit:
+ nullable: true
+ type: string
+ type: object
+ ephemeral:
+ nullable: true
+ properties:
+ volumeClaimTemplate:
+ nullable: true
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ clusterName:
+ nullable: true
+ type: string
+ creationTimestamp:
+ nullable: true
+ type: string
+ deletionGracePeriodSeconds:
+ nullable: true
+ type: integer
+ deletionTimestamp:
+ nullable: true
+ type: string
+ finalizers:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ generateName:
+ nullable: true
+ type: string
+ generation:
+ type: integer
+ labels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ managedFields:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldsType:
+ nullable: true
+ type: string
+ fieldsV1:
+ nullable: true
+ type: object
+ manager:
+ nullable: true
+ type: string
+ operation:
+ nullable: true
+ type: string
+ subresource:
+ nullable: true
+ type: string
+ time:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ ownerReferences:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ blockOwnerDeletion:
+ nullable: true
+ type: boolean
+ controller:
+ nullable: true
+ type: boolean
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ uid:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ resourceVersion:
+ nullable: true
+ type: string
+ selfLink:
+ nullable: true
+ type: string
+ uid:
+ nullable: true
+ type: string
+ type: object
+ spec:
+ properties:
+ accessModes:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ dataSource:
+ nullable: true
+ properties:
+ apiGroup:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ dataSourceRef:
+ nullable: true
+ properties:
+ apiGroup:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ requests:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ selector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ storageClassName:
+ nullable: true
+ type: string
+ volumeMode:
+ nullable: true
+ type: string
+ volumeName:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ type: object
+ fc:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ lun:
+ nullable: true
+ type: integer
+ readOnly:
+ type: boolean
+ targetWWNs:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ wwids:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ flexVolume:
+ nullable: true
+ properties:
+ driver:
+ nullable: true
+ type: string
+ fsType:
+ nullable: true
+ type: string
+ options:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ flocker:
+ nullable: true
+ properties:
+ datasetName:
+ nullable: true
+ type: string
+ datasetUUID:
+ nullable: true
+ type: string
+ type: object
+ gcePersistentDisk:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ partition:
+ type: integer
+ pdName:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ type: object
+ gitRepo:
+ nullable: true
+ properties:
+ directory:
+ nullable: true
+ type: string
+ repository:
+ nullable: true
+ type: string
+ revision:
+ nullable: true
+ type: string
+ type: object
+ glusterfs:
+ nullable: true
+ properties:
+ endpoints:
+ nullable: true
+ type: string
+ path:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ type: object
+ hostPath:
+ nullable: true
+ properties:
+ path:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ iscsi:
+ nullable: true
+ properties:
+ chapAuthDiscovery:
+ type: boolean
+ chapAuthSession:
+ type: boolean
+ fsType:
+ nullable: true
+ type: string
+ initiatorName:
+ nullable: true
+ type: string
+ iqn:
+ nullable: true
+ type: string
+ iscsiInterface:
+ nullable: true
+ type: string
+ lun:
+ type: integer
+ portals:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ targetPortal:
+ nullable: true
+ type: string
+ type: object
+ name:
+ nullable: true
+ type: string
+ nfs:
+ nullable: true
+ properties:
+ path:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ server:
+ nullable: true
+ type: string
+ type: object
+ persistentVolumeClaim:
+ nullable: true
+ properties:
+ claimName:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ type: object
+ photonPersistentDisk:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ pdID:
+ nullable: true
+ type: string
+ type: object
+ portworxVolume:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ volumeID:
+ nullable: true
+ type: string
+ type: object
+ projected:
+ nullable: true
+ properties:
+ defaultMode:
+ nullable: true
+ type: integer
+ sources:
+ items:
+ properties:
+ configMap:
+ nullable: true
+ properties:
+ items:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ downwardAPI:
+ nullable: true
+ properties:
+ items:
+ items:
+ properties:
+ fieldRef:
+ nullable: true
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldPath:
+ nullable: true
+ type: string
+ type: object
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ resourceFieldRef:
+ nullable: true
+ properties:
+ containerName:
+ nullable: true
+ type: string
+ divisor:
+ nullable: true
+ type: string
+ resource:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ type: object
+ secret:
+ nullable: true
+ properties:
+ items:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ serviceAccountToken:
+ nullable: true
+ properties:
+ audience:
+ nullable: true
+ type: string
+ expirationSeconds:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ type: object
+ quobyte:
+ nullable: true
+ properties:
+ group:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ registry:
+ nullable: true
+ type: string
+ tenant:
+ nullable: true
+ type: string
+ user:
+ nullable: true
+ type: string
+ volume:
+ nullable: true
+ type: string
+ type: object
+ rbd:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ image:
+ nullable: true
+ type: string
+ keyring:
+ nullable: true
+ type: string
+ monitors:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ pool:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ user:
+ nullable: true
+ type: string
+ type: object
+ scaleIO:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ gateway:
+ nullable: true
+ type: string
+ protectionDomain:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ sslEnabled:
+ type: boolean
+ storageMode:
+ nullable: true
+ type: string
+ storagePool:
+ nullable: true
+ type: string
+ system:
+ nullable: true
+ type: string
+ volumeName:
+ nullable: true
+ type: string
+ type: object
+ secret:
+ nullable: true
+ properties:
+ defaultMode:
+ nullable: true
+ type: integer
+ items:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ optional:
+ nullable: true
+ type: boolean
+ secretName:
+ nullable: true
+ type: string
+ type: object
+ storageos:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ volumeName:
+ nullable: true
+ type: string
+ volumeNamespace:
+ nullable: true
+ type: string
+ type: object
+ vsphereVolume:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ storagePolicyID:
+ nullable: true
+ type: string
+ storagePolicyName:
+ nullable: true
+ type: string
+ volumePath:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ type: object
+ type: object
+ ttlSecondsAfterFinished:
+ nullable: true
+ type: integer
+ type: object
+ syncInterval:
+ type: integer
+ type: object
+ status:
+ properties:
+ commit:
+ nullable: true
+ type: string
+ conditions:
+ items:
+ properties:
+ lastTransitionTime:
+ nullable: true
+ type: string
+ lastUpdateTime:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ reason:
+ nullable: true
+ type: string
+ status:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ event:
+ nullable: true
+ type: string
+ hookId:
+ nullable: true
+ type: string
+ jobStatus:
+ nullable: true
+ type: string
+ lastExecutedCommit:
+ nullable: true
+ type: string
+ lastSyncedTime:
+ nullable: true
+ type: string
+ observedGeneration:
+ type: integer
+ secretToken:
+ nullable: true
+ type: string
+ updateGeneration:
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+{{- else -}}
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+ name: gitjobs.gitjob.cattle.io
+spec:
+ additionalPrinterColumns:
+ - JSONPath: .spec.git.repo
+ name: REPO
+ type: string
+ - JSONPath: .spec.git.branch
+ name: BRANCH
+ type: string
+ - JSONPath: .status.commit
+ name: COMMIT
+ type: string
+ - JSONPath: .status.jobStatus
+ name: JOBSTATUS
+ type: string
+ - JSONPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ group: gitjob.cattle.io
+ names:
+ kind: GitJob
+ plural: gitjobs
+ singular: gitjob
+ preserveUnknownFields: false
+ scope: Namespaced
+ subresources:
+ status: {}
+ validation:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ forceUpdateGeneration:
+ type: integer
+ git:
+ properties:
+ branch:
+ nullable: true
+ type: string
+ caBundle:
+ nullable: true
+ type: string
+ clientSecretName:
+ nullable: true
+ type: string
+ insecureSkipTLSVerify:
+ type: boolean
+ onTag:
+ nullable: true
+ type: string
+ provider:
+ nullable: true
+ type: string
+ repo:
+ nullable: true
+ type: string
+ revision:
+ nullable: true
+ type: string
+ type: object
+ jobSpec:
+ properties:
+ activeDeadlineSeconds:
+ nullable: true
+ type: integer
+ backoffLimit:
+ nullable: true
+ type: integer
+ completionMode:
+ nullable: true
+ type: string
+ completions:
+ nullable: true
+ type: integer
+ manualSelector:
+ nullable: true
+ type: boolean
+ parallelism:
+ nullable: true
+ type: integer
+ selector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ suspend:
+ nullable: true
+ type: boolean
+ template:
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ clusterName:
+ nullable: true
+ type: string
+ creationTimestamp:
+ nullable: true
+ type: string
+ deletionGracePeriodSeconds:
+ nullable: true
+ type: integer
+ deletionTimestamp:
+ nullable: true
+ type: string
+ finalizers:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ generateName:
+ nullable: true
+ type: string
+ generation:
+ type: integer
+ labels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ managedFields:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldsType:
+ nullable: true
+ type: string
+ fieldsV1:
+ nullable: true
+ type: object
+ manager:
+ nullable: true
+ type: string
+ operation:
+ nullable: true
+ type: string
+ subresource:
+ nullable: true
+ type: string
+ time:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ ownerReferences:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ blockOwnerDeletion:
+ nullable: true
+ type: boolean
+ controller:
+ nullable: true
+ type: boolean
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ uid:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ resourceVersion:
+ nullable: true
+ type: string
+ selfLink:
+ nullable: true
+ type: string
+ uid:
+ nullable: true
+ type: string
+ type: object
+ spec:
+ properties:
+ activeDeadlineSeconds:
+ nullable: true
+ type: integer
+ affinity:
+ nullable: true
+ properties:
+ nodeAffinity:
+ nullable: true
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ preference:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ type: object
+ weight:
+ type: integer
+ type: object
+ nullable: true
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nullable: true
+ properties:
+ nodeSelectorTerms:
+ items:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ type: object
+ type: object
+ podAffinity:
+ nullable: true
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ podAffinityTerm:
+ properties:
+ labelSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaceSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaces:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ topologyKey:
+ nullable: true
+ type: string
+ type: object
+ weight:
+ type: integer
+ type: object
+ nullable: true
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaceSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaces:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ topologyKey:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ podAntiAffinity:
+ nullable: true
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ podAffinityTerm:
+ properties:
+ labelSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaceSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaces:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ topologyKey:
+ nullable: true
+ type: string
+ type: object
+ weight:
+ type: integer
+ type: object
+ nullable: true
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaceSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaces:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ topologyKey:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ type: object
+ type: object
+ automountServiceAccountToken:
+ nullable: true
+ type: boolean
+ containers:
+ items:
+ properties:
+ args:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ env:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ valueFrom:
+ nullable: true
+ properties:
+ configMapKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ fieldRef:
+ nullable: true
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldPath:
+ nullable: true
+ type: string
+ type: object
+ resourceFieldRef:
+ nullable: true
+ properties:
+ containerName:
+ nullable: true
+ type: string
+ divisor:
+ nullable: true
+ type: string
+ resource:
+ nullable: true
+ type: string
+ type: object
+ secretKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ type: object
+ nullable: true
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ prefix:
+ nullable: true
+ type: string
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ nullable: true
+ type: array
+ image:
+ nullable: true
+ type: string
+ imagePullPolicy:
+ nullable: true
+ type: string
+ lifecycle:
+ nullable: true
+ properties:
+ postStart:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ preStop:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ type: object
+ livenessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ name:
+ nullable: true
+ type: string
+ ports:
+ items:
+ properties:
+ containerPort:
+ type: integer
+ hostIP:
+ nullable: true
+ type: string
+ hostPort:
+ type: integer
+ name:
+ nullable: true
+ type: string
+ protocol:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ readinessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ requests:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ securityContext:
+ nullable: true
+ properties:
+ allowPrivilegeEscalation:
+ nullable: true
+ type: boolean
+ capabilities:
+ nullable: true
+ properties:
+ add:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ drop:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ privileged:
+ nullable: true
+ type: boolean
+ procMount:
+ nullable: true
+ type: string
+ readOnlyRootFilesystem:
+ nullable: true
+ type: boolean
+ runAsGroup:
+ nullable: true
+ type: integer
+ runAsNonRoot:
+ nullable: true
+ type: boolean
+ runAsUser:
+ nullable: true
+ type: integer
+ seLinuxOptions:
+ nullable: true
+ properties:
+ level:
+ nullable: true
+ type: string
+ role:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ user:
+ nullable: true
+ type: string
+ type: object
+ seccompProfile:
+ nullable: true
+ properties:
+ localhostProfile:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ windowsOptions:
+ nullable: true
+ properties:
+ gmsaCredentialSpec:
+ nullable: true
+ type: string
+ gmsaCredentialSpecName:
+ nullable: true
+ type: string
+ hostProcess:
+ nullable: true
+ type: boolean
+ runAsUserName:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ startupProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ stdin:
+ type: boolean
+ stdinOnce:
+ type: boolean
+ terminationMessagePath:
+ nullable: true
+ type: string
+ terminationMessagePolicy:
+ nullable: true
+ type: string
+ tty:
+ type: boolean
+ volumeDevices:
+ items:
+ properties:
+ devicePath:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ nullable: true
+ type: string
+ mountPropagation:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ nullable: true
+ type: string
+ subPathExpr:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ workingDir:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ dnsConfig:
+ nullable: true
+ properties:
+ nameservers:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ options:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ searches:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ dnsPolicy:
+ nullable: true
+ type: string
+ enableServiceLinks:
+ nullable: true
+ type: boolean
+ ephemeralContainers:
+ items:
+ properties:
+ args:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ env:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ valueFrom:
+ nullable: true
+ properties:
+ configMapKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ fieldRef:
+ nullable: true
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldPath:
+ nullable: true
+ type: string
+ type: object
+ resourceFieldRef:
+ nullable: true
+ properties:
+ containerName:
+ nullable: true
+ type: string
+ divisor:
+ nullable: true
+ type: string
+ resource:
+ nullable: true
+ type: string
+ type: object
+ secretKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ type: object
+ nullable: true
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ prefix:
+ nullable: true
+ type: string
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ nullable: true
+ type: array
+ image:
+ nullable: true
+ type: string
+ imagePullPolicy:
+ nullable: true
+ type: string
+ lifecycle:
+ nullable: true
+ properties:
+ postStart:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ preStop:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ type: object
+ livenessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ name:
+ nullable: true
+ type: string
+ ports:
+ items:
+ properties:
+ containerPort:
+ type: integer
+ hostIP:
+ nullable: true
+ type: string
+ hostPort:
+ type: integer
+ name:
+ nullable: true
+ type: string
+ protocol:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ readinessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ requests:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ securityContext:
+ nullable: true
+ properties:
+ allowPrivilegeEscalation:
+ nullable: true
+ type: boolean
+ capabilities:
+ nullable: true
+ properties:
+ add:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ drop:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ privileged:
+ nullable: true
+ type: boolean
+ procMount:
+ nullable: true
+ type: string
+ readOnlyRootFilesystem:
+ nullable: true
+ type: boolean
+ runAsGroup:
+ nullable: true
+ type: integer
+ runAsNonRoot:
+ nullable: true
+ type: boolean
+ runAsUser:
+ nullable: true
+ type: integer
+ seLinuxOptions:
+ nullable: true
+ properties:
+ level:
+ nullable: true
+ type: string
+ role:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ user:
+ nullable: true
+ type: string
+ type: object
+ seccompProfile:
+ nullable: true
+ properties:
+ localhostProfile:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ windowsOptions:
+ nullable: true
+ properties:
+ gmsaCredentialSpec:
+ nullable: true
+ type: string
+ gmsaCredentialSpecName:
+ nullable: true
+ type: string
+ hostProcess:
+ nullable: true
+ type: boolean
+ runAsUserName:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ startupProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ stdin:
+ type: boolean
+ stdinOnce:
+ type: boolean
+ targetContainerName:
+ nullable: true
+ type: string
+ terminationMessagePath:
+ nullable: true
+ type: string
+ terminationMessagePolicy:
+ nullable: true
+ type: string
+ tty:
+ type: boolean
+ volumeDevices:
+ items:
+ properties:
+ devicePath:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ nullable: true
+ type: string
+ mountPropagation:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ nullable: true
+ type: string
+ subPathExpr:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ workingDir:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ hostAliases:
+ items:
+ properties:
+ hostnames:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ ip:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ hostIPC:
+ type: boolean
+ hostNetwork:
+ type: boolean
+ hostPID:
+ type: boolean
+ hostname:
+ nullable: true
+ type: string
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ initContainers:
+ items:
+ properties:
+ args:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ env:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ valueFrom:
+ nullable: true
+ properties:
+ configMapKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ fieldRef:
+ nullable: true
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldPath:
+ nullable: true
+ type: string
+ type: object
+ resourceFieldRef:
+ nullable: true
+ properties:
+ containerName:
+ nullable: true
+ type: string
+ divisor:
+ nullable: true
+ type: string
+ resource:
+ nullable: true
+ type: string
+ type: object
+ secretKeyRef:
+ nullable: true
+ properties:
+ key:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ type: object
+ nullable: true
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ prefix:
+ nullable: true
+ type: string
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ nullable: true
+ type: array
+ image:
+ nullable: true
+ type: string
+ imagePullPolicy:
+ nullable: true
+ type: string
+ lifecycle:
+ nullable: true
+ properties:
+ postStart:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ preStop:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ type: object
+ livenessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ name:
+ nullable: true
+ type: string
+ ports:
+ items:
+ properties:
+ containerPort:
+ type: integer
+ hostIP:
+ nullable: true
+ type: string
+ hostPort:
+ type: integer
+ name:
+ nullable: true
+ type: string
+ protocol:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ readinessProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ requests:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ securityContext:
+ nullable: true
+ properties:
+ allowPrivilegeEscalation:
+ nullable: true
+ type: boolean
+ capabilities:
+ nullable: true
+ properties:
+ add:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ drop:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ privileged:
+ nullable: true
+ type: boolean
+ procMount:
+ nullable: true
+ type: string
+ readOnlyRootFilesystem:
+ nullable: true
+ type: boolean
+ runAsGroup:
+ nullable: true
+ type: integer
+ runAsNonRoot:
+ nullable: true
+ type: boolean
+ runAsUser:
+ nullable: true
+ type: integer
+ seLinuxOptions:
+ nullable: true
+ properties:
+ level:
+ nullable: true
+ type: string
+ role:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ user:
+ nullable: true
+ type: string
+ type: object
+ seccompProfile:
+ nullable: true
+ properties:
+ localhostProfile:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ windowsOptions:
+ nullable: true
+ properties:
+ gmsaCredentialSpec:
+ nullable: true
+ type: string
+ gmsaCredentialSpecName:
+ nullable: true
+ type: string
+ hostProcess:
+ nullable: true
+ type: boolean
+ runAsUserName:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ startupProbe:
+ nullable: true
+ properties:
+ exec:
+ nullable: true
+ properties:
+ command:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ nullable: true
+ properties:
+ port:
+ type: integer
+ service:
+ nullable: true
+ type: string
+ type: object
+ httpGet:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ scheme:
+ nullable: true
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ nullable: true
+ properties:
+ host:
+ nullable: true
+ type: string
+ port:
+ nullable: true
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ stdin:
+ type: boolean
+ stdinOnce:
+ type: boolean
+ terminationMessagePath:
+ nullable: true
+ type: string
+ terminationMessagePolicy:
+ nullable: true
+ type: string
+ tty:
+ type: boolean
+ volumeDevices:
+ items:
+ properties:
+ devicePath:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ nullable: true
+ type: string
+ mountPropagation:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ nullable: true
+ type: string
+ subPathExpr:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ workingDir:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ nodeName:
+ nullable: true
+ type: string
+ nodeSelector:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ os:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ overhead:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ preemptionPolicy:
+ nullable: true
+ type: string
+ priority:
+ nullable: true
+ type: integer
+ priorityClassName:
+ nullable: true
+ type: string
+ readinessGates:
+ items:
+ properties:
+ conditionType:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ restartPolicy:
+ nullable: true
+ type: string
+ runtimeClassName:
+ nullable: true
+ type: string
+ schedulerName:
+ nullable: true
+ type: string
+ securityContext:
+ nullable: true
+ properties:
+ fsGroup:
+ nullable: true
+ type: integer
+ fsGroupChangePolicy:
+ nullable: true
+ type: string
+ runAsGroup:
+ nullable: true
+ type: integer
+ runAsNonRoot:
+ nullable: true
+ type: boolean
+ runAsUser:
+ nullable: true
+ type: integer
+ seLinuxOptions:
+ nullable: true
+ properties:
+ level:
+ nullable: true
+ type: string
+ role:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ user:
+ nullable: true
+ type: string
+ type: object
+ seccompProfile:
+ nullable: true
+ properties:
+ localhostProfile:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ supplementalGroups:
+ items:
+ type: integer
+ nullable: true
+ type: array
+ sysctls:
+ items:
+ properties:
+ name:
+ nullable: true
+ type: string
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ windowsOptions:
+ nullable: true
+ properties:
+ gmsaCredentialSpec:
+ nullable: true
+ type: string
+ gmsaCredentialSpecName:
+ nullable: true
+ type: string
+ hostProcess:
+ nullable: true
+ type: boolean
+ runAsUserName:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ serviceAccount:
+ nullable: true
+ type: string
+ serviceAccountName:
+ nullable: true
+ type: string
+ setHostnameAsFQDN:
+ nullable: true
+ type: boolean
+ shareProcessNamespace:
+ nullable: true
+ type: boolean
+ subdomain:
+ nullable: true
+ type: string
+ terminationGracePeriodSeconds:
+ nullable: true
+ type: integer
+ tolerations:
+ items:
+ properties:
+ effect:
+ nullable: true
+ type: string
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ tolerationSeconds:
+ nullable: true
+ type: integer
+ value:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ topologySpreadConstraints:
+ items:
+ properties:
+ labelSelector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ maxSkew:
+ type: integer
+ minDomains:
+ nullable: true
+ type: integer
+ topologyKey:
+ nullable: true
+ type: string
+ whenUnsatisfiable:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ volumes:
+ items:
+ properties:
+ awsElasticBlockStore:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ partition:
+ type: integer
+ readOnly:
+ type: boolean
+ volumeID:
+ nullable: true
+ type: string
+ type: object
+ azureDisk:
+ nullable: true
+ properties:
+ cachingMode:
+ nullable: true
+ type: string
+ diskName:
+ nullable: true
+ type: string
+ diskURI:
+ nullable: true
+ type: string
+ fsType:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ readOnly:
+ nullable: true
+ type: boolean
+ type: object
+ azureFile:
+ nullable: true
+ properties:
+ readOnly:
+ type: boolean
+ secretName:
+ nullable: true
+ type: string
+ shareName:
+ nullable: true
+ type: string
+ type: object
+ cephfs:
+ nullable: true
+ properties:
+ monitors:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ path:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ secretFile:
+ nullable: true
+ type: string
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ user:
+ nullable: true
+ type: string
+ type: object
+ cinder:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ volumeID:
+ nullable: true
+ type: string
+ type: object
+ configMap:
+ nullable: true
+ properties:
+ defaultMode:
+ nullable: true
+ type: integer
+ items:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ csi:
+ nullable: true
+ properties:
+ driver:
+ nullable: true
+ type: string
+ fsType:
+ nullable: true
+ type: string
+ nodePublishSecretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ readOnly:
+ nullable: true
+ type: boolean
+ volumeAttributes:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ downwardAPI:
+ nullable: true
+ properties:
+ defaultMode:
+ nullable: true
+ type: integer
+ items:
+ items:
+ properties:
+ fieldRef:
+ nullable: true
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldPath:
+ nullable: true
+ type: string
+ type: object
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ resourceFieldRef:
+ nullable: true
+ properties:
+ containerName:
+ nullable: true
+ type: string
+ divisor:
+ nullable: true
+ type: string
+ resource:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ type: object
+ emptyDir:
+ nullable: true
+ properties:
+ medium:
+ nullable: true
+ type: string
+ sizeLimit:
+ nullable: true
+ type: string
+ type: object
+ ephemeral:
+ nullable: true
+ properties:
+ volumeClaimTemplate:
+ nullable: true
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ clusterName:
+ nullable: true
+ type: string
+ creationTimestamp:
+ nullable: true
+ type: string
+ deletionGracePeriodSeconds:
+ nullable: true
+ type: integer
+ deletionTimestamp:
+ nullable: true
+ type: string
+ finalizers:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ generateName:
+ nullable: true
+ type: string
+ generation:
+ type: integer
+ labels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ managedFields:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldsType:
+ nullable: true
+ type: string
+ fieldsV1:
+ nullable: true
+ type: object
+ manager:
+ nullable: true
+ type: string
+ operation:
+ nullable: true
+ type: string
+ subresource:
+ nullable: true
+ type: string
+ time:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ ownerReferences:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ blockOwnerDeletion:
+ nullable: true
+ type: boolean
+ controller:
+ nullable: true
+ type: boolean
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ uid:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ resourceVersion:
+ nullable: true
+ type: string
+ selfLink:
+ nullable: true
+ type: string
+ uid:
+ nullable: true
+ type: string
+ type: object
+ spec:
+ properties:
+ accessModes:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ dataSource:
+ nullable: true
+ properties:
+ apiGroup:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ dataSourceRef:
+ nullable: true
+ properties:
+ apiGroup:
+ nullable: true
+ type: string
+ kind:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ requests:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ selector:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ storageClassName:
+ nullable: true
+ type: string
+ volumeMode:
+ nullable: true
+ type: string
+ volumeName:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ type: object
+ fc:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ lun:
+ nullable: true
+ type: integer
+ readOnly:
+ type: boolean
+ targetWWNs:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ wwids:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ flexVolume:
+ nullable: true
+ properties:
+ driver:
+ nullable: true
+ type: string
+ fsType:
+ nullable: true
+ type: string
+ options:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ flocker:
+ nullable: true
+ properties:
+ datasetName:
+ nullable: true
+ type: string
+ datasetUUID:
+ nullable: true
+ type: string
+ type: object
+ gcePersistentDisk:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ partition:
+ type: integer
+ pdName:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ type: object
+ gitRepo:
+ nullable: true
+ properties:
+ directory:
+ nullable: true
+ type: string
+ repository:
+ nullable: true
+ type: string
+ revision:
+ nullable: true
+ type: string
+ type: object
+ glusterfs:
+ nullable: true
+ properties:
+ endpoints:
+ nullable: true
+ type: string
+ path:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ type: object
+ hostPath:
+ nullable: true
+ properties:
+ path:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ iscsi:
+ nullable: true
+ properties:
+ chapAuthDiscovery:
+ type: boolean
+ chapAuthSession:
+ type: boolean
+ fsType:
+ nullable: true
+ type: string
+ initiatorName:
+ nullable: true
+ type: string
+ iqn:
+ nullable: true
+ type: string
+ iscsiInterface:
+ nullable: true
+ type: string
+ lun:
+ type: integer
+ portals:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ targetPortal:
+ nullable: true
+ type: string
+ type: object
+ name:
+ nullable: true
+ type: string
+ nfs:
+ nullable: true
+ properties:
+ path:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ server:
+ nullable: true
+ type: string
+ type: object
+ persistentVolumeClaim:
+ nullable: true
+ properties:
+ claimName:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ type: object
+ photonPersistentDisk:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ pdID:
+ nullable: true
+ type: string
+ type: object
+ portworxVolume:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ volumeID:
+ nullable: true
+ type: string
+ type: object
+ projected:
+ nullable: true
+ properties:
+ defaultMode:
+ nullable: true
+ type: integer
+ sources:
+ items:
+ properties:
+ configMap:
+ nullable: true
+ properties:
+ items:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ downwardAPI:
+ nullable: true
+ properties:
+ items:
+ items:
+ properties:
+ fieldRef:
+ nullable: true
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ fieldPath:
+ nullable: true
+ type: string
+ type: object
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ resourceFieldRef:
+ nullable: true
+ properties:
+ containerName:
+ nullable: true
+ type: string
+ divisor:
+ nullable: true
+ type: string
+ resource:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ type: object
+ secret:
+ nullable: true
+ properties:
+ items:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ name:
+ nullable: true
+ type: string
+ optional:
+ nullable: true
+ type: boolean
+ type: object
+ serviceAccountToken:
+ nullable: true
+ properties:
+ audience:
+ nullable: true
+ type: string
+ expirationSeconds:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ type: object
+ quobyte:
+ nullable: true
+ properties:
+ group:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ registry:
+ nullable: true
+ type: string
+ tenant:
+ nullable: true
+ type: string
+ user:
+ nullable: true
+ type: string
+ volume:
+ nullable: true
+ type: string
+ type: object
+ rbd:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ image:
+ nullable: true
+ type: string
+ keyring:
+ nullable: true
+ type: string
+ monitors:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ pool:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ user:
+ nullable: true
+ type: string
+ type: object
+ scaleIO:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ gateway:
+ nullable: true
+ type: string
+ protectionDomain:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ sslEnabled:
+ type: boolean
+ storageMode:
+ nullable: true
+ type: string
+ storagePool:
+ nullable: true
+ type: string
+ system:
+ nullable: true
+ type: string
+ volumeName:
+ nullable: true
+ type: string
+ type: object
+ secret:
+ nullable: true
+ properties:
+ defaultMode:
+ nullable: true
+ type: integer
+ items:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ mode:
+ nullable: true
+ type: integer
+ path:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ optional:
+ nullable: true
+ type: boolean
+ secretName:
+ nullable: true
+ type: string
+ type: object
+ storageos:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ nullable: true
+ properties:
+ name:
+ nullable: true
+ type: string
+ type: object
+ volumeName:
+ nullable: true
+ type: string
+ volumeNamespace:
+ nullable: true
+ type: string
+ type: object
+ vsphereVolume:
+ nullable: true
+ properties:
+ fsType:
+ nullable: true
+ type: string
+ storagePolicyID:
+ nullable: true
+ type: string
+ storagePolicyName:
+ nullable: true
+ type: string
+ volumePath:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ nullable: true
+ type: array
+ type: object
+ type: object
+ ttlSecondsAfterFinished:
+ nullable: true
+ type: integer
+ type: object
+ syncInterval:
+ type: integer
+ type: object
+ status:
+ properties:
+ commit:
+ nullable: true
+ type: string
+ conditions:
+ items:
+ properties:
+ lastTransitionTime:
+ nullable: true
+ type: string
+ lastUpdateTime:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ reason:
+ nullable: true
+ type: string
+ status:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ event:
+ nullable: true
+ type: string
+ hookId:
+ nullable: true
+ type: string
+ jobStatus:
+ nullable: true
+ type: string
+ lastExecutedCommit:
+ nullable: true
+ type: string
+ lastSyncedTime:
+ nullable: true
+ type: string
+ observedGeneration:
+ type: integer
+ secretToken:
+ nullable: true
+ type: string
+ updateGeneration:
+ type: integer
+ type: object
+ type: object
+ version: v1
+ versions:
+ - name: v1
+ served: true
+ storage: true
+{{- end -}}
diff --git a/charts/fleet-crd/100.2.3+up0.5.3/values.yaml b/charts/fleet-crd/100.2.3+up0.5.3/values.yaml
new file mode 100644
index 000000000..d41d3a244
--- /dev/null
+++ b/charts/fleet-crd/100.2.3+up0.5.3/values.yaml
@@ -0,0 +1 @@
+# This file is intentionally empty
diff --git a/charts/fleet/100.2.3+up0.5.3/Chart.yaml b/charts/fleet/100.2.3+up0.5.3/Chart.yaml
new file mode 100644
index 000000000..9d20759ee
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/Chart.yaml
@@ -0,0 +1,22 @@
+annotations:
+ catalog.cattle.io/auto-install: fleet-crd=match
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/experimental: "true"
+ catalog.cattle.io/hidden: "true"
+ catalog.cattle.io/kube-version: '>= 1.16.0-0 < 1.25.0-0'
+ catalog.cattle.io/namespace: cattle-fleet-system
+ catalog.cattle.io/os: linux
+ catalog.cattle.io/permits-os: linux,windows
+ catalog.cattle.io/provides-gvr: clusters.fleet.cattle.io/v1alpha1
+ catalog.cattle.io/rancher-version: '>= 2.6.0-0 < 2.7.0-0'
+ catalog.cattle.io/release-name: fleet
+apiVersion: v2
+appVersion: 0.5.3
+dependencies:
+- condition: gitops.enabled
+ name: gitjob
+ repository: file://./charts/gitjob
+description: Fleet Manager - GitOps at Scale
+icon: https://charts.rancher.io/assets/logos/fleet.svg
+name: fleet
+version: 100.2.3+up0.5.3
diff --git a/charts/fleet/100.2.3+up0.5.3/charts/gitjob/.helmignore b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/.helmignore
new file mode 100644
index 000000000..691fa13d6
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/.helmignore
@@ -0,0 +1,23 @@
+# 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
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
\ No newline at end of file
diff --git a/charts/fleet/100.2.3+up0.5.3/charts/gitjob/Chart.yaml b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/Chart.yaml
new file mode 100644
index 000000000..5fb993ef1
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/Chart.yaml
@@ -0,0 +1,5 @@
+apiVersion: v2
+appVersion: 0.1.32
+description: Controller that run jobs based on git events
+name: gitjob
+version: 0.1.32
diff --git a/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/_helpers.tpl b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/_helpers.tpl
new file mode 100644
index 000000000..6cd96c3ac
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/_helpers.tpl
@@ -0,0 +1,22 @@
+{{- define "system_default_registry" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
+{{- else -}}
+{{- "" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Windows cluster will add default taint for linux nodes,
+add below linux tolerations to workloads could be scheduled to those linux nodes
+*/}}
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+kubernetes.io/os: linux
+{{- end -}}
\ No newline at end of file
diff --git a/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/clusterrole.yaml b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/clusterrole.yaml
new file mode 100644
index 000000000..bcad90164
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/clusterrole.yaml
@@ -0,0 +1,38 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: gitjob
+rules:
+ - apiGroups:
+ - "batch"
+ resources:
+ - 'jobs'
+ verbs:
+ - '*'
+ - apiGroups:
+ - ""
+ resources:
+ - 'pods'
+ verbs:
+ - 'list'
+ - 'get'
+ - 'watch'
+ - apiGroups:
+ - ""
+ resources:
+ - 'secrets'
+ verbs:
+ - '*'
+ - apiGroups:
+ - ""
+ resources:
+ - 'configmaps'
+ verbs:
+ - '*'
+ - apiGroups:
+ - "gitjob.cattle.io"
+ resources:
+ - "gitjobs"
+ - "gitjobs/status"
+ verbs:
+ - "*"
\ No newline at end of file
diff --git a/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/clusterrolebinding.yaml b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/clusterrolebinding.yaml
new file mode 100644
index 000000000..0bf07c4ef
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/clusterrolebinding.yaml
@@ -0,0 +1,12 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: gitjob-binding
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: gitjob
+subjects:
+ - kind: ServiceAccount
+ name: gitjob
+ namespace: {{ .Release.Namespace }}
\ No newline at end of file
diff --git a/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/deployment.yaml b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/deployment.yaml
new file mode 100644
index 000000000..6bb300158
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/deployment.yaml
@@ -0,0 +1,48 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: gitjob
+spec:
+ selector:
+ matchLabels:
+ app: "gitjob"
+ template:
+ metadata:
+ labels:
+ app: "gitjob"
+ spec:
+ serviceAccountName: gitjob
+ containers:
+ - image: "{{ template "system_default_registry" . }}{{ .Values.gitjob.repository }}:{{ .Values.gitjob.tag }}"
+ name: gitjob
+ command:
+ - gitjob
+ {{- if .Values.debug }}
+ - --debug
+ {{- end }}
+ - --tekton-image
+ - "{{ template "system_default_registry" . }}{{ .Values.tekton.repository }}:{{ .Values.tekton.tag }}"
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ {{- if .Values.proxy }}
+ - name: HTTP_PROXY
+ value: {{ .Values.proxy }}
+ - name: HTTPS_PROXY
+ value: {{ .Values.proxy }}
+ - name: NO_PROXY
+ value: {{ .Values.noProxy }}
+ {{- end }}
+ nodeSelector: {{ include "linux-node-selector" . | nindent 8 }}
+{{- if .Values.nodeSelector }}
+{{ toYaml .Values.nodeSelector | indent 8 }}
+{{- end }}
+ tolerations: {{ include "linux-node-tolerations" . | nindent 8 }}
+{{- if .Values.tolerations }}
+{{ toYaml .Values.tolerations | indent 8 }}
+{{- end }}
+ {{- if .Values.priorityClassName }}
+ priorityClassName: "{{.Values.priorityClassName}}"
+ {{- end }}
diff --git a/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/leases.yaml b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/leases.yaml
new file mode 100644
index 000000000..51f933950
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/leases.yaml
@@ -0,0 +1,23 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: gitjob
+rules:
+ - apiGroups:
+ - "coordination.k8s.io"
+ resources:
+ - "leases"
+ verbs:
+ - "*"
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: gitjob
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: gitjob
+subjects:
+ - kind: ServiceAccount
+ name: gitjob
diff --git a/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/service.yaml b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/service.yaml
new file mode 100644
index 000000000..bf57c1b55
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/service.yaml
@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: gitjob
+spec:
+ ports:
+ - name: http-80
+ port: 80
+ protocol: TCP
+ targetPort: 8080
+ selector:
+ app: "gitjob"
\ No newline at end of file
diff --git a/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/serviceaccount.yaml b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/serviceaccount.yaml
new file mode 100644
index 000000000..5f8aecb04
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/templates/serviceaccount.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: gitjob
diff --git a/charts/fleet/100.2.3+up0.5.3/charts/gitjob/values.yaml b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/values.yaml
new file mode 100644
index 000000000..3d3bca4cc
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/charts/gitjob/values.yaml
@@ -0,0 +1,29 @@
+gitjob:
+ repository: rancher/gitjob
+ tag: v0.1.32
+
+tekton:
+ repository: rancher/tekton-utils
+ tag: v0.1.7
+
+global:
+ cattle:
+ systemDefaultRegistry: ""
+
+# http[s] proxy server
+# proxy: http://@::
+
+# comma separated list of domains or ip addresses that will not use the proxy
+noProxy: 127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
+
+## Node labels for pod assignment
+## Ref: https://kubernetes.io/docs/user-guide/node-selection/
+##
+nodeSelector: {}
+## List of node taints to tolerate (requires Kubernetes >= 1.6)
+tolerations: []
+
+## PriorityClassName assigned to deployment.
+priorityClassName: ""
+
+debug: false
diff --git a/charts/fleet/100.2.3+up0.5.3/templates/_helpers.tpl b/charts/fleet/100.2.3+up0.5.3/templates/_helpers.tpl
new file mode 100644
index 000000000..6cd96c3ac
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/templates/_helpers.tpl
@@ -0,0 +1,22 @@
+{{- define "system_default_registry" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
+{{- else -}}
+{{- "" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Windows cluster will add default taint for linux nodes,
+add below linux tolerations to workloads could be scheduled to those linux nodes
+*/}}
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+kubernetes.io/os: linux
+{{- end -}}
\ No newline at end of file
diff --git a/charts/fleet/100.2.3+up0.5.3/templates/configmap.yaml b/charts/fleet/100.2.3+up0.5.3/templates/configmap.yaml
new file mode 100644
index 000000000..07f1b5924
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/templates/configmap.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: fleet-controller
+data:
+ config: |
+ {
+ "systemDefaultRegistry": "{{ template "system_default_registry" . }}",
+ "agentImage": "{{ template "system_default_registry" . }}{{.Values.agentImage.repository}}:{{.Values.agentImage.tag}}",
+ "agentImagePullPolicy": "{{ .Values.agentImage.imagePullPolicy }}",
+ "apiServerURL": "{{.Values.apiServerURL}}",
+ "apiServerCA": "{{b64enc .Values.apiServerCA}}",
+ "agentCheckinInterval": "{{.Values.agentCheckinInterval}}",
+ "ignoreClusterRegistrationLabels": {{.Values.ignoreClusterRegistrationLabels}},
+ "bootstrap": {
+ "paths": "{{.Values.bootstrap.paths}}",
+ "repo": "{{.Values.bootstrap.repo}}",
+ "secret": "{{.Values.bootstrap.secret}}",
+ "branch": "{{.Values.bootstrap.branch}}",
+ "namespace": "{{.Values.bootstrap.namespace}}",
+ "agentNamespace": "{{.Values.bootstrap.agentNamespace}}",
+ },
+ "webhookReceiverURL": "{{.Values.webhookReceiverURL}}",
+ "githubURLPrefix": "{{.Values.githubURLPrefix}}"
+ }
diff --git a/charts/fleet/100.2.3+up0.5.3/templates/deployment.yaml b/charts/fleet/100.2.3+up0.5.3/templates/deployment.yaml
new file mode 100644
index 000000000..a9122f5b4
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/templates/deployment.yaml
@@ -0,0 +1,69 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: fleet-controller
+spec:
+ selector:
+ matchLabels:
+ app: fleet-controller
+ template:
+ metadata:
+ labels:
+ app: fleet-controller
+ spec:
+ containers:
+ - env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ {{- if .Values.proxy }}
+ - name: HTTP_PROXY
+ value: {{ .Values.proxy }}
+ - name: HTTPS_PROXY
+ value: {{ .Values.proxy }}
+ - name: NO_PROXY
+ value: {{ .Values.noProxy }}
+ {{- end }}
+ image: '{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}'
+ name: fleet-controller
+ imagePullPolicy: "{{ .Values.image.imagePullPolicy }}"
+ command:
+ - fleetcontroller
+ {{- if not .Values.gitops.enabled }}
+ - --disable-gitops
+ {{- end }}
+ {{- if .Values.debug }}
+ - --debug
+ - --debug-level
+ - {{ quote .Values.debugLevel }}
+ {{- else }}
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ {{- end }}
+ volumeMounts:
+ - mountPath: /tmp
+ name: tmp
+ volumes:
+ - name: tmp
+ emptyDir: {}
+ serviceAccountName: fleet-controller
+ nodeSelector: {{ include "linux-node-selector" . | nindent 8 }}
+{{- if .Values.nodeSelector }}
+{{ toYaml .Values.nodeSelector | indent 8 }}
+{{- end }}
+ tolerations: {{ include "linux-node-tolerations" . | nindent 8 }}
+{{- if .Values.tolerations }}
+{{ toYaml .Values.tolerations | indent 8 }}
+{{- end }}
+ {{- if .Values.priorityClassName }}
+ priorityClassName: "{{.Values.priorityClassName}}"
+ {{- end }}
+
+{{- if not .Values.debug }}
+ securityContext:
+ runAsNonRoot: true
+ runAsUser: 1000
+ runAsGroup: 1000
+{{- end }}
diff --git a/charts/fleet/100.2.3+up0.5.3/templates/rbac.yaml b/charts/fleet/100.2.3+up0.5.3/templates/rbac.yaml
new file mode 100644
index 000000000..d9f9c4a1f
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/templates/rbac.yaml
@@ -0,0 +1,112 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: fleet-controller
+rules:
+- apiGroups:
+ - gitjob.cattle.io
+ resources:
+ - '*'
+ verbs:
+ - '*'
+- apiGroups:
+ - fleet.cattle.io
+ resources:
+ - '*'
+ verbs:
+ - '*'
+- apiGroups:
+ - ""
+ resources:
+ - namespaces
+ - serviceaccounts
+ verbs:
+ - '*'
+- apiGroups:
+ - ""
+ resources:
+ - secrets
+ - configmaps
+ verbs:
+ - '*'
+- apiGroups:
+ - rbac.authorization.k8s.io
+ resources:
+ - clusterroles
+ - clusterrolebindings
+ - roles
+ - rolebindings
+ verbs:
+ - '*'
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: fleet-controller
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: fleet-controller
+subjects:
+- kind: ServiceAccount
+ name: fleet-controller
+ namespace: {{.Release.Namespace}}
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: fleet-controller
+rules:
+- apiGroups:
+ - ""
+ resources:
+ - configmaps
+ verbs:
+ - '*'
+- apiGroups:
+ - coordination.k8s.io
+ resources:
+ - leases
+ verbs:
+ - '*'
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: fleet-controller
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: fleet-controller
+subjects:
+- kind: ServiceAccount
+ name: fleet-controller
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: fleet-controller-bootstrap
+rules:
+- apiGroups:
+ - '*'
+ resources:
+ - '*'
+ verbs:
+ - '*'
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: fleet-controller-bootstrap
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: fleet-controller-bootstrap
+subjects:
+- kind: ServiceAccount
+ name: fleet-controller-bootstrap
+ namespace: {{.Release.Namespace}}
diff --git a/charts/fleet/100.2.3+up0.5.3/templates/serviceaccount.yaml b/charts/fleet/100.2.3+up0.5.3/templates/serviceaccount.yaml
new file mode 100644
index 000000000..bd99d9958
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/templates/serviceaccount.yaml
@@ -0,0 +1,10 @@
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: fleet-controller
+
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: fleet-controller-bootstrap
diff --git a/charts/fleet/100.2.3+up0.5.3/values.yaml b/charts/fleet/100.2.3+up0.5.3/values.yaml
new file mode 100644
index 000000000..aee0c81e9
--- /dev/null
+++ b/charts/fleet/100.2.3+up0.5.3/values.yaml
@@ -0,0 +1,63 @@
+image:
+ repository: rancher/fleet
+ tag: v0.5.3
+ imagePullPolicy: IfNotPresent
+
+agentImage:
+ repository: rancher/fleet-agent
+ tag: v0.5.3
+ imagePullPolicy: IfNotPresent
+
+# For cluster registration the public URL of the Kubernetes API server must be set here
+# Example: https://example.com:6443
+apiServerURL: ""
+
+# For cluster registration the pem encoded value of the CA of the Kubernetes API server must be set here
+# If left empty it is assumed this Kubernetes API TLS is signed by a well known CA.
+apiServerCA: ""
+
+# A duration string for how often agents should report a heartbeat
+agentCheckinInterval: "15m"
+
+# Whether you want to allow cluster upon registration to specify their labels.
+ignoreClusterRegistrationLabels: false
+
+# http[s] proxy server
+# proxy: http://@::
+
+# comma separated list of domains or ip addresses that will not use the proxy
+noProxy: 127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
+
+bootstrap:
+ # The namespace that will be autocreated and the local cluster will be registered in
+ namespace: fleet-local
+ # The namespace where the fleet agent for the local cluster will be ran, if empty
+ # this will default to cattle-fleet-system
+ agentNamespace: ""
+ # A repo to add at install time that will deploy to the local cluster. This allows
+ # one to fully bootstrap fleet, it's configuration and all it's downstream clusters
+ # in one shot.
+ repo: ""
+ secret: ""
+ branch: master
+ paths: ""
+
+global:
+ cattle:
+ systemDefaultRegistry: ""
+
+## Node labels for pod assignment
+## Ref: https://kubernetes.io/docs/user-guide/node-selection/
+##
+nodeSelector: {}
+## List of node taints to tolerate (requires Kubernetes >= 1.6)
+tolerations: []
+
+## PriorityClassName assigned to deployment.
+priorityClassName: ""
+
+gitops:
+ enabled: true
+
+debug: false
+debugLevel: 0
diff --git a/charts/neuvector-crd/100.0.3+up2.2.4/Chart.yaml b/charts/neuvector-crd/100.0.3+up2.2.4/Chart.yaml
new file mode 100644
index 000000000..b5f78c35e
--- /dev/null
+++ b/charts/neuvector-crd/100.0.3+up2.2.4/Chart.yaml
@@ -0,0 +1,16 @@
+annotations:
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/hidden: "true"
+ catalog.cattle.io/namespace: cattle-neuvector-system
+ catalog.cattle.io/release-name: neuvector-crd
+apiVersion: v1
+appVersion: 5.0.4
+description: Helm chart for NeuVector's CRD services
+home: https://neuvector.com
+icon: https://avatars2.githubusercontent.com/u/19367275?s=200&v=4
+maintainers:
+- email: support@neuvector.com
+ name: becitsthere
+name: neuvector-crd
+type: application
+version: 100.0.3+up2.2.4
diff --git a/charts/neuvector-crd/100.0.3+up2.2.4/README.md b/charts/neuvector-crd/100.0.3+up2.2.4/README.md
new file mode 100644
index 000000000..aff9c71bc
--- /dev/null
+++ b/charts/neuvector-crd/100.0.3+up2.2.4/README.md
@@ -0,0 +1,19 @@
+# NeuVector Helm Chart
+
+Helm chart for NeuVector container security's CRD services. NeuVector's CRD (Custom Resource Definition) capture and declare application security policies early in the pipeline, then defined policies can be deployed together with the contaier applications.
+
+Because the CRD poclies can be deployed before NeuVector's core product, this separate helm chart is created. For the backward compatibility reason, crd.yaml is not removed in the 'core' chart. If you use this 'crd' chart, please set 'crdwebhook.enabled' to false in the 'core' chart.
+
+## Configuration
+
+The following table lists the configurable parameters of the NeuVector chart and their default values.
+
+Parameter | Description | Default | Notes
+--------- | ----------- | ------- | -----
+`openshift` | If deploying in OpenShift, set this to true | `false` |
+`serviceAccount` | Service account name for NeuVector components | `default` |
+`crdwebhook.type` | crd webhook type | `ClusterIP` |
+
+---
+Contact for access to Docker Hub and docs.
+
diff --git a/charts/neuvector-crd/100.0.3+up2.2.4/templates/_helpers.tpl b/charts/neuvector-crd/100.0.3+up2.2.4/templates/_helpers.tpl
new file mode 100644
index 000000000..c0cc49294
--- /dev/null
+++ b/charts/neuvector-crd/100.0.3+up2.2.4/templates/_helpers.tpl
@@ -0,0 +1,32 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "neuvector.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- 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 "neuvector.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "neuvector.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/charts/neuvector-crd/100.0.3+up2.2.4/templates/crd.yaml b/charts/neuvector-crd/100.0.3+up2.2.4/templates/crd.yaml
new file mode 100644
index 000000000..7a969b61b
--- /dev/null
+++ b/charts/neuvector-crd/100.0.3+up2.2.4/templates/crd.yaml
@@ -0,0 +1,1104 @@
+{{- if .Values.crdwebhook.enabled -}}
+{{- $oc4 := and .Values.openshift (semverCompare ">=1.12-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) -}}
+{{- $oc3 := and .Values.openshift (not $oc4) (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) -}}
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: apiextensions.k8s.io/v1
+{{- else }}
+apiVersion: apiextensions.k8s.io/v1beta1
+{{- end }}
+kind: CustomResourceDefinition
+metadata:
+ name: nvsecurityrules.neuvector.com
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ group: neuvector.com
+ names:
+ kind: NvSecurityRule
+ listKind: NvSecurityRuleList
+ plural: nvsecurityrules
+ singular: nvsecurityrule
+ scope: Namespaced
+{{- if (semverCompare "<1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+ version: v1
+{{- end }}
+ versions:
+ - name: v1
+ served: true
+ storage: true
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ egress:
+ items:
+ properties:
+ action:
+ enum:
+ - allow
+ - deny
+ type: string
+ applications:
+ items:
+ type: string
+ type: array
+ name:
+ type: string
+ ports:
+ type: string
+ priority:
+ type: integer
+ selector:
+ properties:
+ comment:
+ type: string
+ criteria:
+ items:
+ properties:
+ key:
+ type: string
+ op:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - op
+ - value
+ type: object
+ type: array
+ name:
+ type: string
+ original_name:
+ type: string
+ required:
+ - name
+ type: object
+ required:
+ - action
+ - name
+ - selector
+ type: object
+ type: array
+ file:
+ items:
+ properties:
+ app:
+ items:
+ type: string
+ type: array
+ behavior:
+ enum:
+ - monitor_change
+ - block_access
+ type: string
+ filter:
+ type: string
+ recursive:
+ type: boolean
+ required:
+ - behavior
+ - filter
+ type: object
+ type: array
+ ingress:
+ items:
+ properties:
+ action:
+ enum:
+ - allow
+ - deny
+ type: string
+ applications:
+ items:
+ type: string
+ type: array
+ name:
+ type: string
+ ports:
+ type: string
+ priority:
+ type: integer
+ selector:
+ properties:
+ comment:
+ type: string
+ criteria:
+ items:
+ properties:
+ key:
+ type: string
+ op:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - op
+ - value
+ type: object
+ type: array
+ name:
+ type: string
+ original_name:
+ type: string
+ required:
+ - name
+ type: object
+ required:
+ - action
+ - name
+ - selector
+ type: object
+ type: array
+ process:
+ items:
+ properties:
+ action:
+ enum:
+ - allow
+ - deny
+ type: string
+ allow_update:
+ type: boolean
+ name:
+ type: string
+ path:
+ type: string
+ required:
+ - action
+ type: object
+ type: array
+ process_profile:
+ properties:
+ baseline:
+ enum:
+ - default
+ - shield
+ - basic
+ - zero-drift
+ type: string
+ type: object
+ target:
+ properties:
+ policymode:
+ enum:
+ - Discover
+ - Monitor
+ - Protect
+ - N/A
+ type: string
+ selector:
+ properties:
+ comment:
+ type: string
+ criteria:
+ items:
+ properties:
+ key:
+ type: string
+ op:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - op
+ - value
+ type: object
+ type: array
+ name:
+ type: string
+ original_name:
+ type: string
+ required:
+ - name
+ type: object
+ required:
+ - selector
+ type: object
+ dlp:
+ properties:
+ settings:
+ items:
+ properties:
+ action:
+ enum:
+ - allow
+ - deny
+ type: string
+ name:
+ type: string
+ required:
+ - name
+ - action
+ type: object
+ type: array
+ status:
+ type: boolean
+ type: object
+ waf:
+ properties:
+ settings:
+ items:
+ properties:
+ action:
+ enum:
+ - allow
+ - deny
+ type: string
+ name:
+ type: string
+ required:
+ - name
+ - action
+ type: object
+ type: array
+ status:
+ type: boolean
+ type: object
+ required:
+ - target
+ type: object
+ type: object
+{{- end }}
+---
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: apiextensions.k8s.io/v1
+{{- else }}
+apiVersion: apiextensions.k8s.io/v1beta1
+{{- end }}
+kind: CustomResourceDefinition
+metadata:
+ name: nvclustersecurityrules.neuvector.com
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ group: neuvector.com
+ names:
+ kind: NvClusterSecurityRule
+ listKind: NvClusterSecurityRuleList
+ plural: nvclustersecurityrules
+ singular: nvclustersecurityrule
+ scope: Cluster
+{{- if (semverCompare "<1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+ version: v1
+{{- end }}
+ versions:
+ - name: v1
+ served: true
+ storage: true
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ egress:
+ items:
+ properties:
+ action:
+ enum:
+ - allow
+ - deny
+ type: string
+ applications:
+ items:
+ type: string
+ type: array
+ name:
+ type: string
+ ports:
+ type: string
+ priority:
+ type: integer
+ selector:
+ properties:
+ comment:
+ type: string
+ criteria:
+ items:
+ properties:
+ key:
+ type: string
+ op:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - op
+ - value
+ type: object
+ type: array
+ name:
+ type: string
+ original_name:
+ type: string
+ required:
+ - name
+ type: object
+ required:
+ - action
+ - name
+ - selector
+ type: object
+ type: array
+ file:
+ items:
+ properties:
+ app:
+ items:
+ type: string
+ type: array
+ behavior:
+ enum:
+ - monitor_change
+ - block_access
+ type: string
+ filter:
+ type: string
+ recursive:
+ type: boolean
+ required:
+ - behavior
+ - filter
+ type: object
+ type: array
+ ingress:
+ items:
+ properties:
+ action:
+ enum:
+ - allow
+ - deny
+ type: string
+ applications:
+ items:
+ type: string
+ type: array
+ name:
+ type: string
+ ports:
+ type: string
+ priority:
+ type: integer
+ selector:
+ properties:
+ comment:
+ type: string
+ criteria:
+ items:
+ properties:
+ key:
+ type: string
+ op:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - op
+ - value
+ type: object
+ type: array
+ name:
+ type: string
+ original_name:
+ type: string
+ required:
+ - name
+ type: object
+ required:
+ - action
+ - name
+ - selector
+ type: object
+ type: array
+ process:
+ items:
+ properties:
+ action:
+ enum:
+ - allow
+ - deny
+ type: string
+ allow_update:
+ type: boolean
+ name:
+ type: string
+ path:
+ type: string
+ required:
+ - action
+ type: object
+ type: array
+ process_profile:
+ properties:
+ baseline:
+ enum:
+ - default
+ - shield
+ - basic
+ - zero-drift
+ type: string
+ type: object
+ target:
+ properties:
+ policymode:
+ enum:
+ - Discover
+ - Monitor
+ - Protect
+ - N/A
+ type: string
+ selector:
+ properties:
+ comment:
+ type: string
+ criteria:
+ items:
+ properties:
+ key:
+ type: string
+ op:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - op
+ - value
+ type: object
+ type: array
+ name:
+ type: string
+ original_name:
+ type: string
+ required:
+ - name
+ type: object
+ required:
+ - selector
+ type: object
+ dlp:
+ properties:
+ settings:
+ items:
+ properties:
+ action:
+ enum:
+ - allow
+ - deny
+ type: string
+ name:
+ type: string
+ required:
+ - name
+ - action
+ type: object
+ type: array
+ status:
+ type: boolean
+ type: object
+ waf:
+ properties:
+ settings:
+ items:
+ properties:
+ action:
+ enum:
+ - allow
+ - deny
+ type: string
+ name:
+ type: string
+ required:
+ - name
+ - action
+ type: object
+ type: array
+ status:
+ type: boolean
+ type: object
+ required:
+ - target
+ type: object
+ type: object
+{{- end }}
+---
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: apiextensions.k8s.io/v1
+{{- else }}
+apiVersion: apiextensions.k8s.io/v1beta1
+{{- end }}
+kind: CustomResourceDefinition
+metadata:
+ name: nvdlpsecurityrules.neuvector.com
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ group: neuvector.com
+ names:
+ kind: NvDlpSecurityRule
+ listKind: NvDlpSecurityRuleList
+ plural: nvdlpsecurityrules
+ singular: nvdlpsecurityrule
+ scope: Cluster
+{{- if (semverCompare "<1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+ version: v1
+{{- end }}
+ versions:
+ - name: v1
+ served: true
+ storage: true
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ sensor:
+ properties:
+ comment:
+ type: string
+ name:
+ type: string
+ rules:
+ items:
+ properties:
+ name:
+ type: string
+ patterns:
+ items:
+ properties:
+ context:
+ enum:
+ - url
+ - header
+ - body
+ - packet
+ type: string
+ key:
+ enum:
+ - pattern
+ type: string
+ op:
+ enum:
+ - regex
+ - '!regex'
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - op
+ - value
+ - context
+ type: object
+ type: array
+ required:
+ - name
+ - patterns
+ type: object
+ type: array
+ required:
+ - name
+ type: object
+ required:
+ - sensor
+ type: object
+ type: object
+{{- end }}
+---
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: apiextensions.k8s.io/v1
+{{- else }}
+apiVersion: apiextensions.k8s.io/v1beta1
+{{- end }}
+kind: CustomResourceDefinition
+metadata:
+ name: nvadmissioncontrolsecurityrules.neuvector.com
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ group: neuvector.com
+ names:
+ kind: NvAdmissionControlSecurityRule
+ listKind: NvAdmissionControlSecurityRuleList
+ plural: nvadmissioncontrolsecurityrules
+ singular: nvadmissioncontrolsecurityrule
+ scope: Cluster
+{{- if (semverCompare "<1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+ version: v1
+{{- end }}
+ versions:
+ - name: v1
+ served: true
+ storage: true
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ config:
+ properties:
+ client_mode:
+ enum:
+ - service
+ - url
+ type: string
+ enable:
+ type: boolean
+ mode:
+ enum:
+ - monitor
+ - protect
+ type: string
+ required:
+ - enable
+ - mode
+ - client_mode
+ type: object
+ rules:
+ items:
+ properties:
+ action:
+ enum:
+ - allow
+ - deny
+ type: string
+ comment:
+ type: string
+ criteria:
+ items:
+ properties:
+ name:
+ type: string
+ op:
+ type: string
+ sub_criteria:
+ items:
+ properties:
+ name:
+ type: string
+ op:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - op
+ - value
+ type: object
+ type: array
+ value:
+ type: string
+ required:
+ - name
+ - op
+ - value
+ type: object
+ type: array
+ disabled:
+ type: boolean
+ id:
+ type: integer
+ required:
+ - action
+ - criteria
+ type: object
+ type: array
+ type: object
+ type: object
+{{- end }}
+---
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: apiextensions.k8s.io/v1
+{{- else }}
+apiVersion: apiextensions.k8s.io/v1beta1
+{{- end }}
+kind: CustomResourceDefinition
+metadata:
+ name: nvwafsecurityrules.neuvector.com
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ group: neuvector.com
+ names:
+ kind: NvWafSecurityRule
+ listKind: NvWafSecurityRuleList
+ plural: nvwafsecurityrules
+ singular: nvwafsecurityrule
+ scope: Cluster
+{{- if (semverCompare "<1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+ version: v1
+{{- end }}
+ versions:
+ - name: v1
+ served: true
+ storage: true
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ sensor:
+ properties:
+ comment:
+ type: string
+ name:
+ type: string
+ rules:
+ items:
+ properties:
+ name:
+ type: string
+ patterns:
+ items:
+ properties:
+ context:
+ enum:
+ - url
+ - header
+ - body
+ - packet
+ type: string
+ key:
+ enum:
+ - pattern
+ type: string
+ op:
+ enum:
+ - regex
+ - '!regex'
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - op
+ - value
+ - context
+ type: object
+ type: array
+ required:
+ - name
+ - patterns
+ type: object
+ type: array
+ required:
+ - name
+ type: object
+ required:
+ - sensor
+ type: object
+ type: object
+{{- end }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: neuvector-svc-crd-webhook
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ ports:
+ - port: 443
+ targetPort: 30443
+ protocol: TCP
+ name: crd-webhook
+ type: {{ .Values.crdwebhook.type }}
+ selector:
+ app: neuvector-controller-pod
+---
+# ClusterRole for NeuVector to operate CRD
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRole
+metadata:
+ name: neuvector-binding-customresourcedefinition
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+rules:
+- apiGroups:
+ - apiextensions.k8s.io
+ resources:
+ - customresourcedefinitions
+ verbs:
+ - update
+ - watch
+ - create
+ - get
+---
+# ClusterRoleBinding for NeuVector to operate CRD
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRoleBinding
+metadata:
+ name: neuvector-binding-customresourcedefinition
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+{{- if not $oc3 }}
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+{{- end }}
+ name: neuvector-binding-customresourcedefinition
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- if $oc3 }}
+userNames:
+- system:serviceaccount:{{ .Release.Namespace }}:{{ .Values.serviceAccount }}
+{{- end }}
+---
+# ClusterRole for NeuVector to manager user-created network/process CRD rules
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRole
+metadata:
+ name: neuvector-binding-nvsecurityrules
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+rules:
+- apiGroups:
+ - neuvector.com
+ resources:
+ - nvsecurityrules
+ - nvclustersecurityrules
+ verbs:
+ - list
+ - delete
+---
+# ClusterRoleBinding for NeuVector to manager user-created network/process CRD rules
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRoleBinding
+metadata:
+ name: neuvector-binding-nvsecurityrules
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+{{- if not $oc3 }}
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+{{- end }}
+ name: neuvector-binding-nvsecurityrules
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- if $oc3 }}
+userNames:
+- system:serviceaccount:{{ .Release.Namespace }}:{{ .Values.serviceAccount }}
+{{- end }}
+---
+# ClusterRole for NeuVector to manager user-created dlp CRD rules
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRole
+metadata:
+ name: neuvector-binding-nvdlpsecurityrules
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+rules:
+- apiGroups:
+ - neuvector.com
+ resources:
+ - nvdlpsecurityrules
+ verbs:
+ - list
+ - delete
+---
+# ClusterRole for NeuVector to manager user-created admission control CRD rules
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRole
+metadata:
+ name: neuvector-binding-nvadmissioncontrolsecurityrules
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+rules:
+- apiGroups:
+ - neuvector.com
+ resources:
+ - nvadmissioncontrolsecurityrules
+ verbs:
+ - list
+ - delete
+---
+# ClusterRoleBinding for NeuVector to manager user-created admission control CRD rules
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRoleBinding
+metadata:
+ name: neuvector-binding-nvdlpsecurityrules
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+{{- if not $oc3 }}
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+{{- end }}
+ name: neuvector-binding-nvdlpsecurityrules
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- if $oc3 }}
+userNames:
+- system:serviceaccount:{{ .Release.Namespace }}:{{ .Values.serviceAccount }}
+{{- end }}
+---
+# ClusterRoleBinding for NeuVector to manager user-created admission control CRD rules
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRoleBinding
+metadata:
+ name: neuvector-binding-nvadmissioncontrolsecurityrules
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+{{- if not $oc3 }}
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+{{- end }}
+ name: neuvector-binding-nvadmissioncontrolsecurityrules
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- if $oc3 }}
+userNames:
+- system:serviceaccount:{{ .Release.Namespace }}:{{ .Values.serviceAccount }}
+{{- end }}
+---
+# ClusterRole for NeuVector to manager user-created waf CRD rules
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRole
+metadata:
+ name: neuvector-binding-nvwafsecurityrules
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+rules:
+- apiGroups:
+ - neuvector.com
+ resources:
+ - nvwafsecurityrules
+ verbs:
+ - list
+ - delete
+---
+# ClusterRoleBinding for NeuVector to manager user-created waf CRD rules
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRoleBinding
+metadata:
+ name: neuvector-binding-nvwafsecurityrules
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+{{- if not $oc3 }}
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+{{- end }}
+ name: neuvector-binding-nvwafsecurityrules
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- if $oc3 }}
+userNames:
+- system:serviceaccount:{{ .Release.Namespace }}:{{ .Values.serviceAccount }}
+{{- end }}
+{{- end }}
diff --git a/charts/neuvector-crd/100.0.3+up2.2.4/values.yaml b/charts/neuvector-crd/100.0.3+up2.2.4/values.yaml
new file mode 100644
index 000000000..a7bc9a908
--- /dev/null
+++ b/charts/neuvector-crd/100.0.3+up2.2.4/values.yaml
@@ -0,0 +1,11 @@
+# Default values for neuvector.
+# This is a YAML-formatted file.
+# Declare variables to be passed into the templates.
+
+openshift: false
+
+serviceAccount: neuvector
+
+crdwebhook:
+ type: ClusterIP
+ enabled: true
diff --git a/charts/neuvector/100.0.3+up2.2.4/.helmignore b/charts/neuvector/100.0.3+up2.2.4/.helmignore
new file mode 100644
index 000000000..f0c131944
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/.helmignore
@@ -0,0 +1,21 @@
+# 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
diff --git a/charts/neuvector/100.0.3+up2.2.4/Chart.yaml b/charts/neuvector/100.0.3+up2.2.4/Chart.yaml
new file mode 100644
index 000000000..9453bad2d
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/Chart.yaml
@@ -0,0 +1,28 @@
+annotations:
+ catalog.cattle.io/auto-install: neuvector-crd=match
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/display-name: NeuVector
+ catalog.cattle.io/kube-version: '>=1.18.0-0 < 1.25.0-0'
+ catalog.cattle.io/namespace: cattle-neuvector-system
+ catalog.cattle.io/os: linux
+ catalog.cattle.io/permit-os: linux
+ catalog.cattle.io/provides-gvr: neuvector.com/v1
+ catalog.cattle.io/rancher-version: '>= 2.6.5-0 < 2.7.0-0'
+ catalog.cattle.io/release-name: neuvector
+ catalog.cattle.io/type: cluster-tool
+ catalog.cattle.io/ui-component: neuvector
+ catalog.cattle.io/upstream-version: 2.2.4
+apiVersion: v1
+appVersion: 5.0.4
+description: Helm feature chart for NeuVector's core services
+home: https://neuvector.com
+icon: https://avatars2.githubusercontent.com/u/19367275?s=200&v=4
+keywords:
+- security
+maintainers:
+- email: support@neuvector.com
+ name: becitsthere
+name: neuvector
+sources:
+- https://github.com/neuvector/neuvector
+version: 100.0.3+up2.2.4
diff --git a/charts/neuvector/100.0.3+up2.2.4/README.md b/charts/neuvector/100.0.3+up2.2.4/README.md
new file mode 100644
index 000000000..2e6442370
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/README.md
@@ -0,0 +1,224 @@
+# NeuVector Helm Chart
+
+Helm chart for NeuVector container security's core services.
+
+## Preparation if using Helm 2
+
+- Kubernetes 1.7+
+- Helm installed and Tiller pod is running
+- Cluster role `cluster-admin` available, check by:
+
+```console
+$ kubectl get clusterrole cluster-admin
+```
+
+If nothing returned, then add the `cluster-admin`:
+
+cluster-admin.yaml
+```yaml
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: cluster-admin
+rules:
+- apiGroups:
+ - '*'
+ resources:
+ - '*'
+ verbs:
+ - '*'
+- nonResourceURLs:
+ - '*'
+ verbs:
+ - '*'
+```
+
+```console
+$ kubectl create -f cluster-admin.yaml
+```
+
+- If you have not created a service account for tiller, and give it admin abilities on the cluster:
+
+```console
+$ kubectl create serviceaccount --namespace kube-system tiller
+$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
+$ kubectl patch deployment tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}' -n kube-system
+```
+
+## CRD
+Because the CRD (Custom Resource Definition) policies can be deployed before NeuVector's core product, a new 'crd' helm chart is created. The crd template in the 'core' chart is kept for the backward compatibility. Please set 'crdwebhook.enabled' to false, if you use the new 'crd' chart.
+
+## Choosing container runtime
+The NeuVector platform supports docker, cri-o and containerd as the container runtime. For a k3s/rke2, or bottlerocket cluster, they have their own runtime socket path. You should enable their runtime options, k3s.enabled and bottlerocket.enabled, respectively.
+
+## Configuration
+
+The following table lists the configurable parameters of the NeuVector chart and their default values.
+
+Parameter | Description | Default | Notes
+--------- | ----------- | ------- | -----
+`openshift` | If deploying in OpenShift, set this to true | `false` |
+`registry` | NeuVector container registry | `registry.neuvector.com` |
+`tag` | image tag for controller enforcer manager | `latest` |
+`oem` | OEM release name | `nil` |
+`imagePullSecrets` | image pull secret | `nil` |
+`rbac` | NeuVector RBAC manifests are installed when rbac is enabled | `true` |
+`psp` | NeuVector Pod Security Policy when psp policy is enabled | `false` |
+`serviceAccount` | Service account name for NeuVector components | `default` |
+`controller.enabled` | If true, create controller | `true` |
+`controller.image.repository` | controller image repository | `neuvector/controller` |
+`controller.image.hash` | controller image hash in the format of sha256:xxxx. If present it overwrites the image tag value. | |
+`controller.replicas` | controller replicas | `3` |
+`controller.schedulerName` | kubernetes scheduler name | `nil` |
+`controller.affinity` | controller affinity rules | ... | spread controllers to different nodes |
+`controller.tolerations` | List of node taints to tolerate | `nil` |
+`controller.resources` | Add resources requests and limits to controller deployment | `{}` | see examples in [values.yaml](https://github.com/neuvector/neuvector-helm/tree/2.2.4/charts/core/values.yaml)
+`controller.nodeSelector` | Enable and specify nodeSelector labels | `{}` |
+`controller.disruptionbudget` | controller PodDisruptionBudget. 0 to disable. Recommended value: 2. | `0` |
+`controller.priorityClassName` | controller priorityClassName. Must exist prior to helm deployment. Leave empty to disable. | `nil` |
+`controller.env` | User-defined environment variables for controller. | `[]` |
+`controller.ranchersso.enabled` | If true, enable Rancher single sign on | `false` | Rancher server address auto configured.|
+`controller.pvc.enabled` | If true, enable persistence for controller using PVC | `false` | Require persistent volume type RWX, and storage 1Gi
+`controller.pvc.storageClass` | Storage Class to be used | `default` |
+`controller.pvc.capacity` | Storage capacity | `1Gi` |
+`controller.azureFileShare.enabled` | If true, enable the usage of an existing or statically provisioned Azure File Share | `false` |
+`controller.azureFileShare.secretName` | The name of the secret containing the Azure file share storage account name and key | `nil` |
+`controller.azureFileShare.shareName` | The name of the Azure file share to use | `nil` |
+`controller.apisvc.type` | Controller REST API service type | `nil` |
+`controller.apisvc.annotations` | Add annotations to controller REST API service | `{}` |
+`controller.apisvc.route.enabled` | If true, create a OpenShift route to expose the Controller REST API service | `false` |
+`controller.apisvc.route.termination` | Specify TLS termination for OpenShift route for Controller REST API service. Possible passthrough, edge, reencrypt | `passthrough` |
+`controller.apisvc.route.host` | Set controller REST API service hostname | `nil` |
+`controller.apisvc.route.tls.key` | Set controller REST API service PEM format key file | `nil` |
+`controller.apisvc.route.tls.certificate` | Set controller REST API service PEM format certificate file | `nil` |
+`controller.apisvc.route.tls.caCertificate` | Set controller REST API service CA certificate may be required to establish a certificate chain for validation | `nil` |
+`controller.apisvc.route.tls.destinationCACertificate` | Set controller REST API service CA certificate to validate the endpoint certificate | `nil` |
+`controller.certificate.secret` | Replace controller REST API certificate using secret if secret name is specified | `nil` |
+`controller.certificate.keyFile` | Replace controller REST API certificate key file | `tls.key` |
+`controller.certificate.pemFile` | Replace controller REST API certificate pem file | `tls.pem` |
+`controller.federation.mastersvc.type` | Multi-cluster primary cluster service type. If specified, the deployment will be used to manage other clusters. Possible values include NodePort, LoadBalancer and ClusterIP. | `nil` |
+`controller.federation.mastersvc.annotations` | Add annotations to Multi-cluster primary cluster REST API service | `{}` |
+`controller.federation.mastersvc.route.enabled` | If true, create a OpenShift route to expose the Multi-cluster primary cluster service | `false` |
+`controller.federation.mastersvc.route.host` | Set OpenShift route host for primary cluster service | `nil` |
+`controller.federation.mastersvc.route.termination` | Specify TLS termination for OpenShift route for Multi-cluster primary cluster service. Possible passthrough, edge, reencrypt | `passthrough` |
+`controller.federation.mastersvc.route.tls.key` | Set PEM format key file for OpenShift route for Multi-cluster primary cluster service | `nil` |
+`controller.federation.mastersvc.route.tls.certificate` | Set PEM format key certificate file for OpenShift route for Multi-cluster primary cluster service | `nil` |
+`controller.federation.mastersvc.route.tls.caCertificate` | Set CA certificate may be required to establish a certificate chain for validation for OpenShift route for Multi-cluster primary cluster service | `nil` |
+`controller.federation.mastersvc.route.tls.destinationCACertificate` | Set CA certificate to validate the endpoint certificate for OpenShift route for Multi-cluster primary cluster service | `nil` |
+`controller.federation.mastersvc.ingress.enabled` | If true, create ingress for federation master service, must also set ingress host value | `false` | enable this if ingress controller is installed
+`controller.federation.mastersvc.ingress.tls` | If true, TLS is enabled for controller federation master ingress service |`false` | If set, the tls-host used is the one set with `controller.federation.mastersvc.ingress.host`.
+`controller.federation.mastersvc.ingress.host` | Must set this host value if ingress is enabled | `nil` |
+`controller.federation.mastersvc.ingress.ingressClassName` | To be used instead of the ingress.class annotation if an IngressClass is provisioned | `""` |
+`controller.federation.mastersvc.ingress.secretName` | Name of the secret to be used for TLS-encryption | `nil` | Secret must be created separately (Let's encrypt, manually)
+`controller.federation.mastersvc.ingress.path` | Set ingress path |`/` | If set, it might be necessary to set a rewrite rule in annotations.
+`controller.federation.mastersvc.ingress.annotations` | Add annotations to ingress to influence behavior | `nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"` | see examples in [values.yaml](https://github.com/neuvector/neuvector-helm/tree/2.2.4/charts/core/values.yaml)
+`controller.federation.managedsvc.type` | Multi-cluster managed cluster service type. If specified, the deployment will be managed by the managed clsuter. Possible values include NodePort, LoadBalancer and ClusterIP. | `nil` |
+`controller.federation.managedsvc.annotations` | Add annotations to Multi-cluster managed cluster REST API service | `{}` |
+`controller.federation.managedsvc.route.enabled` | If true, create a OpenShift route to expose the Multi-cluster managed cluster service | `false` |
+`controller.federation.managedsvc.route.host` | Set OpenShift route host for manageed service | `nil` |
+`controller.federation.managedsvc.route.termination` | Specify TLS termination for OpenShift route for Multi-cluster managed cluster service. Possible passthrough, edge, reencrypt | `passthrough` |
+`controller.federation.managedsvc.route.tls.key` | Set PEM format key file for OpenShift route for Multi-cluster managed cluster service | `nil` |
+`controller.federation.managedsvc.route.tls.certificate` | Set PEM format certificate file for OpenShift route for Multi-cluster managed cluster service | `nil` |
+`controller.federation.managedsvc.route.tls.caCertificate` | Set CA certificate may be required to establish a certificate chain for validation for OpenShift route for Multi-cluster managed cluster service | `nil` |
+`controller.federation.managedsvc.route.tls.destinationCACertificate` | Set CA certificate to validate the endpoint certificate for OpenShift route for Multi-cluster managed cluster service | `nil` |
+`controller.federation.managedsvc.ingress.enabled` | If true, create ingress for federation managed service, must also set ingress host value | `false` | enable this if ingress controller is installed
+`controller.federation.managedsvc.ingress.tls` | If true, TLS is enabled for controller federation managed ingress service |`false` | If set, the tls-host used is the one set with `controller.federation.managedsvc.ingress.host`.
+`controller.federation.managedsvc.ingress.host` | Must set this host value if ingress is enabled | `nil` |
+`controller.federation.managedsvc.ingress.ingressClassName` | To be used instead of the ingress.class annotation if an IngressClass is provisioned | `""` |
+`controller.federation.managedsvc.ingress.secretName` | Name of the secret to be used for TLS-encryption | `nil` | Secret must be created separately (Let's encrypt, manually)
+`controller.federation.managedsvc.ingress.path` | Set ingress path |`/` | If set, it might be necessary to set a rewrite rule in annotations.
+`controller.federation.managedsvc.ingress.annotations` | Add annotations to ingress to influence behavior | `nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"` | see examples in [values.yaml](https://github.com/neuvector/neuvector-helm/tree/2.2.4/charts/core/values.yaml)
+`controller.ingress.enabled` | If true, create ingress for rest api, must also set ingress host value | `false` | enable this if ingress controller is installed
+`controller.ingress.tls` | If true, TLS is enabled for controller rest api ingress service |`false` | If set, the tls-host used is the one set with `controller.ingress.host`.
+`controller.ingress.host` | Must set this host value if ingress is enabled | `nil` |
+`controller.ingress.ingressClassName` | To be used instead of the ingress.class annotation if an IngressClass is provisioned | `""` |
+`controller.ingress.secretName` | Name of the secret to be used for TLS-encryption | `nil` | Secret must be created separately (Let's encrypt, manually)
+`controller.ingress.path` | Set ingress path |`/` | If set, it might be necessary to set a rewrite rule in annotations.
+`controller.ingress.annotations` | Add annotations to ingress to influence behavior | `nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"` | see examples in [values.yaml](https://github.com/neuvector/neuvector-helm/tree/2.2.4/charts/core/values.yaml)
+`controller.configmap.enabled` | If true, configure NeuVector global settings using a ConfigMap | `false`
+`controller.configmap.data` | NeuVector configuration in YAML format | `{}`
+`controller.secret.enabled` | If true, configure NeuVector global settings using secrets | `false`
+`controller.secret.data` | NeuVector configuration in key/value pair format | `{}`
+`enforcer.enabled` | If true, create enforcer | `true` |
+`enforcer.image.repository` | enforcer image repository | `neuvector/enforcer` |
+`enforcer.image.hash` | enforcer image hash in the format of sha256:xxxx. If present it overwrites the image tag value. | |
+`enforcer.priorityClassName` | enforcer priorityClassName. Must exist prior to helm deployment. Leave empty to disable. | `nil` |
+`enforcer.tolerations` | List of node taints to tolerate | `- effect: NoSchedule`
`key: node-role.kubernetes.io/master` | other taints can be added after the default
+`enforcer.resources` | Add resources requests and limits to enforcer deployment | `{}` | see examples in [values.yaml](https://github.com/neuvector/neuvector-helm/tree/2.2.4/charts/core/values.yaml)
+`manager.enabled` | If true, create manager | `true` |
+`manager.image.repository` | manager image repository | `neuvector/manager` |
+`manager.image.hash` | manager image hash in the format of sha256:xxxx. If present it overwrites the image tag value. | |
+`manager.priorityClassName` | manager priorityClassName. Must exist prior to helm deployment. Leave empty to disable. | `nil` |
+`manager.env.ssl` | If false, manager will listen on HTTP access instead of HTTPS | `true` |
+`manager.svc.type` | set manager service type for native Kubernetes | `NodePort`;
if it is OpenShift platform or ingress is enabled, then default is `ClusterIP` | set to LoadBalancer if using cloud providers, such as Azure, Amazon, Google
+`manager.svc.loadBalancerIP` | if manager service type is LoadBalancer, this is used to specify the load balancer's IP | `nil` |
+`manager.svc.annotations` | Add annotations to manager service | `{}` | see examples in [values.yaml](https://github.com/neuvector/neuvector-helm/tree/2.2.4/charts/core/values.yaml)
+`manager.route.enabled` | If true, create a OpenShift route to expose the management console service | `true` |
+`manager.route.host` | Set OpenShift route host for management console service | `nil` |
+`manager.route.termination` | Specify TLS termination for OpenShift route for management console service. Possible passthrough, edge, reencrypt | `passthrough` |
+`manager.route.tls.key` | Set PEM format key file for OpenShift route for management console service | `nil` |
+`manager.route.tls.certificate` | Set PEM format certificate file for OpenShift route for management console service | `nil` |
+`manager.route.tls.caCertificate` | Set CA certificate may be required to establish a certificate chain for validation for OpenShift route for management console service | `nil` |
+`manager.route.tls.destinationCACertificate` | Set controller REST API service CA certificate to validate the endpoint certificate for OpenShift route for management console service | `nil` |
+`manager.certificate.secret` | Replace manager UI certificate using secret if secret name is specified | `nil` |
+`manager.certificate.keyFile` | Replace manager UI certificate key file | `tls.key` |
+`manager.certificate.pemFile` | Replace manager UI certificate pem file | `tls.pem` |
+`manager.ingress.enabled` | If true, create ingress, must also set ingress host value | `false` | enable this if ingress controller is installed
+`manager.ingress.host` | Must set this host value if ingress is enabled | `nil` |
+`manager.ingress.ingressClassName` | To be used instead of the ingress.class annotation if an IngressClass is provisioned | `""` |
+`manager.ingress.path` | Set ingress path |`/` | If set, it might be necessary to set a rewrite rule in annotations. Currently only supports `/`
+`manager.ingress.annotations` | Add annotations to ingress to influence behavior | `nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"` | see examples in [values.yaml](https://github.com/neuvector/neuvector-helm/tree/2.2.4/charts/core/values.yaml)
+`manager.ingress.tls` | If true, TLS is enabled for manager ingress service |`false` | If set, the tls-host used is the one set with `manager.ingress.host`.
+`manager.ingress.secretName` | Name of the secret to be used for TLS-encryption | `nil` | Secret must be created separately (Let's encrypt, manually)
+`manager.resources` | Add resources requests and limits to manager deployment | `{}` | see examples in [values.yaml](https://github.com/neuvector/neuvector-helm/tree/2.2.4/charts/core/values.yaml)
+`manager.affinity` | manager affinity rules | `{}` |
+`manager.tolerations` | List of node taints to tolerate | `nil` |
+`manager.nodeSelector` | Enable and specify nodeSelector labels | `{}` |
+`manager.runAsUser` | Specify the run as User ID | `nil` |
+`cve.updater.enabled` | If true, create cve updater | `true` |
+`cve.updater.secure` | If ture, API server's certificate is validated | `false` |
+`cve.updater.image.repository` | cve updater image repository | `neuvector/updater` |
+`cve.updater.image.tag` | image tag for cve updater | `latest` |
+`cve.updater.image.hash` | cve updateer image hash in the format of sha256:xxxx. If present it overwrites the image tag value. | |
+`cve.updater.priorityClassName` | cve updater priorityClassName. Must exist prior to helm deployment. Leave empty to disable. | `nil` |
+`cve.updater.schedule` | cronjob cve updater schedule | `0 0 * * *` |
+`cve.updater.runAsUser` | Specify the run as User ID | `nil` |
+`cve.scanner.enabled` | If true, cve scanners will be deployed | `true` |
+`cve.scanner.image.repository` | cve scanner image repository | `neuvector/scanner` |
+`cve.scanner.image.tag` | cve scanner image tag | `latest` |
+`cve.updater.image.hash` | cve scanner image hash in the format of sha256:xxxx. If present it overwrites the image tag value. | |
+`cve.scanner.priorityClassName` | cve scanner priorityClassName. Must exist prior to helm deployment. Leave empty to disable. | `nil` |
+`cve.scanner.replicas` | external scanner replicas | `3` |
+`cve.scanner.dockerPath` | the remote docker socket if CI/CD integration need scan images before they are pushed to the registry | `nil` |
+`cve.scanner.resources` | Add resources requests and limits to scanner deployment | `{}` | see examples in [values.yaml](https://github.com/neuvector/neuvector-helm/tree/2.2.4/charts/core/values.yaml) |
+`cve.scanner.affinity` | scanner affinity rules | `{}` |
+`cve.scanner.tolerations` | List of node taints to tolerate | `nil` |
+`cve.scanner.nodeSelector` | Enable and specify nodeSelector labels | `{}` |
+`cve.scanner.runAsUser` | Specify the run as User ID | `nil` |
+`docker.path` | docker path | `/var/run/docker.sock` |
+`containerd.enabled` | Set to true, if the container runtime is containerd | `false` | **Note**: For k3s cluster, set k3s.enabled to true instead
+`containerd.path` | If containerd is enabled, this local containerd socket path will be used | `/var/run/containerd/containerd.sock` |
+`crio.enabled` | Set to true, if the container runtime is cri-o | `false` |
+`crio.path` | If cri-o is enabled, this local cri-o socket path will be used | `/var/run/crio/crio.sock` |
+`k3s.enabled` | Set to true for k3s or rke2 | `false` |
+`k3s.runtimePath` | If k3s is enabled, this local containerd socket path will be used | `/run/k3s/containerd/containerd.sock` |
+`bottlerocket.enabled` | Set to true if using AWS bottlerocket | `false` |
+`bottlerocket.runtimePath` | If bottlerocket is enabled, this local containerd socket path will be used | `/run/dockershim.sock` |
+`admissionwebhook.type` | admission webhook type | `ClusterIP` |
+`crdwebhook.enabled` | Enable crd service and create crd related resources | `true` |
+`crdwebhook.type` | crd webhook type | `ClusterIP` |
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
+
+```console
+$ helm install my-release --namespace neuvector ./neuvector-helm/ --set manager.env.ssl=off
+```
+
+Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
+
+```console
+$ helm install my-release --namespace neuvector ./neuvector-helm/ -f values.yaml
+```
+
+---
+
diff --git a/charts/neuvector/100.0.3+up2.2.4/app-readme.md b/charts/neuvector/100.0.3+up2.2.4/app-readme.md
new file mode 100644
index 000000000..32da7fb2c
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/app-readme.md
@@ -0,0 +1,18 @@
+### Run-Time Protection Without Compromise
+
+NeuVector delivers a complete run-time security solution with container process/file system protection and vulnerability scanning combined with the only true Layer 7 container firewall. Protect sensitive data with a complete container security platform.
+
+NeuVector integrates tightly with Rancher and Kubernetes to extend the built-in security features for applications that require defense in depth. Security features include:
+
++ Build phase vulnerability scanning with Jenkins plug-in and registry scanning
++ Admission control to prevent vulnerable or unauthorized image deployments using Kubernetes admission control webhooks
++ Complete run-time scanning with network, process, and file system monitoring and protection
++ The industry's only layer 7 container firewall for multi-protocol threat detection and automated segmentation
++ Advanced network controls including DLP detection, service mesh integration, connection blocking and packet captures
++ Run-time vulnerability scanning and CIS benchmarks
+
+Additional Notes:
++ Previous deployments from Rancher, such as from our Partners chart repository or the primary NeuVector Helm chart, must be completely removed in order to update to the new integrated feature chart. See https://github.com/rancher/rancher/issues/37447.
++ Configure correct container runtime and runtime path under container runtime. Enable only one runtime.
++ For deploying on hardened RKE2 and K3s clusters, enable PSP and set user id from other configuration for Manager, Scanner and Updater deployments. User id can be any number other than 0.
++ For deploying on hardened RKE cluster, enable PSP from other configuration.
diff --git a/charts/neuvector/100.0.3+up2.2.4/crds/_helpers.tpl b/charts/neuvector/100.0.3+up2.2.4/crds/_helpers.tpl
new file mode 100644
index 000000000..c0cc49294
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/crds/_helpers.tpl
@@ -0,0 +1,32 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "neuvector.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- 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 "neuvector.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "neuvector.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/charts/neuvector/100.0.3+up2.2.4/questions.yaml b/charts/neuvector/100.0.3+up2.2.4/questions.yaml
new file mode 100644
index 000000000..45a15c2ca
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/questions.yaml
@@ -0,0 +1,335 @@
+questions:
+#image configurations
+- variable: controller.image.repository
+ default: "neuvector/controller"
+ description: controller image repository
+ type: string
+ label: Controller Image Path
+ group: "Container Images"
+- variable: controller.image.tag
+ default: ""
+ description: image tag for controller
+ type: string
+ label: Controller Image Tag
+ group: "Container Images"
+- variable: manager.image.repository
+ default: "neuvector/manager"
+ description: manager image repository
+ type: string
+ label: Manager Image Path
+ group: "Container Images"
+- variable: manager.image.tag
+ default: ""
+ description: image tag for manager
+ type: string
+ label: Manager Image Tag
+ group: "Container Images"
+- variable: enforcer.image.repository
+ default: "neuvector/enforcer"
+ description: enforcer image repository
+ type: string
+ label: Enforcer Image Path
+ group: "Container Images"
+- variable: enforcer.image.tag
+ default: ""
+ description: image tag for enforcer
+ type: string
+ label: Enforcer Image Tag
+ group: "Container Images"
+- variable: cve.scanner.image.repository
+ default: "neuvector/scanner"
+ description: scanner image repository
+ type: string
+ label: Scanner Image Path
+ group: "Container Images"
+- variable: cve.scanner.image.tag
+ default: ""
+ description: image tag for scanner
+ type: string
+ label: Scanner Image Tag
+ group: "Container Images"
+- variable: cve.updater.image.repository
+ default: "neuvector/updater"
+ description: cve updater image repository
+ type: string
+ label: CVE Updater Image Path
+ group: "Container Images"
+- variable: cve.updater.image.tag
+ default: ""
+ description: image tag for updater
+ type: string
+ label: Updater Image Tag
+ group: "Container Images"
+#Container Runtime configurations
+- variable: docker.enabled
+ default: true
+ description: Docker runtime. Enable only one runtime
+ type: boolean
+ label: Docker Runtime
+ show_subquestion_if: true
+ group: "Container Runtime"
+ subquestions:
+ - variable: docker.path
+ default: "/var/run/docker.sock"
+ description: "Docker Runtime Path"
+ type: string
+ label: Runtime Path
+- variable: containerd.enabled
+ default: "false"
+ description: Containerd runtime. Enable only one runtime
+ type: boolean
+ label: Containerd Runtime
+ show_subquestion_if: true
+ group: "Container Runtime"
+ subquestions:
+ - variable: containerd.path
+ default: " /var/run/containerd/containerd.sock"
+ description: "Containerd Runtime Path"
+ type: string
+ label: Runtime Path
+- variable: crio.enabled
+ default: "false"
+ description: CRI-O runtime. Enable only one runtime
+ type: boolean
+ label: CRI-O Runtime
+ show_subquestion_if: true
+ group: "Container Runtime"
+ subquestions:
+ - variable: crio.path
+ default: "/var/run/crio/crio.sock"
+ description: "CRI-O Runtime Path"
+ type: string
+ label: Runtime Path
+- variable: k3s.enabled
+ default: "false"
+ description: k3s containerd runtime. Enable only one runtime
+ type: boolean
+ label: k3s Containerd Runtime
+ show_subquestion_if: true
+ group: "Container Runtime"
+ subquestions:
+ - variable: k3s.runtimePath
+ default: " /run/k3s/containerd/containerd.sock"
+ description: "k3s Containerd Runtime Path"
+ type: string
+ label: Runtime Path
+#storage configurations
+- variable: controller.pvc.enabled
+ default: false
+ description: If true, enable persistence for controller using PVC
+ type: boolean
+ label: PVC Status
+ group: "PVC Configuration"
+- variable: controller.pvc.storageClass
+ default: ""
+ description: Storage Class to be used
+ type: string
+ label: Storage Class Name
+ group: "PVC Configuration"
+#ingress configurations
+- variable: manager.ingress.enabled
+ default: false
+ description: If true, create ingress, must also set ingress host value
+ type: boolean
+ label: Manager Ingress Status
+ group: "Ingress Configuration"
+ show_subquestion_if: true
+ subquestions:
+ - variable: manager.ingress.host
+ default: ""
+ description: Must set this host value if ingress is enabled
+ type: string
+ label: Manager Ingress Host
+ group: "Ingress Configuration"
+ - variable: manager.ingress.path
+ default: "/"
+ description: Set ingress path
+ type: string
+ label: Manager Ingress Path
+ group: "Ingress Configuration"
+ - variable: manager.ingress.annotations
+ default: "{}"
+ description: Add annotations to ingress to influence behavior. Please use the 'Edit as YAML' feature in the Rancher UI to add single or multiple lines of annotation
+ type: string
+ label: Manager Ingress Annotations
+ group: "Ingress Configuration"
+- variable: controller.ingress.enabled
+ default: false
+ description: If true, create ingress for rest api, must also set ingress host value
+ type: boolean
+ label: Controller Ingress Status
+ group: "Ingress Configuration"
+ show_subquestion_if: true
+ subquestions:
+ - variable: controller.ingress.host
+ default: ""
+ description: Must set this host value if ingress is enabled
+ type: string
+ label: Controller Ingress Host
+ group: "Ingress Configuration"
+ - variable: controller.ingress.path
+ default: "/"
+ description: Set ingress path
+ type: string
+ label: Controller Ingress Path
+ group: "Ingress Configuration"
+ - variable: controller.ingress.annotations
+ default: "{}"
+ description: Add annotations to ingress to influence behavior. Please use the 'Edit as YAML' feature in the Rancher UI to add single or multiple lines of annotation
+ type: string
+ label: Controller Ingress Annotations
+ group: "Ingress Configuration"
+- variable: controller.federation.mastersvc.ingress.enabled
+ default: false
+ description: If true, create ingress for rest api, must also set ingress host value
+ type: boolean
+ label: Controller Federation Master Service Ingress Status
+ group: "Ingress Configuration"
+ show_subquestion_if: true
+ subquestions:
+ - variable: controller.federation.mastersvc.ingress.tls
+ default: false
+ description: If true, TLS is enabled for controller federation master ingress service
+ type: boolean
+ label: Controller Federation Master Service Ingress TLS Status
+ group: "Ingress Configuration"
+ - variable: controller.federation.mastersvc.ingress.host
+ default: ""
+ description: Must set this host value if ingress is enabled
+ type: string
+ label: Controller Federation Master Service Ingress Host
+ group: "Ingress Configuration"
+ - variable: controller.federation.mastersvc.ingress.path
+ default: "/"
+ description: Set ingress path
+ type: string
+ label: Controller Federation Master Service Ingress Path
+ group: "Ingress Configuration"
+ - variable: controller.federation.mastersvc.ingress.ingressClassName
+ default: ""
+ description: To be used instead of the ingress.class annotation if an IngressClass is provisioned
+ type: string
+ label: Controller Federation Master Service Ingress IngressClassName
+ group: "Ingress Configuration"
+ - variable: controller.federation.mastersvc.ingress.secretName
+ default: ""
+ description: Name of the secret to be used for TLS-encryption
+ type: string
+ label: Controller Federation Master Service Ingress SecretName
+ group: "Ingress Configuration"
+ - variable: controller.federation.mastersvc.ingress.annotations
+ default: "{}"
+ description: Add annotations to ingress to influence behavior. Please use the 'Edit as YAML' feature in the Rancher UI to add single or multiple lines of annotation
+ type: string
+ label: Controller Federation Master Service Ingress Annotations
+ group: "Ingress Configuration"
+- variable: controller.federation.managedsvc.ingress.enabled
+ default: false
+ description: If true, create ingress for rest api, must also set ingress host value
+ type: boolean
+ label: Controller Federation Managed Service Ingress Status
+ group: "Ingress Configuration"
+ show_subquestion_if: true
+ subquestions:
+ - variable: controller.federation.managedsvc.ingress.tls
+ default: false
+ description: If true, TLS is enabled for controller federation managed ingress service
+ type: boolean
+ label: Controller Federation Managed Service Ingress TLS Status
+ group: "Ingress Configuration"
+ - variable: controller.federation.managedsvc.ingress.host
+ default: ""
+ description: Must set this host value if ingress is enabled
+ type: string
+ label: Controller Federation Managed Service Ingress Host
+ group: "Ingress Configuration"
+ - variable: controller.federation.managedsvc.ingress.path
+ default: "/"
+ description: Set ingress path
+ type: string
+ label: Controller Federation Managed Service Ingress Path
+ group: "Ingress Configuration"
+ - variable: controller.federation.managedsvc.ingress.ingressClassName
+ default: ""
+ description: To be used instead of the ingress.class annotation if an IngressClass is provisioned
+ type: string
+ label: Controller Federation Managed Service Ingress IngressClassName
+ group: "Ingress Configuration"
+ - variable: controller.federation.managedsvc.ingress.secretName
+ default: ""
+ description: Name of the secret to be used for TLS-encryption
+ type: string
+ label: Controller Federation Managed Service Ingress SecretName
+ group: "Ingress Configuration"
+ - variable: controller.federation.managedsvc.ingress.annotations
+ default: "{}"
+ description: Add annotations to ingress to influence behavior. Please use the 'Edit as YAML' feature in the Rancher UI to add single or multiple lines of annotation
+ type: string
+ label: Controller Federation Managed Service Ingress Annotations
+ group: "Ingress Configuration"
+#service configurations
+- variable: manager.svc.type
+ default: "NodePort"
+ description: Set manager service type for native Kubernetes
+ type: enum
+ label: Manager Service Type
+ group: "Service Configuration"
+ options:
+ - "NodePort"
+ - "ClusterIP"
+ - "LoadBalancer"
+- variable: controller.federation.mastersvc.type
+ default: ""
+ description: Multi-cluster master cluster service type. If specified, the deployment will be used to manage other clusters. Possible values include NodePort, LoadBalancer and ClusterIP
+ type: enum
+ label: Fed Master Service Type
+ group: "Service Configuration"
+ options:
+ - "NodePort"
+ - "ClusterIP"
+ - "LoadBalancer"
+- variable: controller.federation.managedsvc.type
+ default: ""
+ description: Multi-cluster managed cluster service type. If specified, the deployment will be managed by the master clsuter. Possible values include NodePort, LoadBalancer and ClusterIP
+ type: enum
+ label: Fed Managed Service Type
+ group: "Service Configuration"
+ options:
+ - "NodePort"
+ - "ClusterIP"
+ - "LoadBalancer"
+- variable: controller.apisvc.type
+ default: "NodePort"
+ description: Controller REST API service type
+ type: enum
+ label: Controller REST API Service Type
+ group: "Service Configuration"
+ options:
+ - "NodePort"
+ - "ClusterIP"
+ - "LoadBalancer"
+#Other Configuration
+- variable: psp
+ default: "false"
+ description: NeuVector Pod Security Policy when psp policy is enabled
+ type: boolean
+ label: Pod Security Policy
+ group: "Other Configuration"
+- variable: manager.runAsUser
+ default: ""
+ description: Specify the run as User ID
+ type: int
+ label: Manager runAsUser ID
+ group: "Other Configuration"
+- variable: cve.scanner.runAsUser
+ default: ""
+ description: Specify the run as User ID
+ type: int
+ label: Scanner runAsUser ID
+ group: "Other Configuration"
+- variable: cve.updater.runAsUser
+ default: ""
+ description: Specify the run as User ID
+ type: int
+ label: Updater runAsUser ID
+ group: "Other Configuration"
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/NOTES.txt b/charts/neuvector/100.0.3+up2.2.4/templates/NOTES.txt
new file mode 100644
index 000000000..e79b2cc21
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/NOTES.txt
@@ -0,0 +1,20 @@
+{{- if and .Values.manager.enabled .Values.manager.ingress.enabled }}
+From outside the cluster, the NeuVector URL is:
+http://{{ .Values.manager.ingress.host }}
+{{- else if not .Values.openshift }}
+Get the NeuVector URL by running these commands:
+{{- if contains "NodePort" .Values.manager.svc.type }}
+ NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services neuvector-service-webui)
+ NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo https://$NODE_IP:$NODE_PORT
+{{- else if contains "ClusterIP" .Values.manager.svc.type }}
+ CLUSTER_IP=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.clusterIP}" services neuvector-service-webui)
+ echo https://$CLUSTER_IP:8443
+{{- else if contains "LoadBalancer" .Values.manager.svc.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ Watch the status by running 'kubectl get svc --namespace {{ .Release.Namespace }} -w neuvector-service-webui'
+
+ SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} neuvector-service-webui -o jsonpath="{.status.loadBalancer.ingress[0].ip}")
+ echo https://$SERVICE_IP:8443
+{{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/_helpers.tpl b/charts/neuvector/100.0.3+up2.2.4/templates/_helpers.tpl
new file mode 100644
index 000000000..5d21a1824
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/_helpers.tpl
@@ -0,0 +1,40 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "neuvector.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- 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 "neuvector.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "neuvector.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{- define "system_default_registry" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
+{{- else -}}
+{{- "" -}}
+{{- end -}}
+{{- end -}}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/admission-webhook-service.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/admission-webhook-service.yaml
new file mode 100644
index 000000000..8a0a76aaa
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/admission-webhook-service.yaml
@@ -0,0 +1,18 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: neuvector-svc-admission-webhook
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ ports:
+ - port: 443
+ targetPort: 20443
+ protocol: TCP
+ name: admission-webhook
+ type: {{ .Values.admissionwebhook.type }}
+ selector:
+ app: neuvector-controller-pod
\ No newline at end of file
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/clusterrole.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/clusterrole.yaml
new file mode 100644
index 000000000..cce7a8254
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/clusterrole.yaml
@@ -0,0 +1,121 @@
+{{- if .Values.rbac -}}
+{{- $oc4 := and .Values.openshift (semverCompare ">=1.12-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) -}}
+{{- $oc3 := and .Values.openshift (not $oc4) (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) -}}
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRole
+metadata:
+ name: neuvector-binding-app
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+rules:
+- apiGroups:
+ - ""
+ resources:
+ - nodes
+ - pods
+ - services
+ - namespaces
+ verbs:
+ - get
+ - list
+ - watch
+ - update
+
+---
+
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRole
+metadata:
+ name: neuvector-binding-rbac
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+rules:
+{{- if .Values.openshift }}
+- apiGroups:
+ - image.openshift.io
+ resources:
+ - imagestreams
+ verbs:
+ - get
+ - list
+ - watch
+{{- end }}
+- apiGroups:
+ - rbac.authorization.k8s.io
+ resources:
+ - rolebindings
+ - roles
+ - clusterrolebindings
+ - clusterroles
+ verbs:
+ - get
+ - list
+ - watch
+
+---
+
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRole
+metadata:
+ name: neuvector-binding-admission
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+rules:
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - validatingwebhookconfigurations
+ - mutatingwebhookconfigurations
+ verbs:
+ - get
+ - list
+ - watch
+ - create
+ - update
+ - delete
+
+---
+
+{{- if $oc4 }}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: neuvector-binding-co
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+rules:
+- apiGroups:
+ - config.openshift.io
+ resources:
+ - clusteroperators
+ verbs:
+ - get
+ - list
+{{- end }}
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/clusterrolebinding.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/clusterrolebinding.yaml
new file mode 100644
index 000000000..70596a2b3
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/clusterrolebinding.yaml
@@ -0,0 +1,147 @@
+{{- if .Values.rbac -}}
+{{- $oc4 := and .Values.openshift (semverCompare ">=1.12-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) -}}
+{{- $oc3 := and .Values.openshift (not $oc4) (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) -}}
+
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRoleBinding
+metadata:
+ name: neuvector-binding-app
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+{{- if not $oc3 }}
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+{{- end }}
+ name: neuvector-binding-app
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- if $oc3 }}
+userNames:
+- system:serviceaccount:{{ .Release.Namespace }}:{{ .Values.serviceAccount }}
+{{- end }}
+
+---
+
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRoleBinding
+metadata:
+ name: neuvector-binding-rbac
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+{{- if not $oc3 }}
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+{{- end }}
+ name: neuvector-binding-rbac
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- if $oc3 }}
+userNames:
+- system:serviceaccount:{{ .Release.Namespace }}:{{ .Values.serviceAccount }}
+{{- end }}
+
+---
+
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRoleBinding
+metadata:
+ name: neuvector-binding-admission
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+{{- if not $oc3 }}
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+{{- end }}
+ name: neuvector-binding-admission
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- if $oc3 }}
+userNames:
+- system:serviceaccount:{{ .Release.Namespace }}:{{ .Values.serviceAccount }}
+{{- end }}
+
+---
+
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: ClusterRoleBinding
+metadata:
+ name: neuvector-binding-view
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+{{- if not $oc3 }}
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+{{- end }}
+ name: view
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- if $oc3 }}
+userNames:
+- system:serviceaccount:{{ .Release.Namespace }}:{{ .Values.serviceAccount }}
+{{- end }}
+
+---
+
+{{- if $oc4 }}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: neuvector-binding-co
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: neuvector-binding-co
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- end }}
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/controller-deployment.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/controller-deployment.yaml
new file mode 100644
index 000000000..a5ebe343f
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/controller-deployment.yaml
@@ -0,0 +1,197 @@
+{{- if .Values.controller.enabled -}}
+{{- if (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: apps/v1
+{{- else }}
+apiVersion: extensions/v1beta1
+{{- end }}
+kind: Deployment
+metadata:
+ name: neuvector-controller-pod
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+{{- with .Values.controller.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+spec:
+ replicas: {{ .Values.controller.replicas }}
+ minReadySeconds: 60
+ strategy:
+{{ toYaml .Values.controller.strategy | indent 4 }}
+ selector:
+ matchLabels:
+ app: neuvector-controller-pod
+ template:
+ metadata:
+ labels:
+ app: neuvector-controller-pod
+ release: {{ .Release.Name }}
+ spec:
+ {{- if .Values.controller.affinity }}
+ affinity:
+{{ toYaml .Values.controller.affinity | indent 8 }}
+ {{- end }}
+ {{- if .Values.controller.tolerations }}
+ tolerations:
+{{ toYaml .Values.controller.tolerations | indent 8 }}
+ {{- end }}
+ {{- if .Values.controller.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.controller.nodeSelector | indent 8 }}
+ {{- end }}
+ {{- if .Values.controller.schedulerName }}
+ schedulerName: {{ .Values.controller.schedulerName }}
+ {{- end }}
+ {{- if .Values.imagePullSecrets }}
+ imagePullSecrets:
+ - name: {{ .Values.imagePullSecrets }}
+ {{- end }}
+ {{- if .Values.controller.priorityClassName }}
+ priorityClassName: {{ .Values.controller.priorityClassName }}
+ {{- end }}
+ serviceAccountName: {{ .Values.serviceAccount }}
+ serviceAccount: {{ .Values.serviceAccount }}
+ containers:
+ - name: neuvector-controller-pod
+ image: {{ template "system_default_registry" . }}{{ .Values.controller.image.repository }}:{{ .Values.controller.image.tag }}
+ securityContext:
+ privileged: true
+ resources:
+ {{- if .Values.controller.resources }}
+{{ toYaml .Values.controller.resources | indent 12 }}
+ {{- else }}
+{{ toYaml .Values.resources | indent 12 }}
+ {{- end }}
+ readinessProbe:
+ exec:
+ command:
+ - cat
+ - /tmp/ready
+ initialDelaySeconds: 5
+ periodSeconds: 5
+ env:
+ - name: CLUSTER_JOIN_ADDR
+ value: neuvector-svc-controller.{{ .Release.Namespace }}
+ - name: CLUSTER_ADVERTISED_ADDR
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: CLUSTER_BIND_ADDR
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ {{- if .Values.controller.ranchersso.enabled }}
+ - name: RANCHER_SSO
+ value: "1"
+ - name: RANCHER_EP
+ value: "{{ .Values.global.cattle.url }}"
+ {{- end }}
+ {{- if or .Values.controller.pvc.enabled .Values.controller.azureFileShare.enabled }}
+ - name: CTRL_PERSIST_CONFIG
+ value: "1"
+ {{- end }}
+ {{- with .Values.controller.env }}
+{{- toYaml . | nindent 12 }}
+ {{- end }}
+ volumeMounts:
+ - mountPath: /var/neuvector
+ name: nv-share
+ readOnly: false
+ {{- if .Values.containerd.enabled }}
+ - mountPath: /var/run/containerd/containerd.sock
+ {{- else if .Values.k3s.enabled }}
+ - mountPath: /var/run/containerd/containerd.sock
+ {{- else if .Values.bottlerocket.enabled }}
+ - mountPath: /var/run/containerd/containerd.sock
+ {{- else if .Values.crio.enabled }}
+ - mountPath: /var/run/crio/crio.sock
+ {{- else }}
+ - mountPath: /var/run/docker.sock
+ {{- end }}
+ name: runtime-sock
+ readOnly: true
+ - mountPath: /host/proc
+ name: proc-vol
+ readOnly: true
+ - mountPath: /host/cgroup
+ name: cgroup-vol
+ readOnly: true
+ - mountPath: /etc/config
+ name: config-volume
+ readOnly: true
+ {{- if .Values.controller.certificate.secret }}
+ - mountPath: /etc/neuvector/certs/ssl-cert.key
+ subPath: {{ .Values.controller.certificate.keyFile }}
+ name: cert
+ readOnly: true
+ - mountPath: /etc/neuvector/certs/ssl-cert.pem
+ subPath: {{ .Values.controller.certificate.pemFile }}
+ name: cert
+ readOnly: true
+ {{- end }}
+ terminationGracePeriodSeconds: 300
+ restartPolicy: Always
+ volumes:
+ - name: nv-share
+ {{- if .Values.controller.pvc.enabled }}
+ persistentVolumeClaim:
+ claimName: neuvector-data
+ {{- else if .Values.controller.azureFileShare.enabled }}
+ azureFile:
+ secretName: {{ .Values.controller.azureFileShare.secretName }}
+ shareName: {{ .Values.controller.azureFileShare.shareName }}
+ readOnly: false
+ {{- else }}
+ hostPath:
+ path: /var/neuvector
+ {{- end }}
+ - name: runtime-sock
+ hostPath:
+ {{- if .Values.containerd.enabled }}
+ path: {{ .Values.containerd.path }}
+ {{- else if .Values.crio.enabled }}
+ path: {{ .Values.crio.path }}
+ {{- else if .Values.k3s.enabled }}
+ path: {{ .Values.k3s.runtimePath }}
+ {{- else if .Values.bottlerocket.enabled }}
+ path: {{ .Values.bottlerocket.runtimePath }}
+ {{- else }}
+ path: {{ .Values.docker.path }}
+ {{- end }}
+ - name: proc-vol
+ hostPath:
+ path: /proc
+ - name: cgroup-vol
+ hostPath:
+ path: /sys/fs/cgroup
+ - name: config-volume
+ projected:
+ sources:
+ - configMap:
+ name: neuvector-init
+ optional: true
+ - secret:
+ name: neuvector-init
+ optional: true
+ {{- if .Values.controller.certificate.secret }}
+ - name: cert
+ secret:
+ secretName: {{ .Values.controller.certificate.secret }}
+ {{- end }}
+{{- if gt (int .Values.controller.disruptionbudget) 0 }}
+---
+apiVersion: policy/v1beta1
+kind: PodDisruptionBudget
+metadata:
+ name: neuvector-controller-pdb
+ namespace: neuvector
+spec:
+ minAvailable: {{ .Values.controller.disruptionbudget }}
+ selector:
+ matchLabels:
+ app: neuvector-controller-pod
+{{- end }}
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/controller-ingress.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/controller-ingress.yaml
new file mode 100644
index 000000000..b36fbbdc0
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/controller-ingress.yaml
@@ -0,0 +1,219 @@
+{{- if .Values.controller.enabled }}
+{{- if .Values.controller.ingress.enabled }}
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: neuvector-restapi-ingress
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.controller.ingress.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.controller.ingress.ingressClassName }}
+ ingressClassName: {{ .Values.controller.ingress.ingressClassName | quote }}
+{{ end }}
+{{- if .Values.controller.ingress.tls }}
+ tls:
+ - hosts:
+ - {{ .Values.controller.ingress.host }}
+{{- if .Values.controller.ingress.secretName }}
+ secretName: {{ .Values.controller.ingress.secretName }}
+{{- end }}
+{{- end }}
+ rules:
+ - host: {{ .Values.controller.ingress.host }}
+ http:
+ paths:
+ - path: {{ .Values.controller.ingress.path }}
+ pathType: Prefix
+ backend:
+ service:
+ name: neuvector-svc-controller-api
+ port:
+ number: 10443
+{{- else }}
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+ name: neuvector-restapi-ingress
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.controller.ingress.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.controller.ingress.tls }}
+ tls:
+ - hosts:
+ - {{ .Values.controller.ingress.host }}
+{{- if .Values.controller.ingress.secretName }}
+ secretName: {{ .Values.controller.ingress.secretName }}
+{{- end }}
+{{- end }}
+ rules:
+ - host: {{ .Values.controller.ingress.host }}
+ http:
+ paths:
+ - path: {{ .Values.controller.ingress.path }}
+ backend:
+ serviceName: neuvector-svc-controller-api
+ servicePort: 10443
+{{- end }}
+{{- end }}
+{{- if .Values.controller.federation.mastersvc.ingress.enabled }}
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: neuvector-mastersvc-ingress
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.controller.federation.mastersvc.ingress.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.controller.federation.mastersvc.ingress.ingressClassName }}
+ ingressClassName: {{ .Values.controller.federation.mastersvc.ingress.ingressClassName | quote }}
+{{ end }}
+{{- if .Values.controller.federation.mastersvc.ingress.tls }}
+ tls:
+ - hosts:
+ - {{ .Values.controller.federation.mastersvc.ingress.host }}
+{{- if .Values.controller.federation.mastersvc.ingress.secretName }}
+ secretName: {{ .Values.controller.federation.mastersvc.ingress.secretName }}
+{{- end }}
+{{- end }}
+ rules:
+ - host: {{ .Values.controller.federation.mastersvc.ingress.host }}
+ http:
+ paths:
+ - path: {{ .Values.controller.federation.mastersvc.ingress.path }}
+ pathType: Prefix
+ backend:
+ service:
+ name: neuvector-svc-controller-fed-master
+ port:
+ number: 11443
+{{- else }}
+---
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+ name: neuvector-mastersvc-ingress
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.controller.federation.mastersvc.ingress.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.controller.federation.mastersvc.ingress.tls }}
+ tls:
+ - hosts:
+ - {{ .Values.controller.federation.mastersvc.ingress.host }}
+{{- if .Values.controller.federation.mastersvc.ingress.secretName }}
+ secretName: {{ .Values.controller.federation.mastersvc.ingress.secretName }}
+{{- end }}
+{{- end }}
+ rules:
+ - host: {{ .Values.controller.federation.mastersvc.ingress.host }}
+ http:
+ paths:
+ - path: {{ .Values.controller.federation.mastersvc.ingress.path }}
+ backend:
+ serviceName: neuvector-svc-controller-fed-master
+ servicePort: 11443
+{{- end }}
+{{- end }}
+{{- if .Values.controller.federation.managedsvc.ingress.enabled }}
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: neuvector-managedsvc-ingress
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.controller.federation.managedsvc.ingress.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.controller.federation.managedsvc.ingress.ingressClassName }}
+ ingressClassName: {{ .Values.controller.federation.managedsvc.ingress.ingressClassName | quote }}
+{{ end }}
+{{- if .Values.controller.federation.managedsvc.ingress.tls }}
+ tls:
+ - hosts:
+ - {{ .Values.controller.federation.managedsvc.ingress.host }}
+{{- if .Values.controller.federation.managedsvc.ingress.secretName }}
+ secretName: {{ .Values.controller.federation.managedsvc.ingress.secretName }}
+{{- end }}
+{{- end }}
+ rules:
+ - host: {{ .Values.controller.federation.managedsvc.ingress.host }}
+ http:
+ paths:
+ - path: {{ .Values.controller.federation.managedsvc.ingress.path }}
+ pathType: Prefix
+ backend:
+ service:
+ name: neuvector-svc-controller-fed-managed
+ port:
+ number: 10443
+{{- else }}
+---
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+ name: neuvector-managedsvc-ingress
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.controller.federation.managedsvc.ingress.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.controller.federation.managedsvc.ingress.tls }}
+ tls:
+ - hosts:
+ - {{ .Values.controller.federation.managedsvc.ingress.host }}
+{{- if .Values.controller.federation.managedsvc.ingress.secretName }}
+ secretName: {{ .Values.controller.federation.managedsvc.ingress.secretName }}
+{{- end }}
+{{- end }}
+ rules:
+ - host: {{ .Values.controller.federation.managedsvc.ingress.host }}
+ http:
+ paths:
+ - path: {{ .Values.controller.federation.managedsvc.ingress.path }}
+ backend:
+ serviceName: neuvector-svc-controller-fed-managed
+ servicePort: 10443
+{{- end }}
+{{- end }}
+{{- end -}}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/controller-route.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/controller-route.yaml
new file mode 100644
index 000000000..686a77ec4
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/controller-route.yaml
@@ -0,0 +1,98 @@
+{{- if .Values.openshift -}}
+{{- if .Values.controller.apisvc.route.enabled }}
+{{- if (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: route.openshift.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: Route
+metadata:
+ name: neuvector-route-api
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.controller.apisvc.route.host }}
+ host: {{ .Values.controller.apisvc.route.host }}
+{{- end }}
+ to:
+ kind: Service
+ name: neuvector-svc-controller-api
+ port:
+ targetPort: controller-api
+ tls:
+ termination: {{ .Values.controller.apisvc.route.termination }}
+{{- if or (eq .Values.controller.apisvc.route.termination "reencrypt") (eq .Values.controller.apisvc.route.termination "edge") }}
+{{- with .Values.controller.apisvc.route.tls }}
+{{ toYaml . | indent 4 }}
+{{- end }}
+{{- end }}
+
+---
+{{ end -}}
+{{- if .Values.controller.federation.mastersvc.route.enabled }}
+{{- if (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: route.openshift.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: Route
+metadata:
+ name: neuvector-route-fed-master
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.controller.federation.mastersvc.route.host }}
+ host: {{ .Values.controller.federation.mastersvc.route.host }}
+{{- end }}
+ to:
+ kind: Service
+ name: neuvector-svc-controller-fed-master
+ port:
+ targetPort: fed
+ tls:
+ termination: {{ .Values.controller.federation.mastersvc.route.termination }}
+{{- if or (eq .Values.controller.federation.mastersvc.route.termination "reencrypt") (eq .Values.controller.federation.mastersvc.route.termination "edge") }}
+{{- with .Values.controller.federation.mastersvc.route.tls }}
+{{ toYaml . | indent 4 }}
+{{- end }}
+{{- end }}
+---
+{{ end -}}
+{{- if .Values.controller.federation.managedsvc.route.enabled }}
+{{- if (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: route.openshift.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: Route
+metadata:
+ name: neuvector-route-fed-managed
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.controller.federation.managedsvc.route.host }}
+ host: {{ .Values.controller.federation.managedsvc.route.host }}
+{{- end }}
+ to:
+ kind: Service
+ name: neuvector-svc-controller-fed-managed
+ port:
+ targetPort: fed
+ tls:
+ termination: {{ .Values.controller.federation.managedsvc.route.termination }}
+{{- if or (eq .Values.controller.federation.managedsvc.route.termination "reencrypt") (eq .Values.controller.federation.managedsvc.route.termination "edge") }}
+{{- with .Values.controller.federation.managedsvc.route.tls }}
+{{ toYaml . | indent 4 }}
+{{- end }}
+{{- end }}
+{{ end -}}
+{{- end -}}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/controller-service.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/controller-service.yaml
new file mode 100644
index 000000000..d4040a78a
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/controller-service.yaml
@@ -0,0 +1,97 @@
+{{- if .Values.controller.enabled -}}
+apiVersion: v1
+kind: Service
+metadata:
+ name: neuvector-svc-controller
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ clusterIP: None
+ ports:
+ - port: 18300
+ protocol: "TCP"
+ name: "cluster-tcp-18300"
+ - port: 18301
+ protocol: "TCP"
+ name: "cluster-tcp-18301"
+ - port: 18301
+ protocol: "UDP"
+ name: "cluster-udp-18301"
+ selector:
+ app: neuvector-controller-pod
+{{- if .Values.controller.apisvc.type }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: neuvector-svc-controller-api
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.controller.apisvc.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.controller.apisvc.type }}
+ ports:
+ - port: 10443
+ protocol: "TCP"
+ name: "controller-api"
+ selector:
+ app: neuvector-controller-pod
+{{ end -}}
+{{- if .Values.controller.federation.mastersvc.type }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: neuvector-svc-controller-fed-master
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.controller.federation.mastersvc.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.controller.federation.mastersvc.type }}
+ ports:
+ - port: 11443
+ name: fed
+ protocol: TCP
+ selector:
+ app: neuvector-controller-pod
+{{ end -}}
+{{- if .Values.controller.federation.managedsvc.type }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: neuvector-svc-controller-fed-managed
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.controller.federation.managedsvc.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.controller.federation.managedsvc.type }}
+ ports:
+ - port: 10443
+ name: fed
+ protocol: TCP
+ selector:
+ app: neuvector-controller-pod
+{{ end -}}
+{{- end -}}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/enforcer-daemonset.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/enforcer-daemonset.yaml
new file mode 100644
index 000000000..8785763df
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/enforcer-daemonset.yaml
@@ -0,0 +1,111 @@
+{{- if .Values.enforcer.enabled -}}
+{{- if (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: apps/v1
+{{- else }}
+apiVersion: extensions/v1beta1
+{{- end }}
+kind: DaemonSet
+metadata:
+ name: neuvector-enforcer-pod
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+spec:
+ updateStrategy:
+ type: RollingUpdate
+ selector:
+ matchLabels:
+ app: neuvector-enforcer-pod
+ template:
+ metadata:
+ labels:
+ app: neuvector-enforcer-pod
+ release: {{ .Release.Name }}
+ spec:
+ {{- if .Values.imagePullSecrets }}
+ imagePullSecrets:
+ - name: {{ .Values.imagePullSecrets }}
+ {{- end }}
+ {{- if .Values.enforcer.tolerations }}
+ tolerations:
+{{ toYaml .Values.enforcer.tolerations | indent 8 }}
+ {{- end }}
+ hostPID: true
+ {{- if .Values.enforcer.priorityClassName }}
+ priorityClassName: {{ .Values.enforcer.priorityClassName }}
+ {{- end }}
+ serviceAccountName: {{ .Values.serviceAccount }}
+ serviceAccount: {{ .Values.serviceAccount }}
+ containers:
+ - name: neuvector-enforcer-pod
+ image: {{ template "system_default_registry" . }}{{ .Values.enforcer.image.repository }}:{{ .Values.enforcer.image.tag }}
+ securityContext:
+ privileged: true
+ resources:
+ {{- if .Values.enforcer.resources }}
+{{ toYaml .Values.enforcer.resources | indent 12 }}
+ {{- else }}
+{{ toYaml .Values.resources | indent 12 }}
+ {{- end }}
+ env:
+ - name: CLUSTER_JOIN_ADDR
+ value: neuvector-svc-controller.{{ .Release.Namespace }}
+ - name: CLUSTER_ADVERTISED_ADDR
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: CLUSTER_BIND_ADDR
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ volumeMounts:
+ {{- if .Values.containerd.enabled }}
+ - mountPath: /var/run/containerd/containerd.sock
+ {{- else if .Values.k3s.enabled }}
+ - mountPath: /var/run/containerd/containerd.sock
+ {{- else if .Values.bottlerocket.enabled }}
+ - mountPath: /var/run/containerd/containerd.sock
+ {{- else if .Values.crio.enabled }}
+ - mountPath: /var/run/crio/crio.sock
+ {{- else }}
+ - mountPath: /var/run/docker.sock
+ {{- end }}
+ name: runtime-sock
+ readOnly: true
+ - mountPath: /host/proc
+ name: proc-vol
+ readOnly: true
+ - mountPath: /host/cgroup
+ name: cgroup-vol
+ readOnly: true
+ - mountPath: /lib/modules
+ name: modules-vol
+ readOnly: true
+ terminationGracePeriodSeconds: 1200
+ restartPolicy: Always
+ volumes:
+ - name: runtime-sock
+ hostPath:
+ {{- if .Values.containerd.enabled }}
+ path: {{ .Values.containerd.path }}
+ {{- else if .Values.crio.enabled }}
+ path: {{ .Values.crio.path }}
+ {{- else if .Values.k3s.enabled }}
+ path: {{ .Values.k3s.runtimePath }}
+ {{- else if .Values.bottlerocket.enabled }}
+ path: {{ .Values.bottlerocket.runtimePath }}
+ {{- else }}
+ path: {{ .Values.docker.path }}
+ {{- end }}
+ - name: proc-vol
+ hostPath:
+ path: /proc
+ - name: cgroup-vol
+ hostPath:
+ path: /sys/fs/cgroup
+ - name: modules-vol
+ hostPath:
+ path: /lib/modules
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/init-configmap.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/init-configmap.yaml
new file mode 100644
index 000000000..4d3b97129
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/init-configmap.yaml
@@ -0,0 +1,13 @@
+{{- if .Values.controller.configmap.enabled }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: neuvector-init
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+data:
+{{ toYaml .Values.controller.configmap.data | indent 4 }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/init-secret.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/init-secret.yaml
new file mode 100644
index 000000000..8a5081408
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/init-secret.yaml
@@ -0,0 +1,15 @@
+{{- if .Values.controller.secret.enabled }}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: neuvector-init
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+data:
+{{- range $key, $val := .Values.controller.secret.data }}
+ {{ $key }}: | {{ toYaml $val | b64enc | nindent 4 }}
+{{- end }}
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/manager-deployment.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/manager-deployment.yaml
new file mode 100644
index 000000000..547880d9a
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/manager-deployment.yaml
@@ -0,0 +1,85 @@
+{{- if .Values.manager.enabled -}}
+{{- if (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: apps/v1
+{{- else }}
+apiVersion: extensions/v1beta1
+{{- end }}
+kind: Deployment
+metadata:
+ name: neuvector-manager-pod
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: neuvector-manager-pod
+ template:
+ metadata:
+ labels:
+ app: neuvector-manager-pod
+ release: {{ .Release.Name }}
+ spec:
+ {{- if .Values.manager.affinity }}
+ affinity:
+{{ toYaml .Values.manager.affinity | indent 8 }}
+ {{- end }}
+ {{- if .Values.manager.tolerations }}
+ tolerations:
+{{ toYaml .Values.manager.tolerations | indent 8 }}
+ {{- end }}
+ {{- if .Values.manager.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.manager.nodeSelector | indent 8 }}
+ {{- end }}
+ {{- if .Values.imagePullSecrets }}
+ imagePullSecrets:
+ - name: {{ .Values.imagePullSecrets }}
+ {{- end }}
+ {{- if .Values.manager.priorityClassName }}
+ priorityClassName: {{ .Values.manager.priorityClassName }}
+ {{- end }}
+ serviceAccountName: {{ .Values.serviceAccount }}
+ serviceAccount: {{ .Values.serviceAccount }}
+ {{- if .Values.manager.runAsUser }}
+ securityContext:
+ runAsUser: {{ .Values.manager.runAsUser }}
+ {{- end }}
+ containers:
+ - name: neuvector-manager-pod
+ image: {{ template "system_default_registry" . }}{{ .Values.manager.image.repository }}:{{ .Values.manager.image.tag }}
+ env:
+ - name: CTRL_SERVER_IP
+ value: neuvector-svc-controller.{{ .Release.Namespace }}
+ {{- if not .Values.manager.env.ssl }}
+ - name: MANAGER_SSL
+ value: "off"
+ {{- end }}
+ volumeMounts:
+ {{- if .Values.manager.certificate.secret }}
+ - mountPath: /etc/neuvector/certs/ssl-cert.key
+ subPath: {{ .Values.manager.certificate.keyFile }}
+ name: cert
+ readOnly: true
+ - mountPath: /etc/neuvector/certs/ssl-cert.pem
+ subPath: {{ .Values.manager.certificate.pemFile }}
+ name: cert
+ readOnly: true
+ {{- end }}
+ resources:
+ {{- if .Values.manager.resources }}
+{{ toYaml .Values.manager.resources | indent 12 }}
+ {{- else }}
+{{ toYaml .Values.resources | indent 12 }}
+ {{- end }}
+ restartPolicy: Always
+ volumes:
+ {{- if .Values.manager.certificate.secret }}
+ - name: cert
+ secret:
+ secretName: {{ .Values.manager.certificate.secret }}
+ {{- end }}
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/manager-ingress.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/manager-ingress.yaml
new file mode 100644
index 000000000..d6e2e3350
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/manager-ingress.yaml
@@ -0,0 +1,71 @@
+{{- if and .Values.manager.enabled .Values.manager.ingress.enabled -}}
+{{- if (semverCompare ">=1.19-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: neuvector-webui-ingress
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.manager.ingress.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.manager.ingress.ingressClassName }}
+ ingressClassName: {{ .Values.manager.ingress.ingressClassName | quote }}
+{{ end }}
+{{- if .Values.manager.ingress.tls }}
+ tls:
+ - hosts:
+ - {{ .Values.manager.ingress.host }}
+{{- if .Values.manager.ingress.secretName }}
+ secretName: {{ .Values.manager.ingress.secretName }}
+{{- end }}
+{{- end }}
+ rules:
+ - host: {{ .Values.manager.ingress.host }}
+ http:
+ paths:
+ - path: {{ .Values.manager.ingress.path }}
+ pathType: Prefix
+ backend:
+ service:
+ name: neuvector-service-webui
+ port:
+ number: 8443
+{{- else }}
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+ name: neuvector-webui-ingress
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.manager.ingress.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.manager.ingress.tls }}
+ tls:
+ - hosts:
+ - {{ .Values.manager.ingress.host }}
+{{- if .Values.manager.ingress.secretName }}
+ secretName: {{ .Values.manager.ingress.secretName }}
+{{- end }}
+{{- end }}
+ rules:
+ - host: {{ .Values.manager.ingress.host }}
+ http:
+ paths:
+ - path: {{ .Values.manager.ingress.path }}
+ backend:
+ serviceName: neuvector-service-webui
+ servicePort: 8443
+{{- end }}
+{{- end -}}
\ No newline at end of file
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/manager-route.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/manager-route.yaml
new file mode 100644
index 000000000..784a4ae23
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/manager-route.yaml
@@ -0,0 +1,33 @@
+{{- if .Values.openshift -}}
+{{- if .Values.manager.route.enabled }}
+{{- if (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: route.openshift.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: Route
+metadata:
+ name: neuvector-route-webui
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+{{- if .Values.manager.route.host }}
+ host: {{ .Values.manager.route.host }}
+{{- end }}
+ to:
+ kind: Service
+ name: neuvector-service-webui
+ port:
+ targetPort: manager
+ tls:
+ termination: {{ .Values.manager.route.termination }}
+{{- if or (eq .Values.manager.route.termination "reencrypt") (eq .Values.manager.route.termination "edge") }}
+{{- with .Values.manager.route.tls }}
+{{ toYaml . | indent 4 }}
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end -}}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/manager-service.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/manager-service.yaml
new file mode 100644
index 000000000..e18e55c35
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/manager-service.yaml
@@ -0,0 +1,26 @@
+{{- if .Values.manager.enabled -}}
+apiVersion: v1
+kind: Service
+metadata:
+ name: neuvector-service-webui
+ namespace: {{ .Release.Namespace }}
+{{- with .Values.manager.svc.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.manager.svc.type }}
+{{- if and .Values.manager.svc.loadBalancerIP (eq .Values.manager.svc.type "LoadBalancer") }}
+ loadBalancerIP: {{ .Values.manager.svc.loadBalancerIP }}
+{{- end }}
+ ports:
+ - port: 8443
+ name: manager
+ protocol: TCP
+ selector:
+ app: neuvector-manager-pod
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/psp.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/psp.yaml
new file mode 100644
index 000000000..c1d68857b
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/psp.yaml
@@ -0,0 +1,77 @@
+{{- if .Values.psp -}}
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: neuvector-binding-psp
+ annotations:
+ seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+spec:
+ privileged: true
+ readOnlyRootFilesystem: false
+ allowPrivilegeEscalation: true
+ allowedCapabilities:
+ - SYS_ADMIN
+ - NET_ADMIN
+ - SYS_PTRACE
+ - IPC_LOCK
+ requiredDropCapabilities:
+ - ALL
+ volumes:
+ - '*'
+ hostNetwork: true
+ hostPorts:
+ - min: 0
+ max: 65535
+ hostIPC: true
+ hostPID: true
+ runAsUser:
+ rule: 'RunAsAny'
+ seLinux:
+ rule: 'RunAsAny'
+ supplementalGroups:
+ rule: 'RunAsAny'
+ fsGroup:
+ rule: 'RunAsAny'
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: neuvector-binding-psp
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+rules:
+- apiGroups:
+ - policy
+ - extensions
+ resources:
+ - podsecuritypolicies
+ verbs:
+ - use
+ resourceNames:
+ - neuvector-binding-psp
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: neuvector-binding-psp
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: neuvector-binding-psp
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/pvc.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/pvc.yaml
new file mode 100644
index 000000000..1e976bbf6
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/pvc.yaml
@@ -0,0 +1,25 @@
+{{- if and .Values.controller.enabled .Values.controller.pvc.enabled -}}
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: neuvector-data
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ accessModes:
+{{ toYaml .Values.controller.pvc.accessModes | indent 4 }}
+ volumeMode: Filesystem
+{{- if .Values.controller.pvc.storageClass }}
+ storageClassName: {{ .Values.controller.pvc.storageClass }}
+{{- end }}
+ resources:
+ requests:
+{{- if .Values.controller.pvc.capacity }}
+ storage: {{ .Values.controller.pvc.capacity }}
+{{- else }}
+ storage: 1Gi
+{{- end }}
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/rolebinding.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/rolebinding.yaml
new file mode 100644
index 000000000..6e6af5b6a
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/rolebinding.yaml
@@ -0,0 +1,56 @@
+{{- if .Values.rbac -}}
+{{- $oc4 := and .Values.openshift (semverCompare ">=1.12-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) -}}
+{{- $oc3 := and .Values.openshift (not $oc4) (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) -}}
+
+{{- if $oc3 }}
+apiVersion: authorization.openshift.io/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: rbac.authorization.k8s.io/v1
+{{- else }}
+apiVersion: v1
+{{- end }}
+kind: RoleBinding
+metadata:
+ name: neuvector-admin
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+{{- if not $oc3 }}
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+{{- end }}
+ name: admin
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- if $oc3 }}
+userNames:
+- system:serviceaccount:{{ .Release.Namespace }}:{{ .Values.serviceAccount }}
+{{- end }}
+
+---
+
+{{- if $oc4 }}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: system:openshift:scc:privileged
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: system:openshift:scc:privileged
+subjects:
+- kind: ServiceAccount
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+{{- end }}
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/scanner-deployment.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/scanner-deployment.yaml
new file mode 100644
index 000000000..080edf3e7
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/scanner-deployment.yaml
@@ -0,0 +1,66 @@
+{{- if .Values.cve.scanner.enabled -}}
+{{- if (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: apps/v1
+{{- else }}
+apiVersion: extensions/v1beta1
+{{- end }}
+kind: Deployment
+metadata:
+ name: neuvector-scanner-pod
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+spec:
+ strategy:
+{{ toYaml .Values.cve.scanner.strategy | indent 4 }}
+ replicas: {{ .Values.cve.scanner.replicas }}
+ selector:
+ matchLabels:
+ app: neuvector-scanner-pod
+ template:
+ metadata:
+ labels:
+ app: neuvector-scanner-pod
+ spec:
+ {{- if .Values.cve.scanner.affinity }}
+ affinity:
+{{ toYaml .Values.cve.scanner.affinity | indent 8 }}
+ {{- end }}
+ {{- if .Values.cve.scanner.tolerations }}
+ tolerations:
+{{ toYaml .Values.cve.scanner.tolerations | indent 8 }}
+ {{- end }}
+ {{- if .Values.cve.scanner.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.cve.scanner.nodeSelector | indent 8 }}
+ {{- end }}
+ {{- if .Values.imagePullSecrets }}
+ imagePullSecrets:
+ - name: {{ .Values.imagePullSecrets }}
+ {{- end }}
+ {{- if .Values.cve.scanner.priorityClassName }}
+ priorityClassName: {{ .Values.cve.scanner.priorityClassName }}
+ {{- end }}
+ serviceAccountName: {{ .Values.serviceAccount }}
+ serviceAccount: {{ .Values.serviceAccount }}
+ {{- if .Values.cve.scanner.runAsUser }}
+ securityContext:
+ runAsUser: {{ .Values.cve.scanner.runAsUser }}
+ {{- end }}
+ containers:
+ - name: neuvector-scanner-pod
+ image: {{ template "system_default_registry" . }}{{ .Values.cve.scanner.image.repository }}:{{ .Values.cve.scanner.image.tag }}
+ imagePullPolicy: Always
+ env:
+ - name: CLUSTER_JOIN_ADDR
+ value: neuvector-svc-controller.{{ .Release.Namespace }}
+ {{- if .Values.cve.scanner.dockerPath }}
+ - name: SCANNER_DOCKER_URL
+ value: {{ .Values.cve.scanner.dockerPath }}
+ {{- end }}
+ resources:
+{{ toYaml .Values.cve.scanner.resources | indent 12 }}
+ restartPolicy: Always
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/serviceaccount.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/serviceaccount.yaml
new file mode 100644
index 000000000..47da190a5
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/serviceaccount.yaml
@@ -0,0 +1,13 @@
+{{- if not .Values.openshift}}
+{{- if ne .Values.serviceAccount "default"}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ .Values.serviceAccount }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+{{- end }}
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/templates/updater-cronjob.yaml b/charts/neuvector/100.0.3+up2.2.4/templates/updater-cronjob.yaml
new file mode 100644
index 000000000..a6fabafb1
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/templates/updater-cronjob.yaml
@@ -0,0 +1,69 @@
+{{- if .Values.cve.updater.enabled -}}
+{{- if (semverCompare ">=1.21-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: batch/v1
+{{- else if (semverCompare ">=1.8-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+apiVersion: batch/v1beta1
+{{- else }}
+apiVersion: batch/v2alpha1
+{{- end }}
+kind: CronJob
+metadata:
+ name: neuvector-updater-pod
+ namespace: {{ .Release.Namespace }}
+ labels:
+ chart: {{ template "neuvector.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ schedule: {{ .Values.cve.updater.schedule | quote }}
+ jobTemplate:
+ spec:
+ template:
+ metadata:
+ labels:
+ app: neuvector-updater-pod
+ release: {{ .Release.Name }}
+ spec:
+ {{- if .Values.imagePullSecrets }}
+ imagePullSecrets:
+ - name: {{ .Values.imagePullSecrets }}
+ {{- end }}
+ {{- if .Values.cve.updater.priorityClassName }}
+ priorityClassName: {{ .Values.cve.updater.priorityClassName }}
+ {{- end }}
+ serviceAccountName: {{ .Values.serviceAccount }}
+ serviceAccount: {{ .Values.serviceAccount }}
+ {{- if .Values.cve.updater.runAsUser }}
+ securityContext:
+ runAsUser: {{ .Values.cve.updater.runAsUser }}
+ {{- end }}
+ containers:
+ - name: neuvector-updater-pod
+ image: {{ template "system_default_registry" . }}{{ .Values.cve.updater.image.repository }}:{{ .Values.cve.updater.image.tag }}
+ imagePullPolicy: Always
+ command:
+ - /bin/sh
+ - -c
+ - sleep 30
+ {{- if .Values.cve.scanner.enabled }}
+ lifecycle:
+ postStart:
+ exec:
+ command:
+ - /bin/sh
+ - -c
+ {{- if (semverCompare ">=1.9-0" (substr 1 -1 .Capabilities.KubeVersion.GitVersion)) }}
+ {{- if .Values.cve.updater.secure }}
+ - /usr/bin/curl -v -X PATCH -H "Authorization:Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" -H "Content-Type:application/strategic-merge-patch+json" -d '{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt":"'`date +%Y-%m-%dT%H:%M:%S%z`'"}}}}}' 'https://kubernetes.default/apis/apps/v1/namespaces/{{ .Release.Namespace }}/deployments/neuvector-scanner-pod'
+ {{- else }}
+ - /usr/bin/curl -kv -X PATCH -H "Authorization:Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" -H "Content-Type:application/strategic-merge-patch+json" -d '{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt":"'`date +%Y-%m-%dT%H:%M:%S%z`'"}}}}}' 'https://kubernetes.default/apis/apps/v1/namespaces/{{ .Release.Namespace }}/deployments/neuvector-scanner-pod'
+ {{- end }}
+ {{- else }}
+ - /usr/bin/curl -kv -X PATCH -H "Authorization:Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" -H "Content-Type:application/strategic-merge-patch+json" -d '{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt":"'`date +%Y-%m-%dT%H:%M:%S%z`'"}}}}}' 'https://kubernetes.default/apis/extensions/v1beta1/namespaces/{{ .Release.Namespace }}/deployments/neuvector-scanner-pod'
+ {{- end }}
+ {{- end }}
+ env:
+ - name: CLUSTER_JOIN_ADDR
+ value: neuvector-svc-controller.{{ .Release.Namespace }}
+ restartPolicy: Never
+{{- end }}
diff --git a/charts/neuvector/100.0.3+up2.2.4/values.yaml b/charts/neuvector/100.0.3+up2.2.4/values.yaml
new file mode 100644
index 000000000..81443a167
--- /dev/null
+++ b/charts/neuvector/100.0.3+up2.2.4/values.yaml
@@ -0,0 +1,365 @@
+# Default values for neuvector.
+# This is a YAML-formatted file.
+# Declare variables to be passed into the templates.
+
+global:
+ cattle:
+ systemDefaultRegistry: ""
+
+openshift: false
+
+registry: docker.io
+oem:
+psp: false
+rbac: true
+serviceAccount: neuvector
+
+controller:
+ # If false, controller will not be installed
+ enabled: true
+ annotations: {}
+ strategy:
+ type: RollingUpdate
+ rollingUpdate:
+ maxSurge: 1
+ maxUnavailable: 0
+ image:
+ repository: rancher/mirrored-neuvector-controller
+ tag: 5.0.4
+ hash:
+ replicas: 3
+ disruptionbudget: 0
+ schedulerName:
+ priorityClassName:
+ env: []
+ affinity:
+ podAntiAffinity:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ - weight: 100
+ podAffinityTerm:
+ labelSelector:
+ matchExpressions:
+ - key: app
+ operator: In
+ values:
+ - neuvector-controller-pod
+ topologyKey: "kubernetes.io/hostname"
+ tolerations: []
+ nodeSelector: {}
+ # key1: value1
+ # key2: value2
+ apisvc:
+ type:
+ annotations: {}
+ # OpenShift Route configuration
+ # Controller supports HTTPS only, so edge termination not supported
+ route:
+ enabled: false
+ termination: passthrough
+ host:
+ tls:
+ #certificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #caCertificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #destinationCACertificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #key: |
+ # -----BEGIN PRIVATE KEY-----
+ # -----END PRIVATE KEY-----
+ ranchersso:
+ enabled: true
+ pvc:
+ enabled: false
+ accessModes:
+ - ReadWriteMany
+ storageClass:
+ capacity:
+ azureFileShare:
+ enabled: false
+ secretName:
+ shareName:
+ certificate:
+ secret:
+ keyFile: tls.key
+ pemFile: tls.pem
+ federation:
+ mastersvc:
+ type:
+ # Federation Master Ingress
+ ingress:
+ enabled: false
+ host: # MUST be set, if ingress is enabled
+ ingressClassName: ""
+ path: "/" # or this could be "/api", but might need "rewrite-target" annotation
+ annotations:
+ nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
+ # ingress.kubernetes.io/rewrite-target: /
+ tls: false
+ secretName:
+ annotations: {}
+ # OpenShift Route configuration
+ # Controller supports HTTPS only, so edge termination not supported
+ route:
+ enabled: false
+ termination: passthrough
+ host:
+ tls:
+ #certificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #caCertificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #destinationCACertificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #key: |
+ # -----BEGIN PRIVATE KEY-----
+ # -----END PRIVATE KEY-----
+ managedsvc:
+ type:
+ # Federation Managed Ingress
+ ingress:
+ enabled: false
+ host: # MUST be set, if ingress is enabled
+ ingressClassName: ""
+ path: "/" # or this could be "/api", but might need "rewrite-target" annotation
+ annotations:
+ nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
+ # ingress.kubernetes.io/rewrite-target: /
+ tls: false
+ secretName:
+ annotations: {}
+ # OpenShift Route configuration
+ # Controller supports HTTPS only, so edge termination not supported
+ route:
+ enabled: false
+ termination: passthrough
+ host:
+ tls:
+ #certificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #caCertificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #destinationCACertificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #key: |
+ # -----BEGIN PRIVATE KEY-----
+ # -----END PRIVATE KEY-----
+ ingress:
+ enabled: false
+ host: # MUST be set, if ingress is enabled
+ ingressClassName: ""
+ path: "/" # or this could be "/api", but might need "rewrite-target" annotation
+ annotations:
+ nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
+ # ingress.kubernetes.io/rewrite-target: /
+ tls: false
+ secretName:
+ resources: {}
+ # limits:
+ # cpu: 400m
+ # memory: 2792Mi
+ # requests:
+ # cpu: 100m
+ # memory: 2280Mi
+ configmap:
+ enabled: false
+ data:
+ # eulainitcfg.yaml: |
+ # ...
+ # ldapinitcfg.yaml: |
+ # ...
+ # oidcinitcfg.yaml: |
+ # ...
+ # samlinitcfg.yaml: |
+ # ...
+ # sysinitcfg.yaml: |
+ # ...
+ # userinitcfg.yaml: |
+ # ...
+ secret:
+ # NOTE: files defined here have preferrence over the ones defined in the configmap section
+ enabled: false
+ data: {}
+ # eulainitcfg.yaml:
+ # license_key: 0Bca63Iy2FiXGqjk...
+ # ...
+ # ldapinitcfg.yaml:
+ # directory: OpenLDAP
+ # ...
+ # oidcinitcfg.yaml:
+ # Issuer: https://...
+ # ...
+ # samlinitcfg.yaml:
+ # ...
+ # sysinitcfg.yaml:
+ # ...
+ # userinitcfg.yaml:
+ # ...
+
+enforcer:
+ # If false, enforcer will not be installed
+ enabled: true
+ image:
+ repository: rancher/mirrored-neuvector-enforcer
+ tag: 5.0.4
+ hash:
+ priorityClassName:
+ tolerations:
+ - effect: NoSchedule
+ key: node-role.kubernetes.io/master
+ resources: {}
+ # limits:
+ # cpu: 400m
+ # memory: 2792Mi
+ # requests:
+ # cpu: 100m
+ # memory: 2280Mi
+
+manager:
+ # If false, manager will not be installed
+ enabled: true
+ image:
+ repository: rancher/mirrored-neuvector-manager
+ tag: 5.0.4
+ hash:
+ priorityClassName:
+ env:
+ ssl: true
+ svc:
+ type: NodePort
+ loadBalancerIP:
+ annotations: {}
+ # azure
+ # service.beta.kubernetes.io/azure-load-balancer-internal: "true"
+ # service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "apps-subnet"
+ # OpenShift Route configuration
+ # Make sure manager env ssl is false for edge termination
+ route:
+ enabled: true
+ termination: passthrough
+ host:
+ tls:
+ #certificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #caCertificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #destinationCACertificate: |
+ # -----BEGIN CERTIFICATE-----
+ # -----END CERTIFICATE-----
+ #key: |
+ # -----BEGIN PRIVATE KEY-----
+ # -----END PRIVATE KEY-----
+ certificate:
+ secret:
+ keyFile: tls.key
+ pemFile: tls.pem
+ ingress:
+ enabled: false
+ host: # MUST be set, if ingress is enabled
+ ingressClassName: ""
+ path: "/"
+ annotations:
+ nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
+ # kubernetes.io/ingress.class: my-nginx
+ # nginx.ingress.kubernetes.io/whitelist-source-range: "1.1.1.1"
+ # nginx.ingress.kubernetes.io/rewrite-target: /
+ # nginx.ingress.kubernetes.io/enable-rewrite-log: "true"
+ # only for end-to-end tls conf - ingress-nginx accepts backend self-signed cert
+ tls: false
+ secretName: # my-tls-secret
+ resources: {}
+ # limits:
+ # cpu: 400m
+ # memory: 2792Mi
+ # requests:
+ # cpu: 100m
+ # memory: 2280Mi
+ affinity: {}
+ tolerations: []
+ nodeSelector: {}
+ # key1: value1
+ # key2: value2
+ runAsUser: # MUST be set for Rancher hardened cluster
+cve:
+ updater:
+ # If false, cve updater will not be installed
+ enabled: true
+ secure: false
+ image:
+ repository: rancher/mirrored-neuvector-updater
+ tag: latest
+ hash:
+ schedule: "0 0 * * *"
+ priorityClassName:
+ runAsUser: # MUST be set for Rancher hardened cluster
+ scanner:
+ enabled: true
+ replicas: 3
+ dockerPath: ""
+ strategy:
+ type: RollingUpdate
+ rollingUpdate:
+ maxSurge: 1
+ maxUnavailable: 0
+ image:
+ repository: rancher/mirrored-neuvector-scanner
+ tag: latest
+ hash:
+ priorityClassName:
+ resources: {}
+ # limits:
+ # cpu: 400m
+ # memory: 2792Mi
+ # requests:
+ # cpu: 100m
+ # memory: 2280Mi
+ affinity: {}
+ tolerations: []
+ nodeSelector: {}
+ # key1: value1
+ # key2: value2
+ runAsUser: # MUST be set for Rancher hardened cluster
+docker:
+ path: /var/run/docker.sock
+
+resources: {}
+ # limits:
+ # cpu: 400m
+ # memory: 2792Mi
+ # requests:
+ # cpu: 100m
+ # memory: 2280Mi
+
+k3s:
+ enabled: false
+ runtimePath: /run/k3s/containerd/containerd.sock
+
+bottlerocket:
+ enabled: false
+ runtimePath: /run/dockershim.sock
+
+containerd:
+ enabled: false
+ path: /var/run/containerd/containerd.sock
+
+crio:
+ enabled: false
+ path: /var/run/crio/crio.sock
+
+admissionwebhook:
+ type: ClusterIP
+
+crdwebhook:
+ enabled: true
+ type: ClusterIP
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/Chart.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/Chart.yaml
new file mode 100644
index 000000000..a1796e2bb
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/Chart.yaml
@@ -0,0 +1,20 @@
+annotations:
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/display-name: Prometheus Federator
+ catalog.cattle.io/kube-version: '>=1.16.0-0'
+ catalog.cattle.io/namespace: cattle-monitoring-system
+ catalog.cattle.io/os: linux,windows
+ catalog.cattle.io/permits-os: linux,windows
+ catalog.cattle.io/provides-gvr: helm.cattle.io.projecthelmchart/v1alpha1
+ catalog.cattle.io/rancher-version: '>= 2.6.5-0 <= 2.6.100-0'
+ catalog.cattle.io/release-name: prometheus-federator
+apiVersion: v2
+appVersion: 0.2.1
+dependencies:
+- condition: helmProjectOperator.enabled
+ name: helmProjectOperator
+ repository: file://./charts/helmProjectOperator
+description: Prometheus Federator
+icon: https://raw.githubusercontent.com/rancher/prometheus-federator/main/assets/logos/prometheus-federator.svg
+name: prometheus-federator
+version: 0.2.0+up0.2.2
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/README.md b/charts/prometheus-federator/0.2.0+up0.2.2/README.md
new file mode 100644
index 000000000..7da4edfc2
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/README.md
@@ -0,0 +1,120 @@
+# Prometheus Federator
+
+This chart is deploys a Helm Project Operator (based on the [rancher/helm-project-operator](https://github.com/rancher/helm-project-operator)), an operator that manages deploying Helm charts each containing a Project Monitoring Stack, where each stack contains:
+- [Prometheus](https://prometheus.io/) (managed externally by [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator))
+- [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) (managed externally by [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator))
+- [Grafana](https://github.com/helm/charts/tree/master/stable/grafana) (deployed via an embedded Helm chart)
+- Default PrometheusRules and Grafana dashboards based on the collection of community-curated resources from [kube-prometheus](https://github.com/prometheus-operator/kube-prometheus/)
+- Default ServiceMonitors that watch the deployed resources
+
+> **Important Note: Prometheus Federator is designed to be deployed alongside an existing Prometheus Operator deployment in a cluster that has already installed the Prometheus Operator CRDs.**
+
+By default, the chart is configured and intended to be deployed alongside [rancher-monitoring](https://rancher.com/docs/rancher/v2.6/en/monitoring-alerting/), which deploys Prometheus Operator alongside a Cluster Prometheus that each Project Monitoring Stack is configured to federate namespace-scoped metrics from by default.
+
+## Pre-Installation: Using Prometheus Federator with Rancher and rancher-monitoring
+
+If you are running your cluster on [Rancher](https://rancher.com/) and already have [rancher-monitoring](https://rancher.com/docs/rancher/v2.6/en/monitoring-alerting/) deployed onto your cluster, Prometheus Federator's default configuration should already be configured to work with your existing Cluster Monitoring Stack; however, here are some notes on how we recommend you configure rancher-monitoring to optimize the security and usability of Prometheus Federator in your cluster:
+
+### Ensure the cattle-monitoring-system namespace is placed into the System Project (or a similarly locked down Project that has access to other Projects in the cluster)
+
+Prometheus Operator's security model expects that the namespace it is deployed into (`cattle-monitoring-system`) has limited access for anyone except Cluster Admins to avoid privilege escalation via execing into Pods (such as the Jobs executing Helm operations). In addition, deploying Prometheus Federator and all Project Prometheus stacks into the System Project ensures that the each Project Prometheus is able to reach out to scrape workloads across all Projects (even if Network Policies are defined via Project Network Isolation) but has limited access for Project Owners, Project Members, and other users to be able to access data they shouldn't have access to (i.e. being allowed to exec into pods, set up the ability to scrape namespaces outside of a given Project, etc.).
+
+### Configure rancher-monitoring to only watch for resources created by the Helm chart itself
+
+Since each Project Monitoring Stack will watch the other namespaces and collect additional custom workload metrics or dashboards already, it's recommended to configure the following settings on all selectors to ensure that the Cluster Prometheus Stack only monitors resources created by the Helm Chart itself:
+
+```
+matchLabels:
+ release: "rancher-monitoring"
+```
+
+The following selector fields are recommended to have this value:
+- `.Values.alertmanager.alertmanagerSpec.alertmanagerConfigSelector`
+- `.Values.prometheus.prometheusSpec.serviceMonitorSelector`
+- `.Values.prometheus.prometheusSpec.podMonitorSelector`
+- `.Values.prometheus.prometheusSpec.ruleSelector`
+- `.Values.prometheus.prometheusSpec.probeSelector`
+
+Once this setting is turned on, you can always create ServiceMonitors or PodMonitors that are picked up by the Cluster Prometheus by adding the label `release: "rancher-monitoring"` to them (in which case they will be ignored by Project Monitoring Stacks automatically by default, even if the namespace in which those ServiceMonitors or PodMonitors reside in are not system namespaces).
+
+> Note: If you don't want to allow users to be able to create ServiceMonitors and PodMonitors that aggregate into the Cluster Prometheus in Project namespaces, you can additionally set the namespaceSelectors on the chart to only target system namespaces (which must contain `cattle-monitoring-system` and `cattle-dashboards`, where resources are deployed into by default by rancher-monitoring; you will also need to monitor the `default` namespace to get apiserver metrics or create a custom ServiceMonitor to scrape apiserver metrics from the Service residing in the default namespace) to limit your Cluster Prometheus from picking up other Prometheus Operator CRs; in that case, it would be recommended to turn `.Values.prometheus.prometheusSpec.ignoreNamespaceSelectors=true` to allow you to define ServiceMonitors that can monitor non-system namespaces from within a system namespace.
+
+In addition, if you modified the default `.Values.grafana.sidecar.*.searchNamespace` values on the Grafana Helm subchart for Monitoring V2, it is also recommended to remove the overrides or ensure that your defaults are scoped to only system namespaces for the following values:
+- `.Values.grafana.sidecar.dashboards.searchNamespace` (default `cattle-dashboards`)
+- `.Values.grafana.sidecar.datasources.searchNamespace` (default `null`, which means it uses the release namespace `cattle-monitoring-system`)
+- `.Values.grafana.sidecar.plugins.searchNamespace` (default `null`, which means it uses the release namespace `cattle-monitoring-system`)
+- `.Values.grafana.sidecar.notifiers.searchNamespace` (default `null`, which means it uses the release namespace `cattle-monitoring-system`)
+
+### Increase the CPU / memory limits of the Cluster Prometheus
+
+Depending on a cluster's setup, it's generally recommended to give a large amount of dedicated memory to the Cluster Prometheus to avoid restarts due to out-of-memory errors (OOMKilled), usually caused by churn created in the cluster that causes a large number of high cardinality metrics to be generated and ingested by Prometheus within one block of time; this is one of the reasons why the default Rancher Monitoring stack expects around 4GB of RAM to be able to operate in a normal-sized cluster. However, when introducing Project Monitoring Stacks that are all sending `/federate` requests to the same Cluster Prometheus and are reliant on the Cluster Prometheus being "up" to federate that system data on their namespaces, it's even more important that the Cluster Prometheus has an ample amount of CPU / memory assigned to it to prevent an outage that can cause data gaps across all Project Prometheis in the cluster.
+
+> Note: There are no specific recommendations on how much memory the Cluster Prometheus should be configured with since it depends entirely on the user's setup (namely the likelihood of encountering a high churn rate and the scale of metrics that could be generated at that time); it generally varies per setup.
+
+## How does the operator work?
+
+1. On deploying this chart, users can create ProjectHelmCharts CRs with `spec.helmApiVersion` set to `monitoring.cattle.io/v1alpha1` (also known as "Project Monitors" in the Rancher UI) in a **Project Registration Namespace (`cattle-project-`)**.
+2. On seeing each ProjectHelmChartCR, the operator will automatically deploy a Project Prometheus stack on the Project Owner's behalf in the **Project Release Namespace (`cattle-project--monitoring`)** based on a HelmChart CR and a HelmRelease CR automatically created by the ProjectHelmChart controller in the **Operator / System Namespace**.
+3. RBAC will automatically be assigned in the Project Release Namespace to allow users to view the Prometheus, Alertmanager, and Grafana UIs of the Project Monitoring Stack deployed; this will be based on RBAC defined on the Project Registration Namespace against the [default Kubernetes user-facing roles](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles) (see below for more information about configuring RBAC).
+
+### What is a Project?
+
+In Prometheus Federator, a Project is a group of namespaces that can be identified by a `metav1.LabelSelector`; by default, the label used to identify projects is `field.cattle.io/projectId`, the label used to identify namespaces that are contained within a given [Rancher](https://rancher.com/) Project.
+
+### Configuring the Helm release created by a ProjectHelmChart
+
+The `spec.values` of this ProjectHelmChart resources will correspond to the `values.yaml` override to be supplied to the underlying Helm chart deployed by the operator on the user's behalf; to see the underlying chart's `values.yaml` spec, either:
+- View to the chart's definition located at [`rancher/prometheus-federator` under `charts/rancher-project-monitoring`](https://github.com/rancher/prometheus-federator/blob/main/charts/rancher-project-monitoring) (where the chart version will be tied to the version of this operator)
+- Look for the ConfigMap named `monitoring.cattle.io.v1alpha1` that is automatically created in each Project Registration Namespace, which will contain both the `values.yaml` and `questions.yaml` that was used to configure the chart (which was embedded directly into the `prometheus-federator` binary).
+
+### Namespaces
+
+As a Project Operator based on [rancher/helm-project-operator](https://github.com/rancher/helm-project-operator), Prometheus Federator has three different classifications of namespaces that the operator looks out for:
+1. **Operator / System Namespace**: this is the namespace that the operator is deployed into (e.g. `cattle-monitoring-system`). This namespace will contain all HelmCharts and HelmReleases for all ProjectHelmCharts watched by this operator. **Only Cluster Admins should have access to this namespace.**
+2. **Project Registration Namespace (`cattle-project-`)**: this is the set of namespaces that the operator watches for ProjectHelmCharts within. The RoleBindings and ClusterRoleBindings that apply to this namespace will also be the source of truth for the auto-assigned RBAC created in the Project Release Namespace (see more details below). **Project Owners (admin), Project Members (edit), and Read-Only Members (view) should have access to this namespace**.
+> Note: Project Registration Namespaces will be auto-generated by the operator and imported into the Project it is tied to if `.Values.global.cattle.projectLabel` is provided (which is set to `field.cattle.io/projectId` by default); this indicates that a Project Registration Namespace should be created by the operator if at least one namespace is observed with that label. The operator will not let these namespaces be deleted unless either all namespaces with that label are gone (e.g. this is the last namespace in that project, in which case the namespace will be marked with the label `"helm.cattle.io/helm-project-operator-orphaned": "true"`, which signals that it can be deleted) or it is no longer watching that project (because the project ID was provided under `.Values.helmProjectOperator.otherSystemProjectLabelValues`, which serves as a denylist for Projects). These namespaces will also never be auto-deleted to avoid destroying user data; it is recommended that users clean up these namespaces manually if desired on creating or deleting a project
+> Note: if `.Values.global.cattle.projectLabel` is not provided, the Operator / System Namespace will also be the Project Registration Namespace
+3. **Project Release Namespace (`cattle-project--monitoring`)**: this is the set of namespaces that the operator deploys Project Monitoring Stacks within on behalf of a ProjectHelmChart; the operator will also automatically assign RBAC to Roles created in this namespace by the Project Monitoring Stack based on bindings found in the Project Registration Namespace. **Only Cluster Admins should have access to this namespace; Project Owners (admin), Project Members (edit), and Read-Only Members (view) will be assigned limited access to this namespace by the deployed Helm Chart and Prometheus Federator.**
+> Note: Project Release Namespaces are automatically deployed and imported into the project whose ID is specified under `.Values.helmProjectOperator.projectReleaseNamespaces.labelValue` (which defaults to the value of `.Values.global.cattle.systemProjectId` if not specified) whenever a ProjectHelmChart is specified in a Project Registration Namespace
+> Note: Project Release Namespaces follow the same orphaning conventions as Project Registration Namespaces (see note above)
+> Note: if `.Values.projectReleaseNamespaces.enabled` is false, the Project Release Namespace will be the same as the Project Registration Namespace
+
+### Helm Resources (HelmChart, HelmRelease)
+
+On deploying a ProjectHelmChart, the Prometheus Federator will automatically create and manage two child custom resources that manage the underlying Helm resources in turn:
+- A HelmChart CR (managed via an embedded [k3s-io/helm-contoller](https://github.com/k3s-io/helm-controller) in the operator): this custom resource automatically creates a Job in the same namespace that triggers a `helm install`, `helm upgrade`, or `helm uninstall` depending on the change applied to the HelmChart CR; this CR is automatically updated on changes to the ProjectHelmChart (e.g. modifying the values.yaml) or changes to the underlying Project definition (e.g. adding or removing namespaces from a project).
+> **Important Note: If a ProjectHelmChart is not deploying or updating the underlying Project Monitoring Stack for some reason, the Job created by this resource in the Operator / System namespace should be the first place you check to see if there's something wrong with the Helm operation; however, this is generally only accessible by a Cluster Admin.**
+- A HelmRelease CR (managed via an embedded [rancher/helm-locker](https://github.com/rancher/helm-locker) in the operator): this custom resource automatically locks a deployed Helm release in place and automatically overwrites updates to underlying resources unless the change happens via a Helm operation (`helm install`, `helm upgrade`, or `helm uninstall` performed by the HelmChart CR).
+> Note: HelmRelease CRs emit Kubernetes Events that detect when an underlying Helm release is being modified and locks it back to place; to view these events, you can use `kubectl describe helmrelease -n `; you can also view the logs on this operator to see when changes are detected and which resources were attempted to be modified
+
+Both of these resources are created for all Helm charts in the Operator / System namespaces to avoid escalation of privileges to underprivileged users.
+
+### RBAC
+
+As described in the section on namespaces above, Prometheus Federator expects that Project Owners, Project Members, and other users in the cluster with Project-level permissions (e.g. permissions in a certain set of namespaces identified by a single label selector) have minimal permissions in any namespaces except the Project Registration Namespace (which is imported into the project by default) and those that already comprise their projects. Therefore, in order to allow Project Owners to assign specific chart permissions to other users in their Project namespaces, the Helm Project Operator will automatically watch the following bindings:
+- ClusterRoleBindings
+- RoleBindings in the Project Release Namespace
+
+On observing a change to one of those types of bindings, the Helm Project Operator will check whether the `roleRef` that the the binding points to matches a ClusterRole with the name provided under `helmProjectOperator.releaseRoleBindings.clusterRoleRefs.admin`, `helmProjectOperator.releaseRoleBindings.clusterRoleRefs.edit`, or `helmProjectOperator.releaseRoleBindings.clusterRoleRefs.view`; by default, these roleRefs correspond will correspond to `admin`, `edit`, and `view` respectively, which are the [default Kubernetes user-facing roles](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles).
+
+> Note: for Rancher RBAC users, these [default Kubernetes user-facing roles](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles) directly correlate to the `Project Owner`, `Project Member`, and `Read-Only` default Project Role Templates.
+
+If the `roleRef` matches, the Helm Project Operator will filter the `subjects` of the binding for all Users and Groups and use that to automatically construct a RoleBinding for each Role in the Project Release Namespace with the same name as the role and the following labels:
+- `helm.cattle.io/project-helm-chart-role: {{ .Release.Name }}`
+- `helm.cattle.io/project-helm-chart-role-aggregate-from: `
+
+By default, the `rancher-project-monitoring` (the underlying chart deployed by Prometheus Federator) creates three default Roles per Project Release Namespace that provide `admin`, `edit`, and `view` users to permissions to view the Prometheus, Alertmanager, and Grafana UIs of the Project Monitoring Stack to provide least privilege; however, if a Cluster Admin would like to assign additional permissions to certain users, they can either directly assign RoleBindings in the Project Release Namespace to certain users or created Roles with the above two labels on them to allow Project Owners to control assigning those RBAC roles to users in their Project Registration namespaces.
+
+### Advanced Helm Project Operator Configuration
+
+|Value|Configuration|
+|---|---------------------------|
+|`helmProjectOperator.valuesOverride`| Allows an Operator to override values that are set on each ProjectHelmChart deployment on an operator-level; user-provided options (specified on the `spec.values` of the ProjectHelmChart) are automatically overridden if operator-level values are provided. For an exmaple, see how the default value overrides `federate.targets` (note: when overriding list values like `federate.targets`, user-provided list values will **not** be concatenated) |
+|`helmProjectOperator.projectReleaseNamespaces.labelValues`| The value of the Project that all Project Release Namespaces should be auto-imported into (via label and annotation). Not recommended to be overridden on a Rancher setup. |
+|`helmProjectOperator.otherSystemProjectLabelValues`| Other namespaces that the operator should treat as a system namespace that should not be monitored. By default, all namespaces that match `global.cattle.systemProjectId` will not be matched. `cattle-monitoring-system`, `cattle-dashboards`, and `kube-system` are explicitly marked as system namespaces as well, regardless of label or annotation. |
+|`helmProjectOperator.releaseRoleBindings.aggregate`| Whether to automatically create RBAC resources in Project Release namespaces
+|`helmProjectOperator.releaseRoleBindings.clusterRoleRefs.`| ClusterRoles to reference to discover subjects to create RoleBindings for in the Project Release Namespace for all corresponding Project Release Roles. See RBAC above for more information |
+|`helmProjectOperator.hardenedNamespaces.enabled`| Whether to automatically patch the default ServiceAccount with `automountServiceAccountToken: false` and create a default NetworkPolicy in all managed namespaces in the cluster; the default values ensure that the creation of the namespace does not break a CIS 1.16 hardened scan |
+|`helmProjectOperator.hardenedNamespaces.configuration`| The configuration to be supplied to the default ServiceAccount or auto-generated NetworkPolicy on managing a namespace |
+|`helmProjectOperator.helmController.enabled`| Whether to enable an embedded k3s-io/helm-controller instance within the Helm Project Operator. Should be disabled for RKE2/K3s clusters before v1.23.14 / v1.24.8 / v1.25.4 since RKE2/K3s clusters already run Helm Controller at a cluster-wide level to manage internal Kubernetes components |
+|`helmProjectOperator.helmLocker.enabled`| Whether to enable an embedded rancher/helm-locker instance within the Helm Project Operator. |
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/app-README.md b/charts/prometheus-federator/0.2.0+up0.2.2/app-README.md
new file mode 100644
index 000000000..cba87c6a8
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/app-README.md
@@ -0,0 +1,10 @@
+# Prometheus Federator
+
+This chart deploys an operator that manages Project Monitoring Stacks composed of the following set of resources that are scoped to project namespaces:
+- [Prometheus](https://prometheus.io/) (managed externally by [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator))
+- [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) (managed externally by [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator))
+- [Grafana](https://github.com/helm/charts/tree/master/stable/grafana) (deployed via an embedded Helm chart)
+- Default PrometheusRules and Grafana dashboards based on the collection of community-curated resources from [kube-prometheus](https://github.com/prometheus-operator/kube-prometheus/)
+- Default ServiceMonitors that watch the deployed Prometheus, Grafana, and Alertmanager
+
+Since this Project Monitoring Stack deploys Prometheus Operator CRs, an existing Prometheus Operator instance must already be deployed in the cluster for Prometheus Federator to successfully be able to deploy Project Monitoring Stacks. It is recommended to use [`rancher-monitoring`](https://rancher.com/docs/rancher/v2.6/en/monitoring-alerting/) for this. For more information on how the chart works or advanced configurations, please read the `README.md`.
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/Chart.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/Chart.yaml
new file mode 100644
index 000000000..421aabb13
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/Chart.yaml
@@ -0,0 +1,15 @@
+annotations:
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/display-name: Helm Project Operator
+ catalog.cattle.io/kube-version: '>=1.16.0-0'
+ catalog.cattle.io/namespace: cattle-helm-system
+ catalog.cattle.io/os: linux,windows
+ catalog.cattle.io/permits-os: linux,windows
+ catalog.cattle.io/provides-gvr: helm.cattle.io.projecthelmchart/v1alpha1
+ catalog.cattle.io/rancher-version: '>= 2.6.0-0'
+ catalog.cattle.io/release-name: helm-project-operator
+apiVersion: v2
+appVersion: 0.1.0
+description: Helm Project Operator
+name: helmProjectOperator
+version: 0.1.1
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/README.md b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/README.md
new file mode 100644
index 000000000..fc1d39e81
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/README.md
@@ -0,0 +1,77 @@
+# Helm Project Operator
+
+## How does the operator work?
+
+1. On deploying a Helm Project Operator, users can create ProjectHelmCharts CRs with `spec.helmApiVersion` set to `dummy.cattle.io/v1alpha1` in a **Project Registration Namespace (`cattle-project-`)**.
+2. On seeing each ProjectHelmChartCR, the operator will automatically deploy the embedded Helm chart on the Project Owner's behalf in the **Project Release Namespace (`cattle-project--dummy`)** based on a HelmChart CR and a HelmRelease CR automatically created by the ProjectHelmChart controller in the **Operator / System Namespace**.
+3. RBAC will automatically be assigned in the Project Release Namespace to allow users to based on Role created in the Project Release Namespace with a given set of labels; this will be based on RBAC defined on the Project Registration Namespace against the [default Kubernetes user-facing roles](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles) (see below for more information about configuring RBAC).
+
+### What is a Project?
+
+In Helm Project Operator, a Project is a group of namespaces that can be identified by a `metav1.LabelSelector`; by default, the label used to identify projects is `field.cattle.io/projectId`, the label used to identify namespaces that are contained within a given [Rancher](https://rancher.com/) Project.
+
+### What is a ProjectHelmChart?
+
+A ProjectHelmChart is an instance of a (project-scoped) Helm chart deployed on behalf of a user who has permissions to create ProjectHelmChart resources in a Project Registration namespace.
+
+Generally, the best way to think about the ProjectHelmChart model is by comparing it to two other models:
+1. Managed Kubernetes providers (EKS, GKE, AKS, etc.): in this model, a user has the ability to say "I want a Kubernetes cluster" but the underlying cloud provider is responsible for provisioning the infrastructure and offering **limited view and access** of the underlying resources created on their behalf; similarly, Helm Project Operator allows a Project Owner to say "I want this Helm chart deployed", but the underlying Operator is responsible for "provisioning" (deploying) the Helm chart and offering **limited view and access** of the underlying Kubernetes resources created on their behalf (based on configuring "least-privilege" Kubernetes RBAC for the Project Owners / Members in the newly created Project Release Namespace).
+2. Dynamically-provisioned Persistent Volumes: in this model, a single resource (PersistentVolume) exists that allows you to specify a Storage Class that actually implements provisioning the underlying storage via a Storage Class Provisioner (e.g. Longhorn). Similarly, the ProjectHelmChart exists that allows you to specify a `spec.helmApiVersion` ("storage class") that actually implements deploying the underlying Helm chart via a Helm Project Operator (e.g. [`rancher/prometheus-federator`](https://github.com/rancher/prometheus-federator)).
+
+### Configuring the Helm release created by a ProjectHelmChart
+
+The `spec.values` of this ProjectHelmChart resources will correspond to the `values.yaml` override to be supplied to the underlying Helm chart deployed by the operator on the user's behalf; to see the underlying chart's `values.yaml` spec, either:
+- View to the chart's definition located at [`rancher/helm-project-operator` under `charts/example-chart`](https://github.com/rancher/helm-project-operator/blob/main/charts/example-chart) (where the chart version will be tied to the version of this operator)
+- Look for the ConfigMap named `dummy.cattle.io.v1alpha1` that is automatically created in each Project Registration Namespace, which will contain both the `values.yaml` and `questions.yaml` that was used to configure the chart (which was embedded directly into the `helm-project-operator` binary).
+
+### Namespaces
+
+All Helm Project Operators have three different classifications of namespaces that the operator looks out for:
+1. **Operator / System Namespace**: this is the namespace that the operator is deployed into (e.g. `cattle-helm-system`). This namespace will contain all HelmCharts and HelmReleases for all ProjectHelmCharts watched by this operator. **Only Cluster Admins should have access to this namespace.**
+2. **Project Registration Namespace (`cattle-project-`)**: this is the set of namespaces that the operator watches for ProjectHelmCharts within. The RoleBindings and ClusterRoleBindings that apply to this namespace will also be the source of truth for the auto-assigned RBAC created in the Project Release Namespace (see more details below). **Project Owners (admin), Project Members (edit), and Read-Only Members (view) should have access to this namespace**.
+> Note: Project Registration Namespaces will be auto-generated by the operator and imported into the Project it is tied to if `.Values.global.cattle.projectLabel` is provided (which is set to `field.cattle.io/projectId` by default); this indicates that a Project Registration Namespace should be created by the operator if at least one namespace is observed with that label. The operator will not let these namespaces be deleted unless either all namespaces with that label are gone (e.g. this is the last namespace in that project, in which case the namespace will be marked with the label `"helm.cattle.io/helm-project-operator-orphaned": "true"`, which signals that it can be deleted) or it is no longer watching that project (because the project ID was provided under `.Values.helmProjectOperator.otherSystemProjectLabelValues`, which serves as a denylist for Projects). These namespaces will also never be auto-deleted to avoid destroying user data; it is recommended that users clean up these namespaces manually if desired on creating or deleting a project
+> Note: if `.Values.global.cattle.projectLabel` is not provided, the Operator / System Namespace will also be the Project Registration Namespace
+3. **Project Release Namespace (`cattle-project--dummy`)**: this is the set of namespaces that the operator deploys Helm charts within on behalf of a ProjectHelmChart; the operator will also automatically assign RBAC to Roles created in this namespace by the Helm charts based on bindings found in the Project Registration Namespace. **Only Cluster Admins should have access to this namespace; Project Owners (admin), Project Members (edit), and Read-Only Members (view) will be assigned limited access to this namespace by the deployed Helm Chart and Helm Project Operator.**
+> Note: Project Release Namespaces are automatically deployed and imported into the project whose ID is specified under `.Values.helmProjectOperator.projectReleaseNamespaces.labelValue` (which defaults to the value of `.Values.global.cattle.systemProjectId` if not specified) whenever a ProjectHelmChart is specified in a Project Registration Namespace
+> Note: Project Release Namespaces follow the same orphaning conventions as Project Registration Namespaces (see note above)
+> Note: if `.Values.projectReleaseNamespaces.enabled` is false, the Project Release Namespace will be the same as the Project Registration Namespace
+
+### Helm Resources (HelmChart, HelmRelease)
+
+On deploying a ProjectHelmChart, the Helm Project Operator will automatically create and manage two child custom resources that manage the underlying Helm resources in turn:
+- A HelmChart CR (managed via an embedded [k3s-io/helm-contoller](https://github.com/k3s-io/helm-controller) in the operator): this custom resource automatically creates a Job in the same namespace that triggers a `helm install`, `helm upgrade`, or `helm uninstall` depending on the change applied to the HelmChart CR; this CR is automatically updated on changes to the ProjectHelmChart (e.g. modifying the values.yaml) or changes to the underlying Project definition (e.g. adding or removing namespaces from a project).
+> **Important Note: If a ProjectHelmChart is not deploying or updating the underlying Project Monitoring Stack for some reason, the Job created by this resource in the Operator / System namespace should be the first place you check to see if there's something wrong with the Helm operation; however, this is generally only accessible by a Cluster Admin.**
+- A HelmRelease CR (managed via an embedded [rancher/helm-locker](https://github.com/rancher/helm-locker) in the operator): this custom resource automatically locks a deployed Helm release in place and automatically overwrites updates to underlying resources unless the change happens via a Helm operation (`helm install`, `helm upgrade`, or `helm uninstall` performed by the HelmChart CR).
+> Note: HelmRelease CRs emit Kubernetes Events that detect when an underlying Helm release is being modified and locks it back to place; to view these events, you can use `kubectl describe helmrelease -n `; you can also view the logs on this operator to see when changes are detected and which resources were attempted to be modified
+
+Both of these resources are created for all Helm charts in the Operator / System namespaces to avoid escalation of privileges to underprivileged users.
+
+### RBAC
+
+As described in the section on namespaces above, Helm Project Operator expects that Project Owners, Project Members, and other users in the cluster with Project-level permissions (e.g. permissions in a certain set of namespaces identified by a single label selector) have minimal permissions in any namespaces except the Project Registration Namespace (which is imported into the project by default) and those that already comprise their projects. Therefore, in order to allow Project Owners to assign specific chart permissions to other users in their Project namespaces, the Helm Project Operator will automatically watch the following bindings:
+- ClusterRoleBindings
+- RoleBindings in the Project Release Namespace
+
+On observing a change to one of those types of bindings, the Helm Project Operator will check whether the `roleRef` that the the binding points to matches a ClusterRole with the name provided under `helmProjectOperator.releaseRoleBindings.clusterRoleRefs.admin`, `helmProjectOperator.releaseRoleBindings.clusterRoleRefs.edit`, or `helmProjectOperator.releaseRoleBindings.clusterRoleRefs.view`; by default, these roleRefs correspond will correspond to `admin`, `edit`, and `view` respectively, which are the [default Kubernetes user-facing roles](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles).
+
+> Note: for Rancher RBAC users, these [default Kubernetes user-facing roles](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles) directly correlate to the `Project Owner`, `Project Member`, and `Read-Only` default Project Role Templates.
+
+If the `roleRef` matches, the Helm Project Operator will filter the `subjects` of the binding for all Users and Groups and use that to automatically construct a RoleBinding for each Role in the Project Release Namespace with the same name as the role and the following labels:
+- `helm.cattle.io/project-helm-chart-role: {{ .Release.Name }}`
+- `helm.cattle.io/project-helm-chart-role-aggregate-from: `
+
+By default, the `example-chart` (the underlying chart deployed by Helm Project Operator) does not create any default roles; however, if a Cluster Admin would like to assign additional permissions to certain users, they can either directly assign RoleBindings in the Project Release Namespace to certain users or created Roles with the above two labels on them to allow Project Owners to control assigning those RBAC roles to users in their Project Registration namespaces.
+
+### Advanced Helm Project Operator Configuration
+
+|Value|Configuration|
+|---|---------------------------|
+|`valuesOverride`| Allows an Operator to override values that are set on each ProjectHelmChart deployment on an operator-level; user-provided options (specified on the `spec.values` of the ProjectHelmChart) are automatically overridden if operator-level values are provided. For an exmaple, see how the default value overrides `federate.targets` (note: when overriding list values like `federate.targets`, user-provided list values will **not** be concatenated) |
+|`projectReleaseNamespaces.labelValues`| The value of the Project that all Project Release Namespaces should be auto-imported into (via label and annotation). Not recommended to be overridden on a Rancher setup. |
+|`otherSystemProjectLabelValues`| Other namespaces that the operator should treat as a system namespace that should not be monitored. By default, all namespaces that match `global.cattle.systemProjectId` will not be matched. `kube-system` is explicitly marked as a system namespace as well, regardless of label or annotation. |
+|`releaseRoleBindings.aggregate`| Whether to automatically create RBAC resources in Project Release namespaces
+|`releaseRoleBindings.clusterRoleRefs.`| ClusterRoles to reference to discover subjects to create RoleBindings for in the Project Release Namespace for all corresponding Project Release Roles. See RBAC above for more information |
+|`hardenedNamespaces.enabled`| Whether to automatically patch the default ServiceAccount with `automountServiceAccountToken: false` and create a default NetworkPolicy in all managed namespaces in the cluster; the default values ensure that the creation of the namespace does not break a CIS 1.16 hardened scan |
+|`hardenedNamespaces.configuration`| The configuration to be supplied to the default ServiceAccount or auto-generated NetworkPolicy on managing a namespace |
+|`helmController.enabled`| Whether to enable an embedded k3s-io/helm-controller instance within the Helm Project Operator. Should be disabled for RKE2 clusters since RKE2 clusters already run Helm Controller to manage internal Kubernetes components |
+|`helmLocker.enabled`| Whether to enable an embedded rancher/helm-locker instance within the Helm Project Operator. |
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/app-readme.md b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/app-readme.md
new file mode 100644
index 000000000..fd551467d
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/app-readme.md
@@ -0,0 +1,20 @@
+# Helm Project Operator
+
+This chart installs the example [Helm Project Operator](https://github.com/rancher/helm-project-operator) onto your cluster.
+
+## Upgrading to Kubernetes v1.25+
+
+Starting in Kubernetes v1.25, [Pod Security Policies](https://kubernetes.io/docs/concepts/security/pod-security-policy/) have been removed from the Kubernetes API.
+
+As a result, **before upgrading to Kubernetes v1.25** (or on a fresh install in a Kubernetes v1.25+ cluster), users are expected to perform an in-place upgrade of this chart with `global.cattle.psp.enabled` set to `false` if it has been previously set to `true`.
+​
+> **Note:**
+> In this chart release, any previous field that was associated with any PSP resources have been removed in favor of a single global field: `global.cattle.psp.enabled`.
+ ​
+> **Note:**
+> If you upgrade your cluster to Kubernetes v1.25+ before removing PSPs via a `helm upgrade` (even if you manually clean up resources), **it will leave the Helm release in a broken state within the cluster such that further Helm operations will not work (`helm uninstall`, `helm upgrade`, etc.).**
+>
+> If your charts get stuck in this state, please consult the Rancher docs on how to clean up your Helm release secrets.
+Upon setting `global.cattle.psp.enabled` to false, the chart will remove any PSP resources deployed on its behalf from the cluster. This is the default setting for this chart.
+​
+As a replacement for PSPs, [Pod Security Admission](https://kubernetes.io/docs/concepts/security/pod-security-admission/) should be used. Please consult the Rancher docs for more details on how to configure your chart release namespaces to work with the new Pod Security Admission and apply Pod Security Standards.
\ No newline at end of file
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/questions.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/questions.yaml
new file mode 100644
index 000000000..054361a7a
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/questions.yaml
@@ -0,0 +1,43 @@
+questions:
+- variable: global.cattle.psp.enabled
+ default: "false"
+ description: "Flag to enable or disable the installation of PodSecurityPolicies by this chart in the target cluster. If the cluster is running Kubernetes 1.25+, you must update this value to false."
+ label: "Enable PodSecurityPolicies"
+ type: boolean
+ group: "Security Settings"
+- variable: helmController.enabled
+ label: Enable Embedded Helm Controller
+ description: 'Note: If you are running this chart in an RKE2 cluster, this should be disabled.'
+ type: boolean
+ group: Helm Controller
+- variable: helmLocker.enabled
+ label: Enable Embedded Helm Locker
+ type: boolean
+ group: Helm Locker
+- variable: projectReleaseNamespaces.labelValue
+ label: Project Release Namespace Project ID
+ description: By default, the System Project is selected. This can be overriden to a different Project (e.g. p-xxxxx)
+ type: string
+ required: false
+ group: Namespaces
+- variable: releaseRoleBindings.clusterRoleRefs.admin
+ label: Admin ClusterRole
+ description: By default, admin selects Project Owners. This can be overridden to a different ClusterRole (e.g. rt-xxxxx)
+ type: string
+ default: admin
+ required: false
+ group: RBAC
+- variable: releaseRoleBindings.clusterRoleRefs.edit
+ label: Edit ClusterRole
+ description: By default, edit selects Project Members. This can be overridden to a different ClusterRole (e.g. rt-xxxxx)
+ type: string
+ default: edit
+ required: false
+ group: RBAC
+- variable: releaseRoleBindings.clusterRoleRefs.view
+ label: View ClusterRole
+ description: By default, view selects Read-Only users. This can be overridden to a different ClusterRole (e.g. rt-xxxxx)
+ type: string
+ default: view
+ required: false
+ group: RBAC
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/NOTES.txt b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/NOTES.txt
new file mode 100644
index 000000000..32baeebcb
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/NOTES.txt
@@ -0,0 +1,2 @@
+{{ $.Chart.Name }} has been installed. Check its status by running:
+ kubectl --namespace {{ template "helm-project-operator.namespace" . }} get pods -l "release={{ $.Release.Name }}"
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/_helpers.tpl b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/_helpers.tpl
new file mode 100644
index 000000000..97dd6b368
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/_helpers.tpl
@@ -0,0 +1,66 @@
+# Rancher
+{{- define "system_default_registry" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
+{{- end -}}
+{{- end -}}
+
+# Windows Support
+
+{{/*
+Windows cluster will add default taint for linux nodes,
+add below linux tolerations to workloads could be scheduled to those linux nodes
+*/}}
+
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+beta.kubernetes.io/os: linux
+{{- else -}}
+kubernetes.io/os: linux
+{{- end -}}
+{{- end -}}
+
+# Helm Project Operator
+
+{{/* vim: set filetype=mustache: */}}
+{{/* Expand the name of the chart. This is suffixed with -alertmanager, which means subtract 13 from longest 63 available */}}
+{{- define "helm-project-operator.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 50 | trimSuffix "-" -}}
+{{- end }}
+
+{{/*
+Allow the release namespace to be overridden for multi-namespace deployments in combined charts
+*/}}
+{{- define "helm-project-operator.namespace" -}}
+ {{- if .Values.namespaceOverride -}}
+ {{- .Values.namespaceOverride -}}
+ {{- else -}}
+ {{- .Release.Namespace -}}
+ {{- end -}}
+{{- end -}}
+
+{{/* Create chart name and version as used by the chart label. */}}
+{{- define "helm-project-operator.chartref" -}}
+{{- replace "+" "_" .Chart.Version | printf "%s-%s" .Chart.Name -}}
+{{- end }}
+
+{{/* Generate basic labels */}}
+{{- define "helm-project-operator.labels" -}}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+app.kubernetes.io/part-of: {{ template "helm-project-operator.name" . }}
+chart: {{ template "helm-project-operator.chartref" . }}
+release: {{ $.Release.Name | quote }}
+heritage: {{ $.Release.Service | quote }}
+{{- if .Values.commonLabels}}
+{{ toYaml .Values.commonLabels }}
+{{- end }}
+{{- end -}}
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/cleanup.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/cleanup.yaml
new file mode 100644
index 000000000..98675642d
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/cleanup.yaml
@@ -0,0 +1,82 @@
+apiVersion: batch/v1
+kind: Job
+metadata:
+ name: {{ template "helm-project-operator.name" . }}-cleanup
+ namespace: {{ template "helm-project-operator.namespace" . }}
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+ app: {{ template "helm-project-operator.name" . }}
+ annotations:
+ "helm.sh/hook": pre-delete
+ "helm.sh/hook-delete-policy": before-hook-creation, hook-succeeded, hook-failed
+spec:
+ template:
+ metadata:
+ name: {{ template "helm-project-operator.name" . }}-cleanup
+ labels: {{ include "helm-project-operator.labels" . | nindent 8 }}
+ app: {{ template "helm-project-operator.name" . }}
+ spec:
+ serviceAccountName: {{ template "helm-project-operator.name" . }}
+{{- if .Values.cleanup.securityContext }}
+ securityContext: {{ toYaml .Values.cleanup.securityContext | nindent 8 }}
+{{- end }}
+ initContainers:
+ - name: add-cleanup-annotations
+ image: {{ template "system_default_registry" . }}{{ .Values.cleanup.image.repository }}:{{ .Values.cleanup.image.tag }}
+ imagePullPolicy: "{{ .Values.image.pullPolicy }}"
+ command:
+ - /bin/sh
+ - -c
+ - >
+ echo "Labeling all ProjectHelmCharts with helm.cattle.io/helm-project-operator-cleanup=true";
+ EXPECTED_HELM_API_VERSION={{ .Values.helmApiVersion }};
+ IFS=$'\n';
+ for namespace in $(kubectl get namespaces -l helm.cattle.io/helm-project-operated=true --no-headers -o=custom-columns=NAME:.metadata.name); do
+ for projectHelmChartAndHelmApiVersion in $(kubectl get projecthelmcharts -n ${namespace} --no-headers -o=custom-columns=NAME:.metadata.name,HELMAPIVERSION:.spec.helmApiVersion); do
+ projectHelmChartAndHelmApiVersion=$(echo ${projectHelmChartAndHelmApiVersion} | xargs);
+ projectHelmChart=$(echo ${projectHelmChartAndHelmApiVersion} | cut -d' ' -f1);
+ helmApiVersion=$(echo ${projectHelmChartAndHelmApiVersion} | cut -d' ' -f2);
+ if [[ ${helmApiVersion} != ${EXPECTED_HELM_API_VERSION} ]]; then
+ echo "Skipping marking ${namespace}/${projectHelmChart} with cleanup annotation since spec.helmApiVersion: ${helmApiVersion} is not ${EXPECTED_HELM_API_VERSION}";
+ continue;
+ fi;
+ kubectl label projecthelmcharts -n ${namespace} ${projectHelmChart} helm.cattle.io/helm-project-operator-cleanup=true --overwrite;
+ done;
+ done;
+{{- if .Values.cleanup.resources }}
+ resources: {{ toYaml .Values.cleanup.resources | nindent 12 }}
+{{- end }}
+{{- if .Values.cleanup.containerSecurityContext }}
+ securityContext: {{ toYaml .Values.cleanup.containerSecurityContext | nindent 12 }}
+{{- end }}
+ containers:
+ - name: ensure-subresources-deleted
+ image: {{ template "system_default_registry" . }}{{ .Values.cleanup.image.repository }}:{{ .Values.cleanup.image.tag }}
+ imagePullPolicy: IfNotPresent
+ command:
+ - /bin/sh
+ - -c
+ - >
+ SYSTEM_NAMESPACE={{ .Release.Namespace }}
+ EXPECTED_HELM_API_VERSION={{ .Values.helmApiVersion }};
+ HELM_API_VERSION_TRUNCATED=$(echo ${EXPECTED_HELM_API_VERSION} | cut -d'/' -f0);
+ echo "Ensuring HelmCharts and HelmReleases are deleted from ${SYSTEM_NAMESPACE}...";
+ while [[ "$(kubectl get helmcharts,helmreleases -l helm.cattle.io/helm-api-version=${HELM_API_VERSION_TRUNCATED} -n ${SYSTEM_NAMESPACE} 2>&1)" != "No resources found in ${SYSTEM_NAMESPACE} namespace." ]]; do
+ echo "waiting for HelmCharts and HelmReleases to be deleted from ${SYSTEM_NAMESPACE}... sleeping 3 seconds";
+ sleep 3;
+ done;
+ echo "Successfully deleted all HelmCharts and HelmReleases in ${SYSTEM_NAMESPACE}!";
+{{- if .Values.cleanup.resources }}
+ resources: {{ toYaml .Values.cleanup.resources | nindent 12 }}
+{{- end }}
+{{- if .Values.cleanup.containerSecurityContext }}
+ securityContext: {{ toYaml .Values.cleanup.containerSecurityContext | nindent 12 }}
+{{- end }}
+ restartPolicy: OnFailure
+ nodeSelector: {{ include "linux-node-selector" . | nindent 8 }}
+ {{- if .Values.cleanup.nodeSelector }}
+ {{- toYaml .Values.cleanup.nodeSelector | nindent 8 }}
+ {{- end }}
+ tolerations: {{ include "linux-node-tolerations" . | nindent 8 }}
+ {{- if .Values.cleanup.tolerations }}
+ {{- toYaml .Values.cleanup.tolerations | nindent 8 }}
+ {{- end }}
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/clusterrole.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/clusterrole.yaml
new file mode 100644
index 000000000..60ed263ba
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/clusterrole.yaml
@@ -0,0 +1,57 @@
+{{- if and .Values.global.rbac.create .Values.global.rbac.userRoles.create }}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ template "helm-project-operator.name" . }}-admin
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+ {{- if .Values.global.rbac.userRoles.aggregateToDefaultRoles }}
+ rbac.authorization.k8s.io/aggregate-to-admin: "true"
+ {{- end }}
+rules:
+- apiGroups:
+ - helm.cattle.io
+ resources:
+ - projecthelmcharts
+ - projecthelmcharts/finalizers
+ - projecthelmcharts/status
+ verbs:
+ - '*'
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ template "helm-project-operator.name" . }}-edit
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+ {{- if .Values.global.rbac.userRoles.aggregateToDefaultRoles }}
+ rbac.authorization.k8s.io/aggregate-to-edit: "true"
+ {{- end }}
+rules:
+- apiGroups:
+ - helm.cattle.io
+ resources:
+ - projecthelmcharts
+ - projecthelmcharts/status
+ verbs:
+ - 'get'
+ - 'list'
+ - 'watch'
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ template "helm-project-operator.name" . }}-view
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+ {{- if .Values.global.rbac.userRoles.aggregateToDefaultRoles }}
+ rbac.authorization.k8s.io/aggregate-to-view: "true"
+ {{- end }}
+rules:
+- apiGroups:
+ - helm.cattle.io
+ resources:
+ - projecthelmcharts
+ - projecthelmcharts/status
+ verbs:
+ - 'get'
+ - 'list'
+ - 'watch'
+{{- end }}
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/configmap.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/configmap.yaml
new file mode 100644
index 000000000..d4def157d
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/configmap.yaml
@@ -0,0 +1,14 @@
+## Note: If you add another entry to this ConfigMap, make sure a corresponding env var is set
+## in the deployment of the operator to ensure that a Helm upgrade will force the operator
+## to reload the values in the ConfigMap and redeploy
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ template "helm-project-operator.name" . }}-config
+ namespace: {{ template "helm-project-operator.namespace" . }}
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+data:
+ hardened.yaml: |-
+{{ .Values.hardenedNamespaces.configuration | toYaml | indent 4 }}
+ values.yaml: |-
+{{ .Values.valuesOverride | toYaml | indent 4 }}
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/deployment.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/deployment.yaml
new file mode 100644
index 000000000..c7309805d
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/deployment.yaml
@@ -0,0 +1,124 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ template "helm-project-operator.name" . }}
+ namespace: {{ template "helm-project-operator.namespace" . }}
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+ app: {{ template "helm-project-operator.name" . }}
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: {{ template "helm-project-operator.name" . }}
+ release: {{ $.Release.Name | quote }}
+ template:
+ metadata:
+ labels: {{ include "helm-project-operator.labels" . | nindent 8 }}
+ app: {{ template "helm-project-operator.name" . }}
+ spec:
+ containers:
+ - name: {{ template "helm-project-operator.name" . }}
+ image: "{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ imagePullPolicy: "{{ .Values.image.pullPolicy }}"
+ args:
+ - {{ template "helm-project-operator.name" . }}
+ - --namespace={{ template "helm-project-operator.namespace" . }}
+ - --controller-name={{ template "helm-project-operator.name" . }}
+ - --values-override-file=/etc/helmprojectoperator/config/values.yaml
+{{- if .Values.global.cattle.systemDefaultRegistry }}
+ - --system-default-registry={{ .Values.global.cattle.systemDefaultRegistry }}
+{{- end }}
+{{- if .Values.global.cattle.url }}
+ - --cattle-url={{ .Values.global.cattle.url }}
+{{- end }}
+{{- if .Values.global.cattle.projectLabel }}
+ - --project-label={{ .Values.global.cattle.projectLabel }}
+{{- end }}
+{{- if not .Values.projectReleaseNamespaces.enabled }}
+ - --system-project-label-values={{ join "," (append .Values.otherSystemProjectLabelValues .Values.global.cattle.systemProjectId) }}
+{{- else if and (ne (len .Values.global.cattle.systemProjectId) 0) (ne (len .Values.projectReleaseNamespaces.labelValue) 0) (ne .Values.projectReleaseNamespaces.labelValue .Values.global.cattle.systemProjectId) }}
+ - --system-project-label-values={{ join "," (append .Values.otherSystemProjectLabelValues .Values.global.cattle.systemProjectId) }}
+{{- else if len .Values.otherSystemProjectLabelValues }}
+ - --system-project-label-values={{ join "," .Values.otherSystemProjectLabelValues }}
+{{- end }}
+{{- if .Values.projectReleaseNamespaces.enabled }}
+{{- if .Values.projectReleaseNamespaces.labelValue }}
+ - --project-release-label-value={{ .Values.projectReleaseNamespaces.labelValue }}
+{{- else if .Values.global.cattle.systemProjectId }}
+ - --project-release-label-value={{ .Values.global.cattle.systemProjectId }}
+{{- end }}
+{{- end }}
+{{- if .Values.global.cattle.clusterId }}
+ - --cluster-id={{ .Values.global.cattle.clusterId }}
+{{- end }}
+{{- if .Values.releaseRoleBindings.aggregate }}
+{{- if .Values.releaseRoleBindings.clusterRoleRefs }}
+{{- if .Values.releaseRoleBindings.clusterRoleRefs.admin }}
+ - --admin-cluster-role={{ .Values.releaseRoleBindings.clusterRoleRefs.admin }}
+{{- end }}
+{{- if .Values.releaseRoleBindings.clusterRoleRefs.edit }}
+ - --edit-cluster-role={{ .Values.releaseRoleBindings.clusterRoleRefs.edit }}
+{{- end }}
+{{- if .Values.releaseRoleBindings.clusterRoleRefs.view }}
+ - --view-cluster-role={{ .Values.releaseRoleBindings.clusterRoleRefs.view }}
+{{- end }}
+{{- end }}
+{{- end }}
+{{- if .Values.hardenedNamespaces.enabled }}
+ - --hardening-options-file=/etc/helmprojectoperator/config/hardening.yaml
+{{- else }}
+ - --disable-hardening
+{{- end }}
+{{- if .Values.debug }}
+ - --debug
+ - --debug-level={{ .Values.debugLevel }}
+{{- end }}
+{{- if not .Values.helmController.enabled }}
+ - --disable-embedded-helm-controller
+{{- else }}
+ - --helm-job-image={{ template "system_default_registry" . }}{{ .Values.helmController.job.image.repository }}:{{ .Values.helmController.job.image.tag }}
+{{- end }}
+{{- if not .Values.helmLocker.enabled }}
+ - --disable-embedded-helm-locker
+{{- end }}
+{{- if .Values.additionalArgs }}
+{{- toYaml .Values.additionalArgs | nindent 10 }}
+{{- end }}
+ env:
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ ## Note: The below two values only exist to force Helm to upgrade the deployment on
+ ## a change to the contents of the ConfigMap during an upgrade. Neither serve
+ ## any practical purpose and can be removed and replaced with a configmap reloader
+ ## in a future change if dynamic updates are required.
+ - name: HARDENING_OPTIONS_SHA_256_HASH
+ value: {{ .Values.hardenedNamespaces.configuration | toYaml | sha256sum }}
+ - name: VALUES_OVERRIDE_SHA_256_HASH
+ value: {{ .Values.valuesOverride | toYaml | sha256sum }}
+{{- if .Values.resources }}
+ resources: {{ toYaml .Values.resources | nindent 12 }}
+{{- end }}
+{{- if .Values.containerSecurityContext }}
+ securityContext: {{ toYaml .Values.containerSecurityContext | nindent 12 }}
+{{- end }}
+ volumeMounts:
+ - name: config
+ mountPath: "/etc/helmprojectoperator/config"
+ serviceAccountName: {{ template "helm-project-operator.name" . }}
+{{- if .Values.securityContext }}
+ securityContext: {{ toYaml .Values.securityContext | nindent 8 }}
+{{- end }}
+ nodeSelector: {{ include "linux-node-selector" . | nindent 8 }}
+{{- if .Values.nodeSelector }}
+{{- toYaml .Values.nodeSelector | nindent 8 }}
+{{- end }}
+ tolerations: {{ include "linux-node-tolerations" . | nindent 8 }}
+{{- if .Values.tolerations }}
+{{- toYaml .Values.tolerations | nindent 8 }}
+{{- end }}
+ volumes:
+ - name: config
+ configMap:
+ name: {{ template "helm-project-operator.name" . }}-config
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/psp.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/psp.yaml
new file mode 100644
index 000000000..73dcc4560
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/psp.yaml
@@ -0,0 +1,68 @@
+{{- if .Values.global.cattle.psp.enabled }}
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: {{ template "helm-project-operator.name" . }}-psp
+ namespace: {{ template "helm-project-operator.namespace" . }}
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+ app: {{ template "helm-project-operator.name" . }}
+{{- if .Values.global.rbac.pspAnnotations }}
+ annotations: {{ toYaml .Values.global.rbac.pspAnnotations | nindent 4 }}
+{{- end }}
+spec:
+ privileged: false
+ hostNetwork: false
+ hostIPC: false
+ hostPID: false
+ runAsUser:
+ # Permits the container to run with root privileges as well.
+ rule: 'RunAsAny'
+ seLinux:
+ # This policy assumes the nodes are using AppArmor rather than SELinux.
+ rule: 'RunAsAny'
+ supplementalGroups:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ fsGroup:
+ rule: 'MustRunAs'
+ ranges:
+ # Forbid adding the root group.
+ - min: 0
+ max: 65535
+ readOnlyRootFilesystem: false
+---
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: {{ template "helm-project-operator.name" . }}-psp
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+ app: {{ template "helm-project-operator.name" . }}
+rules:
+{{- if semverCompare "> 1.15.0-0" .Capabilities.KubeVersion.GitVersion }}
+- apiGroups: ['policy']
+{{- else }}
+- apiGroups: ['extensions']
+{{- end }}
+ resources: ['podsecuritypolicies']
+ verbs: ['use']
+ resourceNames:
+ - {{ template "helm-project-operator.name" . }}-psp
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: {{ template "helm-project-operator.name" . }}-psp
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+ app: {{ template "helm-project-operator.name" . }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ template "helm-project-operator.name" . }}-psp
+subjects:
+ - kind: ServiceAccount
+ name: {{ template "helm-project-operator.name" . }}
+ namespace: {{ template "helm-project-operator.namespace" . }}
+{{- end }}
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/rbac.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/rbac.yaml
new file mode 100644
index 000000000..b1c409202
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/rbac.yaml
@@ -0,0 +1,32 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ template "helm-project-operator.name" . }}
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+ app: {{ template "helm-project-operator.name" . }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: "cluster-admin" # see note below
+subjects:
+- kind: ServiceAccount
+ name: {{ template "helm-project-operator.name" . }}
+ namespace: {{ template "helm-project-operator.namespace" . }}
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ template "helm-project-operator.name" . }}
+ namespace: {{ template "helm-project-operator.namespace" . }}
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+ app: {{ template "helm-project-operator.name" . }}
+{{- if .Values.global.imagePullSecrets }}
+imagePullSecrets: {{ toYaml .Values.global.imagePullSecrets | nindent 2 }}
+{{- end }}
+# ---
+# NOTE:
+# As of now, due to the fact that the k3s-io/helm-controller can only deploy jobs that are cluster-bound to the cluster-admin
+# ClusterRole, the only way for this operator to be able to perform that binding is if it is also bound to the cluster-admin ClusterRole.
+#
+# As a result, this ClusterRoleBinding will be left as a work-in-progress until changes are made in k3s-io/helm-controller to allow us to grant
+# only scoped down permissions to the Job that is deployed.
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/system-namespaces-configmap.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/system-namespaces-configmap.yaml
new file mode 100644
index 000000000..f4c85254e
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/system-namespaces-configmap.yaml
@@ -0,0 +1,62 @@
+{{- if .Values.systemNamespacesConfigMap.create }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ template "helm-project-operator.name" . }}-system-namespaces
+ namespace: {{ template "helm-project-operator.namespace" . }}
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+data:
+ system-namespaces.json: |-
+ {
+{{- if .Values.projectReleaseNamespaces.enabled }}
+{{- if .Values.projectReleaseNamespaces.labelValue }}
+ "projectReleaseLabelValue": {{ .Values.projectReleaseNamespaces.labelValue | quote }},
+{{- else if .Values.global.cattle.systemProjectId }}
+ "projectReleaseLabelValue": {{ .Values.global.cattle.systemProjectId | quote }},
+{{- else }}
+ "projectReleaseLabelValue": "",
+{{- end }}
+{{- else }}
+ "projectReleaseLabelValue": "",
+{{- end }}
+{{- if not .Values.projectReleaseNamespaces.enabled }}
+ "systemProjectLabelValues": {{ append .Values.otherSystemProjectLabelValues .Values.global.cattle.systemProjectId | toJson }}
+{{- else if and (ne (len .Values.global.cattle.systemProjectId) 0) (ne (len .Values.projectReleaseNamespaces.labelValue) 0) (ne .Values.projectReleaseNamespaces.labelValue .Values.global.cattle.systemProjectId) }}
+ "systemProjectLabelValues": {{ append .Values.otherSystemProjectLabelValues .Values.global.cattle.systemProjectId | toJson }}
+{{- else if len .Values.otherSystemProjectLabelValues }}
+ "systemProjectLabelValues": {{ .Values.otherSystemProjectLabelValues | toJson }}
+{{- else }}
+ "systemProjectLabelValues": []
+{{- end }}
+ }
+---
+{{- if (and .Values.systemNamespacesConfigMap.rbac.enabled .Values.systemNamespacesConfigMap.rbac.subjects) }}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: {{ template "helm-project-operator.name" . }}-system-namespaces
+ namespace: {{ template "helm-project-operator.namespace" . }}
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+rules:
+- apiGroups:
+ - ""
+ resources:
+ - configmaps
+ resourceNames:
+ - "{{ template "helm-project-operator.name" . }}-system-namespaces"
+ verbs:
+ - 'get'
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: {{ template "helm-project-operator.name" . }}-system-namespaces
+ namespace: {{ template "helm-project-operator.namespace" . }}
+ labels: {{ include "helm-project-operator.labels" . | nindent 4 }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: {{ template "helm-project-operator.name" . }}-system-namespaces
+subjects: {{ .Values.systemNamespacesConfigMap.rbac.subjects | toYaml | nindent 2 }}
+{{- end }}
+{{- end }}
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/validate-psp-install.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/validate-psp-install.yaml
new file mode 100644
index 000000000..a30c59d3b
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/templates/validate-psp-install.yaml
@@ -0,0 +1,7 @@
+#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}}
+#{{- if .Values.global.cattle.psp.enabled }}
+#{{- if not (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") }}
+#{{- fail "The target cluster does not have the PodSecurityPolicy API resource. Please disable PSPs in this chart before proceeding." -}}
+#{{- end }}
+#{{- end }}
+#{{- end }}
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/values.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/values.yaml
new file mode 100644
index 000000000..4905bf1ac
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/charts/helmProjectOperator/values.yaml
@@ -0,0 +1,226 @@
+# Default values for helm-project-operator.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+# Helm Project Operator Configuration
+
+global:
+ cattle:
+ clusterId: ""
+ psp:
+ enabled: false
+ projectLabel: field.cattle.io/projectId
+ systemDefaultRegistry: ""
+ systemProjectId: ""
+ url: ""
+ rbac:
+ ## Create RBAC resources for ServiceAccounts and users
+ ##
+ create: true
+
+ userRoles:
+ ## Create default user ClusterRoles to allow users to interact with ProjectHelmCharts
+ create: true
+ ## Aggregate default user ClusterRoles into default k8s ClusterRoles
+ aggregateToDefaultRoles: true
+
+ pspAnnotations: {}
+ ## Specify pod annotations
+ ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
+ ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
+ ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
+ ##
+ # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
+ # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
+ # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
+
+ ## Reference to one or more secrets to be used when pulling images
+ ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
+ ##
+ imagePullSecrets: []
+ # - name: "image-pull-secret"
+
+helmApiVersion: dummy.cattle.io/v1alpha1
+
+## valuesOverride overrides values that are set on each ProjectHelmChart deployment on an operator-level
+## User-provided values will be overwritten based on the values provided here
+valuesOverride: {}
+
+## projectReleaseNamespaces are auto-generated namespaces that are created to host Helm Releases
+## managed by this operator on behalf of a ProjectHelmChart
+projectReleaseNamespaces:
+ ## Enabled determines whether Project Release Namespaces should be created. If false, the underlying
+ ## Helm release will be deployed in the Project Registration Namespace
+ enabled: true
+ ## labelValue is the value of the Project that the projectReleaseNamespace should be created within
+ ## If empty, this will be set to the value of global.cattle.systemProjectId
+ ## If global.cattle.systemProjectId is also empty, project release namespaces will be disabled
+ labelValue: ""
+
+## otherSystemProjectLabelValues are project labels that identify namespaces as those that should be treated as system projects
+## i.e. they will be entirely ignored by the operator
+## By default, the global.cattle.systemProjectId will be in this list
+otherSystemProjectLabelValues: []
+
+## releaseRoleBindings configures RoleBindings automatically created by the Helm Project Operator
+## in Project Release Namespaces where underlying Helm charts are deployed
+releaseRoleBindings:
+ ## aggregate enables creating these RoleBindings off aggregating RoleBindings in the
+ ## Project Registration Namespace or ClusterRoleBindings that bind users to the ClusterRoles
+ ## specified under clusterRoleRefs
+ aggregate: true
+
+ ## clusterRoleRefs are the ClusterRoles whose RoleBinding or ClusterRoleBindings should determine
+ ## the RoleBindings created in the Project Release Namespace
+ ##
+ ## By default, these are set to create RoleBindings based on the RoleBindings / ClusterRoleBindings
+ ## attached to the default K8s user-facing ClusterRoles of admin, edit, and view.
+ ## ref: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles
+ ##
+ clusterRoleRefs:
+ admin: admin
+ edit: edit
+ view: view
+
+hardenedNamespaces:
+ # Whether to automatically manage the configuration of the default ServiceAccount and
+ # auto-create a NetworkPolicy for each namespace created by this operator
+ enabled: true
+
+ configuration:
+ # Values to be applied to each default ServiceAccount created in a managed namespace
+ serviceAccountSpec:
+ secrets: []
+ imagePullSecrets: []
+ automountServiceAccountToken: false
+ # Values to be applied to each default generated NetworkPolicy created in a managed namespace
+ networkPolicySpec:
+ podSelector: {}
+ egress: []
+ ingress: []
+ policyTypes: ["Ingress", "Egress"]
+
+## systemNamespacesConfigMap is a ConfigMap created to allow users to see valid entries
+## for registering a ProjectHelmChart for a given Project on the Rancher Dashboard UI.
+## It does not need to be enabled for a non-Rancher use case.
+systemNamespacesConfigMap:
+ ## Create indicates whether the system namespaces configmap should be created
+ ## This is a required value for integration with Rancher Dashboard
+ create: true
+
+ ## RBAC provides options around the RBAC created to allow users to be able to view
+ ## the systemNamespacesConfigMap; if not specified, only users with the ability to
+ ## view ConfigMaps in the namespace where this chart is deployed will be able to
+ ## properly view the system namespaces on the Rancher Dashboard UI
+ rbac:
+ ## enabled indicates that we should deploy a RoleBinding and Role to view this ConfigMap
+ enabled: true
+ ## subjects are the subjects that should be bound to this default RoleBinding
+ ## By default, we allow anyone who is authenticated to the system to be able to view
+ ## this ConfigMap in the deployment namespace
+ subjects:
+ - kind: Group
+ name: system:authenticated
+
+nameOverride: ""
+
+namespaceOverride: ""
+
+image:
+ repository: rancher/helm-project-operator
+ tag: v0.1.0
+ pullPolicy: IfNotPresent
+
+helmController:
+ # Note: should be disabled for RKE2 clusters since they already run Helm Controller to manage internal Kubernetes components
+ enabled: true
+
+ job:
+ image:
+ repository: rancher/klipper-helm
+ tag: v0.7.0-build20220315
+
+helmLocker:
+ enabled: true
+
+# Additional arguments to be passed into the Helm Project Operator image
+additionalArgs: []
+
+## Define which Nodes the Pods are scheduled on.
+## ref: https://kubernetes.io/docs/user-guide/node-selection/
+##
+nodeSelector: {}
+
+## Tolerations for use with node taints
+## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+##
+tolerations: []
+# - key: "key"
+# operator: "Equal"
+# value: "value"
+# effect: "NoSchedule"
+
+resources: {}
+ # limits:
+ # memory: 500Mi
+ # cpu: 1000m
+ # requests:
+ # memory: 100Mi
+ # cpu: 100m
+
+containerSecurityContext: {}
+ # allowPrivilegeEscalation: false
+ # capabilities:
+ # drop:
+ # - ALL
+ # privileged: false
+ # readOnlyRootFilesystem: true
+
+securityContext: {}
+ # runAsGroup: 1000
+ # runAsUser: 1000
+ # supplementalGroups:
+ # - 1000
+
+debug: false
+debugLevel: 0
+
+cleanup:
+ image:
+ repository: rancher/shell
+ tag: v0.1.19
+ pullPolicy: IfNotPresent
+
+ ## Define which Nodes the Pods are scheduled on.
+ ## ref: https://kubernetes.io/docs/user-guide/node-selection/
+ ##
+ nodeSelector: {}
+
+ ## Tolerations for use with node taints
+ ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+ ##
+ tolerations: []
+ # - key: "key"
+ # operator: "Equal"
+ # value: "value"
+ # effect: "NoSchedule"
+
+ containerSecurityContext: {}
+ # allowPrivilegeEscalation: false
+ # capabilities:
+ # drop:
+ # - ALL
+ # privileged: false
+ # readOnlyRootFilesystem: true
+
+ securityContext:
+ runAsNonRoot: false
+ runAsUser: 0
+
+ resources: {}
+ # limits:
+ # memory: 500Mi
+ # cpu: 1000m
+ # requests:
+ # memory: 100Mi
+ # cpu: 100m
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/questions.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/questions.yaml
new file mode 100644
index 000000000..981e1c067
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/questions.yaml
@@ -0,0 +1,37 @@
+questions:
+- variable: helmProjectOperator.helmController.enabled
+ label: Enable Embedded Helm Controller
+ description: 'Note: If you are running Prometheus Federator in an RKE2 / K3s cluster before v1.23.14 / v1.24.8 / v1.25.4, this should be disabled.'
+ type: boolean
+ group: Helm Controller
+- variable: helmProjectOperator.helmLocker.enabled
+ label: Enable Embedded Helm Locker
+ type: boolean
+ group: Helm Locker
+- variable: helmProjectOperator.projectReleaseNamespaces.labelValue
+ label: Project Release Namespace Project ID
+ description: By default, the System Project is selected. This can be overriden to a different Project (e.g. p-xxxxx)
+ type: string
+ required: false
+ group: Namespaces
+- variable: helmProjectOperator.releaseRoleBindings.clusterRoleRefs.admin
+ label: Admin ClusterRole
+ description: By default, admin selects Project Owners. This can be overridden to a different ClusterRole (e.g. rt-xxxxx)
+ type: string
+ default: admin
+ required: false
+ group: RBAC
+- variable: helmProjectOperator.releaseRoleBindings.clusterRoleRefs.edit
+ label: Edit ClusterRole
+ description: By default, edit selects Project Members. This can be overridden to a different ClusterRole (e.g. rt-xxxxx)
+ type: string
+ default: edit
+ required: false
+ group: RBAC
+- variable: helmProjectOperator.releaseRoleBindings.clusterRoleRefs.view
+ label: View ClusterRole
+ description: By default, view selects Read-Only users. This can be overridden to a different ClusterRole (e.g. rt-xxxxx)
+ type: string
+ default: view
+ required: false
+ group: RBAC
\ No newline at end of file
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/templates/NOTES.txt b/charts/prometheus-federator/0.2.0+up0.2.2/templates/NOTES.txt
new file mode 100644
index 000000000..f551f3661
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/templates/NOTES.txt
@@ -0,0 +1,3 @@
+{{ $.Chart.Name }} has been installed. Check its status by running:
+ kubectl --namespace {{ template "prometheus-federator.namespace" . }} get pods -l "release={{ $.Release.Name }}"
+
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/templates/_helpers.tpl b/charts/prometheus-federator/0.2.0+up0.2.2/templates/_helpers.tpl
new file mode 100644
index 000000000..15ea4e5c8
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/templates/_helpers.tpl
@@ -0,0 +1,66 @@
+# Rancher
+{{- define "system_default_registry" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
+{{- end -}}
+{{- end -}}
+
+# Windows Support
+
+{{/*
+Windows cluster will add default taint for linux nodes,
+add below linux tolerations to workloads could be scheduled to those linux nodes
+*/}}
+
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+beta.kubernetes.io/os: linux
+{{- else -}}
+kubernetes.io/os: linux
+{{- end -}}
+{{- end -}}
+
+# Helm Project Operator
+
+{{/* vim: set filetype=mustache: */}}
+{{/* Expand the name of the chart. This is suffixed with -alertmanager, which means subtract 13 from longest 63 available */}}
+{{- define "prometheus-federator.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 50 | trimSuffix "-" -}}
+{{- end }}
+
+{{/*
+Allow the release namespace to be overridden for multi-namespace deployments in combined charts
+*/}}
+{{- define "prometheus-federator.namespace" -}}
+ {{- if .Values.namespaceOverride -}}
+ {{- .Values.namespaceOverride -}}
+ {{- else -}}
+ {{- .Release.Namespace -}}
+ {{- end -}}
+{{- end -}}
+
+{{/* Create chart name and version as used by the chart label. */}}
+{{- define "prometheus-federator.chartref" -}}
+{{- replace "+" "_" .Chart.Version | printf "%s-%s" .Chart.Name -}}
+{{- end }}
+
+{{/* Generate basic labels */}}
+{{- define "prometheus-federator.labels" }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+app.kubernetes.io/version: "{{ replace "+" "_" .Chart.Version }}"
+app.kubernetes.io/part-of: {{ template "prometheus-federator.name" . }}
+chart: {{ template "prometheus-federator.chartref" . }}
+release: {{ $.Release.Name | quote }}
+heritage: {{ $.Release.Service | quote }}
+{{- if .Values.commonLabels}}
+{{ toYaml .Values.commonLabels }}
+{{- end }}
+{{- end }}
diff --git a/charts/prometheus-federator/0.2.0+up0.2.2/values.yaml b/charts/prometheus-federator/0.2.0+up0.2.2/values.yaml
new file mode 100644
index 000000000..23c882ed8
--- /dev/null
+++ b/charts/prometheus-federator/0.2.0+up0.2.2/values.yaml
@@ -0,0 +1,94 @@
+# Default values for helm-project-operator.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+# Prometheus Federator Configuration
+
+global:
+ cattle:
+ psp:
+ enabled: true
+ systemDefaultRegistry: ""
+ projectLabel: field.cattle.io/projectId
+ clusterId: ""
+ systemProjectId: ""
+ url: ""
+ rbac:
+ pspEnabled: true
+ pspAnnotations: {}
+ ## Specify pod annotations
+ ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
+ ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
+ ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
+ ##
+ # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
+ # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
+ # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
+
+ ## Reference to one or more secrets to be used when pulling images
+ ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
+ ##
+ imagePullSecrets: []
+ # - name: "image-pull-secret"
+
+helmProjectOperator:
+ enabled: true
+
+ # ensures that all resources created by subchart show up as prometheus-federator
+ helmApiVersion: monitoring.cattle.io/v1alpha1
+
+ nameOverride: prometheus-federator
+
+ helmController:
+ # Note: should be disabled for RKE2 clusters since they already run Helm Controller to manage internal Kubernetes components
+ enabled: true
+
+ helmLocker:
+ enabled: true
+
+ ## valuesOverride overrides values that are set on each Project Prometheus Stack Helm Chart deployment on an operator level
+ ## all values provided here will override any user-provided values automatically
+ valuesOverride:
+
+ federate:
+ # Change this to point at all Prometheuses you want all your Project Prometheus Stacks to federate from
+ # By default, this matches the default deployment of Rancher Monitoring
+ targets:
+ - rancher-monitoring-prometheus.cattle-monitoring-system.svc:9090
+
+ image:
+ repository: rancher/prometheus-federator
+ tag: v0.2.1
+ pullPolicy: IfNotPresent
+
+ # Additional arguments to be passed into the Prometheus Federator image
+ additionalArgs: []
+
+ ## Define which Nodes the Pods are scheduled on.
+ ## ref: https://kubernetes.io/docs/user-guide/node-selection/
+ ##
+ nodeSelector: {}
+
+ ## Tolerations for use with node taints
+ ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+ ##
+ tolerations: []
+ # - key: "key"
+ # operator: "Equal"
+ # value: "value"
+ # effect: "NoSchedule"
+
+ resources: {}
+ # limits:
+ # memory: 500Mi
+ # cpu: 1000m
+ # requests:
+ # memory: 100Mi
+ # cpu: 100m
+
+ securityContext: {}
+ # allowPrivilegeEscalation: false
+ # readOnlyRootFilesystem: true
+
+ debug: false
+ debugLevel: 0
\ No newline at end of file
diff --git a/charts/rancher-aks-operator-crd/100.0.7+up1.0.9/Chart.yaml b/charts/rancher-aks-operator-crd/100.0.7+up1.0.9/Chart.yaml
new file mode 100644
index 000000000..1eecdd053
--- /dev/null
+++ b/charts/rancher-aks-operator-crd/100.0.7+up1.0.9/Chart.yaml
@@ -0,0 +1,12 @@
+annotations:
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/hidden: "true"
+ catalog.cattle.io/namespace: cattle-system
+ catalog.cattle.io/os: linux
+ catalog.cattle.io/permits-os: linux,windows
+ catalog.cattle.io/release-name: rancher-aks-operator-crd
+apiVersion: v2
+appVersion: 1.0.9
+description: AKS Operator CustomResourceDefinitions
+name: rancher-aks-operator-crd
+version: 100.0.7+up1.0.9
diff --git a/charts/rancher-aks-operator-crd/100.0.7+up1.0.9/templates/crds.yaml b/charts/rancher-aks-operator-crd/100.0.7+up1.0.9/templates/crds.yaml
new file mode 100644
index 000000000..002a459bd
--- /dev/null
+++ b/charts/rancher-aks-operator-crd/100.0.7+up1.0.9/templates/crds.yaml
@@ -0,0 +1,178 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ helm.sh/resource-policy: keep
+ name: aksclusterconfigs.aks.cattle.io
+spec:
+ group: aks.cattle.io
+ names:
+ kind: AKSClusterConfig
+ plural: aksclusterconfigs
+ shortNames:
+ - akscc
+ singular: aksclusterconfig
+ preserveUnknownFields: false
+ scope: Namespaced
+ versions:
+ - name: v1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ authBaseUrl:
+ nullable: true
+ type: string
+ authorizedIpRanges:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ azureCredentialSecret:
+ nullable: true
+ type: string
+ baseUrl:
+ nullable: true
+ type: string
+ clusterName:
+ nullable: true
+ type: string
+ dnsPrefix:
+ nullable: true
+ type: string
+ dnsServiceIp:
+ nullable: true
+ type: string
+ dockerBridgeCidr:
+ nullable: true
+ type: string
+ httpApplicationRouting:
+ nullable: true
+ type: boolean
+ imported:
+ type: boolean
+ kubernetesVersion:
+ nullable: true
+ type: string
+ linuxAdminUsername:
+ nullable: true
+ type: string
+ loadBalancerSku:
+ nullable: true
+ type: string
+ logAnalyticsWorkspaceGroup:
+ nullable: true
+ type: string
+ logAnalyticsWorkspaceName:
+ nullable: true
+ type: string
+ monitoring:
+ nullable: true
+ type: boolean
+ networkPlugin:
+ nullable: true
+ type: string
+ networkPolicy:
+ nullable: true
+ type: string
+ nodePools:
+ items:
+ properties:
+ availabilityZones:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ count:
+ nullable: true
+ type: integer
+ enableAutoScaling:
+ nullable: true
+ type: boolean
+ maxCount:
+ nullable: true
+ type: integer
+ maxPods:
+ nullable: true
+ type: integer
+ minCount:
+ nullable: true
+ type: integer
+ mode:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ orchestratorVersion:
+ nullable: true
+ type: string
+ osDiskSizeGB:
+ nullable: true
+ type: integer
+ osDiskType:
+ nullable: true
+ type: string
+ osType:
+ nullable: true
+ type: string
+ vmSize:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ podCidr:
+ nullable: true
+ type: string
+ privateCluster:
+ nullable: true
+ type: boolean
+ resourceGroup:
+ nullable: true
+ type: string
+ resourceLocation:
+ nullable: true
+ type: string
+ serviceCidr:
+ nullable: true
+ type: string
+ sshPublicKey:
+ nullable: true
+ type: string
+ subnet:
+ nullable: true
+ type: string
+ tags:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ virtualNetwork:
+ nullable: true
+ type: string
+ virtualNetworkResourceGroup:
+ nullable: true
+ type: string
+ type: object
+ status:
+ properties:
+ failureMessage:
+ nullable: true
+ type: string
+ phase:
+ nullable: true
+ type: string
+ rbacEnabled:
+ nullable: true
+ type: boolean
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/rancher-aks-operator/100.0.7+up1.0.9/Chart.yaml b/charts/rancher-aks-operator/100.0.7+up1.0.9/Chart.yaml
new file mode 100644
index 000000000..06c92b913
--- /dev/null
+++ b/charts/rancher-aks-operator/100.0.7+up1.0.9/Chart.yaml
@@ -0,0 +1,20 @@
+annotations:
+ catalog.cattle.io/auto-install: rancher-aks-operator-crd=match
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/hidden: "true"
+ catalog.cattle.io/kube-version: '>= 1.18.0-0 < 1.25.0-0'
+ catalog.cattle.io/namespace: cattle-system
+ catalog.cattle.io/os: linux
+ catalog.cattle.io/permits-os: linux,windows
+ catalog.cattle.io/provides-gvr: aksclusterconfigs.aks.cattle.io/v1
+ catalog.cattle.io/rancher-version: '>= 2.6.0-0 < 2.7.0-0'
+ catalog.cattle.io/release-name: rancher-aks-operator
+ catalog.cattle.io/scope: management
+apiVersion: v2
+appVersion: 1.0.9
+description: A Helm chart for provisioning AKS clusters
+home: https://github.com/rancher/aks-operator
+name: rancher-aks-operator
+sources:
+- https://github.com/rancher/aks-operator
+version: 100.0.7+up1.0.9
diff --git a/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/NOTES.txt b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/NOTES.txt
new file mode 100644
index 000000000..5ba05b482
--- /dev/null
+++ b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/NOTES.txt
@@ -0,0 +1,4 @@
+You have deployed the Rancher AKS operator
+Version: {{ .Chart.AppVersion }}
+Description: This operator provisions AKS clusters
+from AKSClusterConfig CRs.
diff --git a/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/_helpers.tpl b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/_helpers.tpl
new file mode 100644
index 000000000..de3b332f6
--- /dev/null
+++ b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/_helpers.tpl
@@ -0,0 +1,25 @@
+{{/* vim: set filetype=mustache: */}}
+
+{{- define "system_default_registry" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
+{{- else -}}
+{{- "" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Windows cluster will add default taint for linux nodes,
+add below linux tolerations to workloads could be scheduled to those linux nodes
+*/}}
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+kubernetes.io/os: linux
+{{- end -}}
+
diff --git a/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/clusterrole.yaml b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/clusterrole.yaml
new file mode 100644
index 000000000..5e2ce9756
--- /dev/null
+++ b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/clusterrole.yaml
@@ -0,0 +1,15 @@
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: aks-operator
+ namespace: cattle-system
+rules:
+ - apiGroups: ['']
+ resources: ['secrets']
+ verbs: ['get', 'list', 'create', 'watch', 'update']
+ - apiGroups: ['aks.cattle.io']
+ resources: ['aksclusterconfigs']
+ verbs: ['get', 'list', 'update', 'watch']
+ - apiGroups: ['aks.cattle.io']
+ resources: ['aksclusterconfigs/status']
+ verbs: ['update']
diff --git a/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/clusterrolebinding.yaml b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/clusterrolebinding.yaml
new file mode 100644
index 000000000..7aa7e785a
--- /dev/null
+++ b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/clusterrolebinding.yaml
@@ -0,0 +1,13 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: aks-operator
+ namespace: cattle-system
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: aks-operator
+subjects:
+- kind: ServiceAccount
+ name: aks-operator
+ namespace: cattle-system
diff --git a/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/deployment.yaml b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/deployment.yaml
new file mode 100644
index 000000000..1d85eb18c
--- /dev/null
+++ b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/deployment.yaml
@@ -0,0 +1,61 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: aks-config-operator
+ namespace: cattle-system
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ ke.cattle.io/operator: aks
+ template:
+ metadata:
+ labels:
+ ke.cattle.io/operator: aks
+ spec:
+ nodeSelector: {{ include "linux-node-selector" . | nindent 8 }}
+{{- if .Values.nodeSelector }}
+{{ toYaml .Values.nodeSelector | indent 8 }}
+{{- end }}
+ tolerations: {{ include "linux-node-tolerations" . | nindent 8 }}
+{{- if .Values.tolerations }}
+{{ toYaml .Values.tolerations | indent 8 }}
+{{- end }}
+ serviceAccountName: aks-operator
+ {{- if .Values.priorityClassName }}
+ priorityClassName: "{{.Values.priorityClassName}}"
+ {{- end }}
+ securityContext:
+ fsGroup: 1007
+ runAsUser: 1007
+ containers:
+ - name: aks-operator
+ image: {{ template "system_default_registry" . }}{{ .Values.aksOperator.image.repository }}:{{ .Values.aksOperator.image.tag }}
+ imagePullPolicy: IfNotPresent
+ env:
+ - name: HTTP_PROXY
+ value: {{ .Values.httpProxy }}
+ - name: HTTPS_PROXY
+ value: {{ .Values.httpsProxy }}
+ - name: NO_PROXY
+ value: {{ .Values.noProxy }}
+{{- if .Values.additionalTrustedCAs }}
+ # aks-operator mounts the additional CAs in two places:
+ volumeMounts:
+ # This directory is owned by the aks-operator user so c_rehash works here.
+ - mountPath: /etc/rancher/ssl/ca-additional.pem
+ name: tls-ca-additional-volume
+ subPath: ca-additional.pem
+ readOnly: true
+ # This directory is root-owned so c_rehash doesn't work here,
+ # but the cert is here in case update-ca-certificates is called in the future or by the OS.
+ - mountPath: /etc/pki/trust/anchors/ca-additional.pem
+ name: tls-ca-additional-volume
+ subPath: ca-additional.pem
+ readOnly: true
+ volumes:
+ - name: tls-ca-additional-volume
+ secret:
+ defaultMode: 0400
+ secretName: tls-ca-additional
+ {{- end }}
diff --git a/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/serviceaccount.yaml b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/serviceaccount.yaml
new file mode 100644
index 000000000..9c40a152f
--- /dev/null
+++ b/charts/rancher-aks-operator/100.0.7+up1.0.9/templates/serviceaccount.yaml
@@ -0,0 +1,5 @@
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ namespace: cattle-system
+ name: aks-operator
diff --git a/charts/rancher-aks-operator/100.0.7+up1.0.9/values.yaml b/charts/rancher-aks-operator/100.0.7+up1.0.9/values.yaml
new file mode 100644
index 000000000..0c8f73aae
--- /dev/null
+++ b/charts/rancher-aks-operator/100.0.7+up1.0.9/values.yaml
@@ -0,0 +1,23 @@
+global:
+ cattle:
+ systemDefaultRegistry: ""
+
+aksOperator:
+ image:
+ repository: rancher/aks-operator
+ tag: v1.0.9
+
+httpProxy: ""
+httpsProxy: ""
+noProxy: ""
+additionalTrustedCAs: false
+
+## Node labels for pod assignment
+## Ref: https://kubernetes.io/docs/user-guide/node-selection/
+##
+nodeSelector: {}
+## List of node taints to tolerate (requires Kubernetes >= 1.6)
+tolerations: []
+
+## PriorityClassName assigned to deployment.
+priorityClassName: ""
diff --git a/charts/rancher-backup-crd/2.1.5/Chart.yaml b/charts/rancher-backup-crd/2.1.5/Chart.yaml
new file mode 100644
index 000000000..4a4adad37
--- /dev/null
+++ b/charts/rancher-backup-crd/2.1.5/Chart.yaml
@@ -0,0 +1,11 @@
+annotations:
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/hidden: "true"
+ catalog.cattle.io/namespace: cattle-resources-system
+ catalog.cattle.io/release-name: rancher-backup-crd
+apiVersion: v2
+appVersion: 2.1.5
+description: Installs the CRDs for rancher-backup.
+name: rancher-backup-crd
+type: application
+version: 2.1.5
diff --git a/charts/rancher-backup-crd/2.1.5/README.md b/charts/rancher-backup-crd/2.1.5/README.md
new file mode 100644
index 000000000..046410962
--- /dev/null
+++ b/charts/rancher-backup-crd/2.1.5/README.md
@@ -0,0 +1,3 @@
+# Rancher Backup CRD
+
+A Rancher chart that installs the CRDs used by `rancher-backup`.
diff --git a/charts/rancher-backup-crd/2.1.5/templates/backup.yaml b/charts/rancher-backup-crd/2.1.5/templates/backup.yaml
new file mode 100644
index 000000000..75ad5bf7b
--- /dev/null
+++ b/charts/rancher-backup-crd/2.1.5/templates/backup.yaml
@@ -0,0 +1,141 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: backups.resources.cattle.io
+spec:
+ group: resources.cattle.io
+ names:
+ kind: Backup
+ plural: backups
+ singular: backup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.storageLocation
+ name: Location
+ type: string
+ - jsonPath: .status.backupType
+ name: Type
+ type: string
+ - jsonPath: .status.filename
+ name: Latest-Backup
+ type: string
+ - jsonPath: .spec.resourceSetName
+ name: ResourceSet
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
+ name: Status
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ encryptionConfigSecretName:
+ description: Name of the Secret containing the encryption config
+ nullable: true
+ type: string
+ resourceSetName:
+ description: Name of the ResourceSet CR to use for backup
+ nullable: true
+ type: string
+ retentionCount:
+ minimum: 1
+ type: integer
+ schedule:
+ description: Cron schedule for recurring backups
+ example:
+ Descriptors: '@midnight'
+ Standard crontab specs: 0 0 * * *
+ nullable: true
+ type: string
+ storageLocation:
+ nullable: true
+ properties:
+ s3:
+ nullable: true
+ properties:
+ bucketName:
+ nullable: true
+ type: string
+ credentialSecretName:
+ nullable: true
+ type: string
+ credentialSecretNamespace:
+ nullable: true
+ type: string
+ endpoint:
+ nullable: true
+ type: string
+ endpointCA:
+ nullable: true
+ type: string
+ folder:
+ nullable: true
+ type: string
+ insecureTLSSkipVerify:
+ type: boolean
+ region:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ required:
+ - resourceSetName
+ type: object
+ status:
+ properties:
+ backupType:
+ nullable: true
+ type: string
+ conditions:
+ items:
+ properties:
+ lastTransitionTime:
+ nullable: true
+ type: string
+ lastUpdateTime:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ reason:
+ nullable: true
+ type: string
+ status:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ filename:
+ nullable: true
+ type: string
+ lastSnapshotTs:
+ nullable: true
+ type: string
+ nextSnapshotAt:
+ nullable: true
+ type: string
+ observedGeneration:
+ type: integer
+ storageLocation:
+ nullable: true
+ type: string
+ summary:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/rancher-backup-crd/2.1.5/templates/resourceset.yaml b/charts/rancher-backup-crd/2.1.5/templates/resourceset.yaml
new file mode 100644
index 000000000..4b71d7ecb
--- /dev/null
+++ b/charts/rancher-backup-crd/2.1.5/templates/resourceset.yaml
@@ -0,0 +1,118 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: resourcesets.resources.cattle.io
+spec:
+ group: resources.cattle.io
+ names:
+ kind: ResourceSet
+ plural: resourcesets
+ singular: resourceset
+ scope: Cluster
+ versions:
+ - name: v1
+ schema:
+ openAPIV3Schema:
+ properties:
+ controllerReferences:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ namespace:
+ nullable: true
+ type: string
+ replicas:
+ type: integer
+ resource:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ resourceSelectors:
+ items:
+ properties:
+ apiVersion:
+ nullable: true
+ type: string
+ excludeKinds:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ excludeResourceNameRegexp:
+ nullable: true
+ type: string
+ kinds:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ kindsRegexp:
+ nullable: true
+ type: string
+ labelSelectors:
+ nullable: true
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ nullable: true
+ type: string
+ operator:
+ nullable: true
+ type: string
+ values:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ type: array
+ matchLabels:
+ additionalProperties:
+ nullable: true
+ type: string
+ nullable: true
+ type: object
+ type: object
+ namespaceRegexp:
+ nullable: true
+ type: string
+ namespaces:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ resourceNameRegexp:
+ nullable: true
+ type: string
+ resourceNames:
+ items:
+ nullable: true
+ type: string
+ nullable: true
+ type: array
+ type: object
+ nullable: true
+ required:
+ - apiVersion
+ type: array
+ required:
+ - resourceSelectors
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/rancher-backup-crd/2.1.5/templates/restore.yaml b/charts/rancher-backup-crd/2.1.5/templates/restore.yaml
new file mode 100644
index 000000000..0f39ecf06
--- /dev/null
+++ b/charts/rancher-backup-crd/2.1.5/templates/restore.yaml
@@ -0,0 +1,122 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ name: restores.resources.cattle.io
+spec:
+ group: resources.cattle.io
+ names:
+ kind: Restore
+ plural: restores
+ singular: restore
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.backupSource
+ name: Backup-Source
+ type: string
+ - jsonPath: .spec.backupFilename
+ name: Backup-File
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
+ name: Status
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ backupFilename:
+ nullable: true
+ type: string
+ deleteTimeoutSeconds:
+ maximum: 10
+ type: integer
+ encryptionConfigSecretName:
+ nullable: true
+ type: string
+ ignoreErrors:
+ type: boolean
+ prune:
+ nullable: true
+ type: boolean
+ storageLocation:
+ nullable: true
+ properties:
+ s3:
+ nullable: true
+ properties:
+ bucketName:
+ nullable: true
+ type: string
+ credentialSecretName:
+ nullable: true
+ type: string
+ credentialSecretNamespace:
+ nullable: true
+ type: string
+ endpoint:
+ nullable: true
+ type: string
+ endpointCA:
+ nullable: true
+ type: string
+ folder:
+ nullable: true
+ type: string
+ insecureTLSSkipVerify:
+ type: boolean
+ region:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ required:
+ - backupFilename
+ type: object
+ status:
+ properties:
+ backupSource:
+ nullable: true
+ type: string
+ conditions:
+ items:
+ properties:
+ lastTransitionTime:
+ nullable: true
+ type: string
+ lastUpdateTime:
+ nullable: true
+ type: string
+ message:
+ nullable: true
+ type: string
+ reason:
+ nullable: true
+ type: string
+ status:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ nullable: true
+ type: array
+ observedGeneration:
+ type: integer
+ restoreCompletionTs:
+ nullable: true
+ type: string
+ summary:
+ nullable: true
+ type: string
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/rancher-backup/2.1.5/Chart.yaml b/charts/rancher-backup/2.1.5/Chart.yaml
new file mode 100644
index 000000000..0c6b01635
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/Chart.yaml
@@ -0,0 +1,26 @@
+annotations:
+ catalog.cattle.io/auto-install: rancher-backup-crd=match
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/display-name: Rancher Backups
+ catalog.cattle.io/kube-version: '>= 1.16.0-0 < 1.25.0-0'
+ catalog.cattle.io/namespace: cattle-resources-system
+ catalog.cattle.io/os: linux
+ catalog.cattle.io/permits-os: linux,windows
+ catalog.cattle.io/provides-gvr: resources.cattle.io.resourceset/v1
+ catalog.cattle.io/rancher-version: '>= 2.6.0-0 < 2.7.0-0'
+ catalog.cattle.io/release-name: rancher-backup
+ catalog.cattle.io/scope: management
+ catalog.cattle.io/type: cluster-tool
+ catalog.cattle.io/ui-component: rancher-backup
+ catalog.cattle.io/upstream-version: 2.1.1
+apiVersion: v2
+appVersion: 2.1.5
+description: Provides ability to back up and restore the Rancher application running
+ on any Kubernetes cluster
+icon: https://charts.rancher.io/assets/logos/backup-restore.svg
+keywords:
+- applications
+- infrastructure
+kubeVersion: '>= 1.16.0-0'
+name: rancher-backup
+version: 2.1.5
diff --git a/charts/rancher-backup/2.1.5/README.md b/charts/rancher-backup/2.1.5/README.md
new file mode 100644
index 000000000..54b8d7feb
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/README.md
@@ -0,0 +1,72 @@
+# Rancher Backup
+
+This chart provides ability to back up and restore the Rancher application running on any Kubernetes cluster.
+
+Refer [this](https://github.com/rancher/backup-restore-operator) repository for implementation details.
+
+-----
+
+### Get Repo Info
+```bash
+helm repo add rancher-chart https://charts.rancher.io
+helm repo update
+```
+
+-----
+
+### Install Chart
+```bash
+helm install rancher-backup-crd rancher-chart/rancher-backup-crd -n cattle-resources-system --create-namespace
+helm install rancher-backup rancher-chart/rancher-backup -n cattle-resources-system
+```
+
+-----
+
+### Configuration
+The following table lists the configurable parameters of the rancher-backup chart and their default values:
+
+| Parameter | Description | Default |
+|----------|---------------|-------|
+| image.repository | Container image repository | rancher/backup-restore-operator |
+| image.tag | Container image tag | v0.1.0-rc1 |
+| s3.enabled | Configure S3 compatible default storage location. Current version supports S3 and MinIO | false |
+| s3.credentialSecretName | Name of the Secret containing S3 credentials. This is an optional field. Skip this field in order to use IAM Role authentication. The Secret must contain following two keys, `accessKey` and `secretKey` | "" |
+| s3.credentialSecretNamespace | Namespace of the Secret containing S3 credentials. This can be any namespace. | "" |
+| s3.region | Region of the S3 Bucket (Required for S3, not valid for MinIO) | "" |
+| s3.bucketName | Name of the Bucket | "" |
+| s3.folder | Base folder within the Bucket (optional) | "" |
+| s3.endpoint | Endpoint for the S3 storage provider | "" |
+| s3.endpointCA | Base64 encoded CA cert for the S3 storage provider (optional) | "" |
+| s3.insecureTLSSkipVerify | Skip SSL verification | false |
+| persistence.enabled | Configure a Persistent Volume as the default storage location. It accepts either a StorageClass name to create a PVC, or directly accepts the PV to use. The Persistent Volume is mounted at `/var/lib/backups` in the operator pod | false |
+| persistence.storageClass | StorageClass to use for dynamically provisioning the Persistent Volume, which will be used for storing backups | "" |
+| persistence.volumeName | Persistent Volume to use for storing backups | "" |
+| persistence.size | Requested size of the Persistent Volume (Applicable when using dynamic provisioning) | "" |
+| debug | Set debug flag for backup-restore deployment | false |
+| trace | Set trace flag for backup-restore deployment | false |
+| nodeSelector | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector | {} |
+| tolerations | https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration | [] |
+| affinity | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | {} |
+| serviceAccount.annotations | Annotations to apply to created service account | {} |
+
+-----
+
+### CRDs
+
+Refer [this](https://github.com/rancher/backup-restore-operator#crds) section for information on CRDs that this chart installs. Also refer [this](https://github.com/rancher/backup-restore-operator/tree/master/examples) folder containing sample manifests for the CRDs.
+
+-----
+### Upgrading Chart
+```bash
+helm upgrade rancher-backup-crd -n cattle-resources-system
+helm upgrade rancher-backup -n cattle-resources-system
+```
+
+-----
+### Uninstall Chart
+
+```bash
+helm uninstall rancher-backup -n cattle-resources-system
+helm uninstall rancher-backup-crd -n cattle-resources-system
+```
+
diff --git a/charts/rancher-backup/2.1.5/app-readme.md b/charts/rancher-backup/2.1.5/app-readme.md
new file mode 100644
index 000000000..15a021cdb
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/app-readme.md
@@ -0,0 +1,15 @@
+# Rancher Backup
+
+This chart enables ability to capture backups of the Rancher application and restore from these backups. This chart can be used to migrate Rancher from one Kubernetes cluster to a different Kubernetes cluster.
+
+For more information on how to use the feature, refer to our [docs](https://rancher.com/docs/rancher/v2.x/en/backups/v2.5/).
+
+This chart installs the following components:
+
+- [backup-restore-operator](https://github.com/rancher/backup-restore-operator)
+ - The operator handles backing up all Kubernetes resources and CRDs that Rancher creates and manages from the local cluster. It gathers these resources by querying the Kubernetes API server, packages all the resources to create a tarball file and saves it in the configured backup storage location.
+ - The operator can be configured to store backups in S3-compatible object stores such as AWS S3 and MinIO, and in persistent volumes. During deployment, you can create a default storage location, but there is always the option to override the default storage location with each backup, but will be limited to using an S3-compatible object store.
+ - It preserves the ownerReferences on all resources, hence maintaining dependencies between objects.
+ - This operator provides encryption support, to encrypt user specified resources before saving them in the backup file. It uses the same encryption configuration that is used to enable [Kubernetes Encryption at Rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/).
+- Backup - A backup is a CRD (`Backup`) that defines when to take backups, where to store the backup and what encryption to use (optional). Backups can be taken ad hoc or scheduled to be taken in intervals.
+- Restore - A restore is a CRD (`Restore`) that defines which backup to use to restore the Rancher application to.
diff --git a/charts/rancher-backup/2.1.5/files/default-resourceset-contents/aks.yaml b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/aks.yaml
new file mode 100644
index 000000000..779742058
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/aks.yaml
@@ -0,0 +1,25 @@
+- apiVersion: "apiextensions.k8s.io/v1"
+ kindsRegexp: "."
+ resourceNameRegexp: "aks.cattle.io$"
+- apiVersion: "aks.cattle.io/v1"
+ kindsRegexp: "."
+- apiVersion: "apps/v1"
+ kindsRegexp: "^deployments$"
+ namespaces:
+ - "cattle-system"
+ resourceNames:
+ - "aks-config-operator"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterroles$"
+ resourceNames:
+ - "aks-operator"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterrolebindings$"
+ resourceNames:
+ - "aks-operator"
+- apiVersion: "v1"
+ kindsRegexp: "^serviceaccounts$"
+ namespaces:
+ - "cattle-system"
+ resourceNames:
+ - "aks-operator"
diff --git a/charts/rancher-backup/2.1.5/files/default-resourceset-contents/eks.yaml b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/eks.yaml
new file mode 100644
index 000000000..ae57baddf
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/eks.yaml
@@ -0,0 +1,17 @@
+- apiVersion: "eks.cattle.io/v1"
+ kindsRegexp: "."
+- apiVersion: "apps/v1"
+ kindsRegexp: "^deployments$"
+ resourceNames:
+ - "eks-config-operator"
+- apiVersion: "apiextensions.k8s.io/v1"
+ kindsRegexp: "."
+ resourceNameRegexp: "eks.cattle.io$"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterroles$"
+ resourceNames:
+ - "eks-operator"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterrolebindings$"
+ resourceNames:
+ - "eks-operator"
diff --git a/charts/rancher-backup/2.1.5/files/default-resourceset-contents/fleet.yaml b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/fleet.yaml
new file mode 100644
index 000000000..9e57c4b45
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/fleet.yaml
@@ -0,0 +1,50 @@
+- apiVersion: "v1"
+ kindsRegexp: "^namespaces$"
+ resourceNameRegexp: "^fleet-|^cluster-fleet-"
+- apiVersion: "v1"
+ kindsRegexp: "^secrets$"
+ namespaceRegexp: "^cattle-fleet-|^fleet-|^cluster-fleet-"
+ labelSelectors:
+ matchExpressions:
+ - key: "owner"
+ operator: "NotIn"
+ values: ["helm"]
+ - key: "fleet.cattle.io/managed"
+ operator: "In"
+ values: ["true"]
+- apiVersion: "v1"
+ kindsRegexp: "^serviceaccounts$"
+ namespaceRegexp: "^cattle-fleet-|^fleet-|^cluster-fleet-"
+ excludeResourceNameRegexp: "^default$"
+- apiVersion: "v1"
+ kindsRegexp: "^configmaps$"
+ namespaceRegexp: "^cattle-fleet-|^fleet-|^cluster-fleet-"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^roles$|^rolebindings$"
+ namespaceRegexp: "^cattle-fleet-|^fleet-|^cluster-fleet-"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterrolebindings$"
+ resourceNameRegexp: "^fleet-|^gitjob-"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterroles$"
+ resourceNameRegexp: "^fleet-"
+ resourceNames:
+ - "gitjob"
+- apiVersion: "apiextensions.k8s.io/v1"
+ kindsRegexp: "."
+ resourceNameRegexp: "fleet.cattle.io$|gitjob.cattle.io$"
+- apiVersion: "fleet.cattle.io/v1alpha1"
+ kindsRegexp: "."
+- apiVersion: "gitjob.cattle.io/v1"
+ kindsRegexp: "."
+- apiVersion: "apps/v1"
+ kindsRegexp: "^deployments$"
+ namespaceRegexp: "^cattle-fleet-|^fleet-|^cluster-fleet-"
+ resourceNameRegexp: "^fleet-"
+ resourceNames:
+ - "gitjob"
+- apiVersion: "apps/v1"
+ kindsRegexp: "^services$"
+ namespaceRegexp: "^cattle-fleet-|^fleet-|^cluster-fleet-"
+ resourceNames:
+ - "gitjob"
diff --git a/charts/rancher-backup/2.1.5/files/default-resourceset-contents/gke.yaml b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/gke.yaml
new file mode 100644
index 000000000..a87eef364
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/gke.yaml
@@ -0,0 +1,17 @@
+- apiVersion: "apiextensions.k8s.io/v1"
+ kindsRegexp: "."
+ resourceNameRegexp: "gke.cattle.io$"
+- apiVersion: "gke.cattle.io/v1"
+ kindsRegexp: "."
+- apiVersion: "apps/v1"
+ kindsRegexp: "^deployments$"
+ resourceNames:
+ - "gke-config-operator"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterroles$"
+ resourceNames:
+ - "gke-operator"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterrolebindings$"
+ resourceNames:
+ - "gke-operator"
diff --git a/charts/rancher-backup/2.1.5/files/default-resourceset-contents/provisioningv2.yaml b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/provisioningv2.yaml
new file mode 100644
index 000000000..e5d4968bb
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/provisioningv2.yaml
@@ -0,0 +1,20 @@
+- apiVersion: "apiextensions.k8s.io/v1"
+ kindsRegexp: "."
+ resourceNameRegexp: "provisioning.cattle.io$|rke-machine-config.cattle.io$|rke-machine.cattle.io$|rke.cattle.io$|cluster.x-k8s.io$"
+- apiVersion: "provisioning.cattle.io/v1"
+ kindsRegexp: "."
+- apiVersion: "rke-machine-config.cattle.io/v1"
+ kindsRegexp: "."
+- apiVersion: "rke-machine.cattle.io/v1"
+ kindsRegexp: "."
+- apiVersion: "rke.cattle.io/v1"
+ kindsRegexp: "."
+- apiVersion: "cluster.x-k8s.io/v1alpha4"
+ kindsRegexp: "."
+- apiVersion: "cluster.x-k8s.io/v1beta1"
+ kindsRegexp: "."
+- apiVersion: "v1"
+ kindsRegexp: "^secrets$"
+ resourceNameRegexp: "machine-plan$|rke-state$|machine-state$|machine-driver-secret$|machine-provision$"
+ namespaces:
+ - "fleet-default"
diff --git a/charts/rancher-backup/2.1.5/files/default-resourceset-contents/rancher-operator.yaml b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/rancher-operator.yaml
new file mode 100644
index 000000000..f30c2fd96
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/rancher-operator.yaml
@@ -0,0 +1,28 @@
+- apiVersion: "rancher.cattle.io/v1"
+ kindsRegexp: "."
+- apiVersion: "apps/v1"
+ kindsRegexp: "^deployments$"
+ resourceNames:
+ - "rancher-operator"
+ namespaces:
+ - "rancher-operator-system"
+- apiVersion: "v1"
+ kindsRegexp: "^serviceaccounts$"
+ namespaces:
+ - "rancher-operator-system"
+ excludeResourceNameRegexp: "^default$"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterrolebindings$"
+ resourceNames:
+ - "rancher-operator"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterroles$"
+ resourceNames:
+ - "rancher-operator"
+- apiVersion: "apiextensions.k8s.io/v1"
+ kindsRegexp: "."
+ resourceNameRegexp: "rancher.cattle.io$"
+- apiVersion: "v1"
+ kindsRegexp: "^namespaces$"
+ resourceNames:
+ - "rancher-operator-system"
diff --git a/charts/rancher-backup/2.1.5/files/default-resourceset-contents/rancher.yaml b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/rancher.yaml
new file mode 100644
index 000000000..ba681c5b2
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/files/default-resourceset-contents/rancher.yaml
@@ -0,0 +1,54 @@
+- apiVersion: "v1"
+ kindsRegexp: "^namespaces$"
+ resourceNameRegexp: "^cattle-|^p-|^c-|^user-|^u-"
+ resourceNames:
+ - "local"
+- apiVersion: "v1"
+ kindsRegexp: "^secrets$"
+ namespaceRegexp: "^cattle-|^p-|^c-|^local$|^user-|^u-"
+ labelSelectors:
+ matchExpressions:
+ - key: "owner"
+ operator: "NotIn"
+ values: ["helm"]
+ excludeResourceNameRegexp: "^bootstrap-secret$|^rancher-csp-adapter|^csp-adapter-cache$"
+- apiVersion: "v1"
+ kindsRegexp: "^serviceaccounts$"
+ namespaceRegexp: "^cattle-|^p-|^c-|^local$|^user-|^u-"
+ excludeResourceNameRegexp: "^default$|^rancher-csp-adapter$"
+- apiVersion: "v1"
+ kindsRegexp: "^configmaps$"
+ namespaces:
+ - "cattle-system"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^roles$|^rolebindings$"
+ namespaceRegexp: "^cattle-|^p-|^c-|^local$|^user-|^u-"
+ excludeResourceNameRegexp: "^rancher-csp-adapter"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterrolebindings$"
+ resourceNameRegexp: "^cattle-|^clusterrolebinding-|^globaladmin-user-|^grb-u-|^crb-"
+- apiVersion: "rbac.authorization.k8s.io/v1"
+ kindsRegexp: "^clusterroles$"
+ resourceNameRegexp: "^cattle-|^p-|^c-|^local-|^user-|^u-|^project-|^create-ns$"
+ excludeResourceNameRegexp: "^rancher-csp-adapter-"
+- apiVersion: "apiextensions.k8s.io/v1"
+ kindsRegexp: "."
+ resourceNameRegexp: "management.cattle.io$|project.cattle.io$|catalog.cattle.io$|resources.cattle.io$"
+- apiVersion: "management.cattle.io/v3"
+ kindsRegexp: "."
+ excludeKinds:
+ - "tokens"
+ - "rancherusernotifications"
+- apiVersion: "management.cattle.io/v3"
+ kindsRegexp: "^tokens$"
+ labelSelectors:
+ matchExpressions:
+ - key: "authn.management.cattle.io/kind"
+ operator: "NotIn"
+ values: [ "provisioning" ]
+- apiVersion: "project.cattle.io/v3"
+ kindsRegexp: "."
+- apiVersion: "catalog.cattle.io/v1"
+ kindsRegexp: "^clusterrepos$"
+- apiVersion: "resources.cattle.io/v1"
+ kindsRegexp: "^ResourceSet$"
diff --git a/charts/rancher-backup/2.1.5/templates/_helpers.tpl b/charts/rancher-backup/2.1.5/templates/_helpers.tpl
new file mode 100644
index 000000000..0f2218ab5
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/templates/_helpers.tpl
@@ -0,0 +1,83 @@
+{{- define "system_default_registry" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
+{{- else -}}
+{{- "" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Windows cluster will add default taint for linux nodes,
+add below linux tolerations to workloads could be scheduled to those linux nodes
+*/}}
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+beta.kubernetes.io/os: linux
+{{- else -}}
+kubernetes.io/os: linux
+{{- 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).
+*/}}
+{{- define "backupRestore.fullname" -}}
+{{- .Chart.Name | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "backupRestore.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "backupRestore.labels" -}}
+helm.sh/chart: {{ include "backupRestore.chart" . }}
+{{ include "backupRestore.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "backupRestore.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "backupRestore.fullname" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+resources.cattle.io/operator: backup-restore
+{{- end }}
+
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "backupRestore.serviceAccountName" -}}
+{{ include "backupRestore.fullname" . }}
+{{- end }}
+
+
+{{- define "backupRestore.s3SecretName" -}}
+{{- printf "%s-%s" .Chart.Name "s3" | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Create PVC name using release and revision number.
+*/}}
+{{- define "backupRestore.pvcName" -}}
+{{- printf "%s-%d" .Release.Name .Release.Revision }}
+{{- end }}
+
diff --git a/charts/rancher-backup/2.1.5/templates/clusterrolebinding.yaml b/charts/rancher-backup/2.1.5/templates/clusterrolebinding.yaml
new file mode 100644
index 000000000..cf4abf670
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/templates/clusterrolebinding.yaml
@@ -0,0 +1,14 @@
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: {{ include "backupRestore.fullname" . }}
+ labels:
+ {{- include "backupRestore.labels" . | nindent 4 }}
+subjects:
+- kind: ServiceAccount
+ name: {{ include "backupRestore.serviceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
+roleRef:
+ kind: ClusterRole
+ name: cluster-admin
+ apiGroup: rbac.authorization.k8s.io
diff --git a/charts/rancher-backup/2.1.5/templates/deployment.yaml b/charts/rancher-backup/2.1.5/templates/deployment.yaml
new file mode 100644
index 000000000..631fa458b
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/templates/deployment.yaml
@@ -0,0 +1,79 @@
+{{- if and .Values.s3.enabled .Values.persistence.enabled }}
+{{- fail "\n\nCannot configure both s3 and PV for storing backups" }}
+{{- end }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "backupRestore.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "backupRestore.labels" . | nindent 4 }}
+spec:
+ selector:
+ matchLabels:
+ {{- include "backupRestore.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ labels:
+ {{- include "backupRestore.selectorLabels" . | nindent 8 }}
+ annotations:
+ checksum/s3: {{ include (print $.Template.BasePath "/s3-secret.yaml") . | sha256sum }}
+ checksum/pvc: {{ include (print $.Template.BasePath "/pvc.yaml") . | sha256sum }}
+ spec:
+ serviceAccountName: {{ include "backupRestore.serviceAccountName" . }}
+ {{- if .Values.imagePullSecrets }}
+ imagePullSecrets:
+ {{ toYaml .Values.imagePullSecrets | indent 6 }}
+ {{- end }}
+ {{- if .Values.priorityClassName }}
+ priorityClassName: {{ .Values.priorityClassName }}
+ {{- end }}
+ containers:
+ - name: {{ .Chart.Name }}
+ image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ default "Always" .Values.imagePullPolicy }}
+ args:
+{{- if .Values.debug }}
+ - "--debug"
+{{- end }}
+{{- if .Values.trace }}
+ - "--trace"
+{{- end }}
+ env:
+ - name: CHART_NAMESPACE
+ value: {{ .Release.Namespace }}
+ {{- if .Values.s3.enabled }}
+ - name: DEFAULT_S3_BACKUP_STORAGE_LOCATION
+ value: {{ include "backupRestore.s3SecretName" . }}
+ {{- end }}
+ {{- if .Values.proxy }}
+ - name: HTTP_PROXY
+ value: {{ .Values.proxy }}
+ - name: HTTPS_PROXY
+ value: {{ .Values.proxy }}
+ - name: NO_PROXY
+ value: {{ .Values.noProxy }}
+ {{- end }}
+ {{- if .Values.persistence.enabled }}
+ - name: DEFAULT_PERSISTENCE_ENABLED
+ value: "persistence-enabled"
+ volumeMounts:
+ - mountPath: "/var/lib/backups"
+ name: pv-storage
+ volumes:
+ - name: pv-storage
+ persistentVolumeClaim:
+ claimName: {{ include "backupRestore.pvcName" . }}
+ {{- end }}
+ nodeSelector: {{ include "linux-node-selector" . | nindent 8 }}
+{{- if .Values.nodeSelector }}
+{{ toYaml .Values.nodeSelector | indent 8 }}
+{{- end }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ tolerations: {{ include "linux-node-tolerations" . | nindent 8 }}
+{{- if .Values.tolerations }}
+{{ toYaml .Values.tolerations | indent 8 }}
+{{- end }}
diff --git a/charts/rancher-backup/2.1.5/templates/hardened.yaml b/charts/rancher-backup/2.1.5/templates/hardened.yaml
new file mode 100644
index 000000000..3e23d3093
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/templates/hardened.yaml
@@ -0,0 +1,124 @@
+apiVersion: batch/v1
+kind: Job
+metadata:
+ name: {{ include "backupRestore.fullname" . }}-patch-sa
+ namespace: {{ .Release.Namespace }}
+ labels: {{ include "backupRestore.labels" . | nindent 4 }}
+ annotations:
+ "helm.sh/hook": post-install, post-upgrade
+ "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation
+spec:
+ backoffLimit: 1
+ template:
+ spec:
+ serviceAccountName: {{ include "backupRestore.fullname" . }}-patch-sa
+ securityContext:
+ runAsNonRoot: true
+ runAsUser: 1000
+ restartPolicy: Never
+ nodeSelector: {{ include "linux-node-selector" . | nindent 8 }}
+{{- if .Values.nodeSelector }}
+{{ toYaml .Values.nodeSelector | indent 8 }}
+{{- end }}
+ tolerations: {{ include "linux-node-tolerations" . | nindent 8 }}
+{{- if .Values.tolerations }}
+{{ toYaml .Values.tolerations | indent 8 }}
+{{- end }}
+ containers:
+ - name: {{ include "backupRestore.fullname" . }}-patch-sa
+ image: {{ include "system_default_registry" . }}{{ .Values.global.kubectl.repository }}:{{ .Values.global.kubectl.tag }}
+ imagePullPolicy: IfNotPresent
+ command: ["kubectl", "-n", {{ .Release.Namespace | quote }}, "patch", "serviceaccount", "default", "-p", "{\"automountServiceAccountToken\": false}"]
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ include "backupRestore.fullname" . }}-patch-sa
+ namespace: {{ .Release.Namespace }}
+ labels: {{ include "backupRestore.labels" . | nindent 4 }}
+ annotations:
+ "helm.sh/hook": post-install, post-upgrade
+ "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ include "backupRestore.fullname" . }}-patch-sa
+ labels: {{ include "backupRestore.labels" . | nindent 4 }}
+ annotations:
+ "helm.sh/hook": post-install, post-upgrade
+ "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation
+rules:
+ - apiGroups: [""]
+ resources: ["serviceaccounts"]
+ verbs: ["get", "patch"]
+{{- if .Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy"}}
+ - apiGroups: ["policy"]
+ resources: ["podsecuritypolicies"]
+ verbs: ["use"]
+ resourceNames:
+ - {{ include "backupRestore.fullname" . }}-patch-sa
+{{- end}}
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ include "backupRestore.fullname" . }}-patch-sa
+ labels: {{ include "backupRestore.labels" . | nindent 4 }}
+ annotations:
+ "helm.sh/hook": post-install, post-upgrade
+ "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ include "backupRestore.fullname" . }}-patch-sa
+subjects:
+ - kind: ServiceAccount
+ name: {{ include "backupRestore.fullname" . }}-patch-sa
+ namespace: {{ .Release.Namespace }}
+---
+{{- if .Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy"}}
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: {{ include "backupRestore.fullname" . }}-patch-sa
+ labels: {{ include "backupRestore.labels" . | nindent 4 }}
+ annotations:
+ "helm.sh/hook": post-install, post-upgrade
+ "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation
+spec:
+ privileged: false
+ hostNetwork: false
+ hostIPC: false
+ hostPID: false
+ runAsUser:
+ rule: 'MustRunAsNonRoot'
+ seLinux:
+ rule: 'RunAsAny'
+ supplementalGroups:
+ rule: 'MustRunAs'
+ ranges:
+ - min: 1
+ max: 65535
+ fsGroup:
+ rule: 'MustRunAs'
+ ranges:
+ - min: 1
+ max: 65535
+ readOnlyRootFilesystem: false
+ volumes:
+ - 'secret'
+{{- end}}
+---
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: {{ include "backupRestore.fullname" . }}-default-allow-all
+ namespace: {{ .Release.Namespace }}
+spec:
+ podSelector: {}
+ egress:
+ - {}
+ policyTypes:
+ - Ingress
+ - Egress
diff --git a/charts/rancher-backup/2.1.5/templates/psp.yaml b/charts/rancher-backup/2.1.5/templates/psp.yaml
new file mode 100644
index 000000000..d6385e14a
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/templates/psp.yaml
@@ -0,0 +1,31 @@
+{{- if .Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy" -}}
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: {{ include "backupRestore.fullname" . }}-psp
+ labels: {{ include "backupRestore.labels" . | nindent 4 }}
+spec:
+ privileged: false
+ allowPrivilegeEscalation: false
+ hostNetwork: false
+ hostIPC: false
+ hostPID: false
+ runAsUser:
+ rule: 'MustRunAsNonRoot'
+ seLinux:
+ rule: 'RunAsAny'
+ supplementalGroups:
+ rule: 'MustRunAs'
+ ranges:
+ - min: 1
+ max: 65535
+ fsGroup:
+ rule: 'MustRunAs'
+ ranges:
+ - min: 1
+ max: 65535
+ readOnlyRootFilesystem: false
+ volumes:
+ - 'persistentVolumeClaim'
+ - 'secret'
+{{- end -}}
diff --git a/charts/rancher-backup/2.1.5/templates/pvc.yaml b/charts/rancher-backup/2.1.5/templates/pvc.yaml
new file mode 100644
index 000000000..ff57e4dab
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/templates/pvc.yaml
@@ -0,0 +1,27 @@
+{{- if and .Values.persistence.enabled -}}
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: {{ include "backupRestore.pvcName" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "backupRestore.labels" . | nindent 4 }}
+spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ {{- with .Values.persistence }}
+ requests:
+ storage: {{ .size | quote }}
+{{- if .storageClass }}
+{{- if (eq "-" .storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: {{ .storageClass | quote }}
+{{- end }}
+{{- end }}
+{{- if .volumeName }}
+ volumeName: {{ .volumeName | quote }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/charts/rancher-backup/2.1.5/templates/rancher-resourceset.yaml b/charts/rancher-backup/2.1.5/templates/rancher-resourceset.yaml
new file mode 100644
index 000000000..05add8824
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/templates/rancher-resourceset.yaml
@@ -0,0 +1,13 @@
+apiVersion: resources.cattle.io/v1
+kind: ResourceSet
+metadata:
+ name: rancher-resource-set
+controllerReferences:
+ - apiVersion: "apps/v1"
+ resource: "deployments"
+ name: "rancher"
+ namespace: "cattle-system"
+resourceSelectors:
+{{- range $path, $_ := .Files.Glob "files/default-resourceset-contents/*.yaml" -}}
+ {{- $.Files.Get $path | nindent 2 -}}
+{{- end -}}
diff --git a/charts/rancher-backup/2.1.5/templates/s3-secret.yaml b/charts/rancher-backup/2.1.5/templates/s3-secret.yaml
new file mode 100644
index 000000000..726509730
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/templates/s3-secret.yaml
@@ -0,0 +1,31 @@
+{{- if .Values.s3.enabled -}}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "backupRestore.s3SecretName" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "backupRestore.labels" . | nindent 4 }}
+type: Opaque
+stringData:
+ {{- with .Values.s3 }}
+ {{- if .credentialSecretName }}
+ credentialSecretName: {{ .credentialSecretName }}
+ credentialSecretNamespace: {{ required "When providing a Secret containing S3 credentials, a valid .Values.credentialSecretNamespace must be provided" .credentialSecretNamespace }}
+ {{- end }}
+ {{- if .region }}
+ region: {{ .region | quote }}
+ {{- end }}
+ bucketName: {{ required "A valid .Values.bucketName is required for configuring S3 compatible storage as the default backup storage location" .bucketName | quote }}
+ {{- if .folder }}
+ folder: {{ .folder | quote }}
+ {{- end }}
+ endpoint: {{ required "A valid .Values.endpoint is required for configuring S3 compatible storage as the default backup storage location" .endpoint | quote }}
+ {{- if .endpointCA }}
+ endpointCA: {{ .endpointCA }}
+ {{- end }}
+ {{- if .insecureTLSSkipVerify }}
+ insecureTLSSkipVerify: {{ .insecureTLSSkipVerify | quote }}
+ {{- end }}
+ {{- end }}
+{{ end }}
diff --git a/charts/rancher-backup/2.1.5/templates/serviceaccount.yaml b/charts/rancher-backup/2.1.5/templates/serviceaccount.yaml
new file mode 100644
index 000000000..754e1fe89
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/templates/serviceaccount.yaml
@@ -0,0 +1,11 @@
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ include "backupRestore.serviceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "backupRestore.labels" . | nindent 4 }}
+{{- if .Values.serviceAccount.annotations }}
+ annotations:
+ {{- toYaml .Values.serviceAccount.annotations | nindent 4 }}
+{{- end }}
diff --git a/charts/rancher-backup/2.1.5/templates/validate-install-crd.yaml b/charts/rancher-backup/2.1.5/templates/validate-install-crd.yaml
new file mode 100644
index 000000000..f63fd2e2e
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/templates/validate-install-crd.yaml
@@ -0,0 +1,16 @@
+#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}}
+# {{- $found := dict -}}
+# {{- set $found "resources.cattle.io/v1/Backup" false -}}
+# {{- set $found "resources.cattle.io/v1/ResourceSet" false -}}
+# {{- set $found "resources.cattle.io/v1/Restore" false -}}
+# {{- range .Capabilities.APIVersions -}}
+# {{- if hasKey $found (toString .) -}}
+# {{- set $found (toString .) true -}}
+# {{- end -}}
+# {{- end -}}
+# {{- range $_, $exists := $found -}}
+# {{- if (eq $exists false) -}}
+# {{- required "Required CRDs are missing. Please install the corresponding CRD chart before installing this chart." "" -}}
+# {{- end -}}
+# {{- end -}}
+#{{- end -}}
\ No newline at end of file
diff --git a/charts/rancher-backup/2.1.5/tests/deployment_test.yaml b/charts/rancher-backup/2.1.5/tests/deployment_test.yaml
new file mode 100644
index 000000000..a5cbd47c0
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/tests/deployment_test.yaml
@@ -0,0 +1,198 @@
+suite: Test Deployment
+templates:
+- deployment.yaml
+- s3-secret.yaml
+- pvc.yaml
+- _helpers.tpl
+tests:
+- it: should set name
+ template: deployment.yaml
+ asserts:
+ - equal:
+ path: metadata.name
+ value: "rancher-backup"
+- it: should set namespace
+ template: deployment.yaml
+ asserts:
+ - equal:
+ path: metadata.namespace
+ value: "NAMESPACE"
+- it: should set priorityClassName
+ set:
+ priorityClassName: "testClass"
+ template: deployment.yaml
+ asserts:
+ - equal:
+ path: spec.template.spec.priorityClassName
+ value: "testClass"
+- it: should set default imagePullPolicy
+ template: deployment.yaml
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].imagePullPolicy
+ value: "Always"
+- it: should set imagePullPolicy
+ set:
+ imagePullPolicy: "IfNotPresent"
+ template: deployment.yaml
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].imagePullPolicy
+ value: "IfNotPresent"
+- it: should set debug loglevel
+ set:
+ debug: true
+ template: deployment.yaml
+ asserts:
+ - contains:
+ path: spec.template.spec.containers[0].args
+ content: "--debug"
+- it: should set trace loglevel
+ set:
+ trace: true
+ template: deployment.yaml
+ asserts:
+ - contains:
+ path: spec.template.spec.containers[0].args
+ content: "--trace"
+- it: should set proxy environment variables
+ set:
+ proxy: "https://127.0.0.1:3128"
+ template: deployment.yaml
+ asserts:
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: HTTP_PROXY
+ value: "https://127.0.0.1:3128"
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: HTTPS_PROXY
+ value: "https://127.0.0.1:3128"
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: NO_PROXY
+ value: "127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local"
+- it: should set proxy environment variables with modified noproxy
+ set:
+ proxy: "https://127.0.0.1:3128"
+ noProxy: "192.168.0.0/24"
+ template: deployment.yaml
+ asserts:
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: NO_PROXY
+ value: "192.168.0.0/24"
+- it: should set persistence variables
+ set:
+ persistence.enabled: true
+ template: deployment.yaml
+ asserts:
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: DEFAULT_PERSISTENCE_ENABLED
+ value: "persistence-enabled"
+ - contains:
+ path: spec.template.spec.containers[0].volumeMounts
+ content:
+ mountPath: "/var/lib/backups"
+ name: "pv-storage"
+ - equal:
+ path: spec.template.spec.volumes[0].name
+ value: "pv-storage"
+ - equal:
+ path: spec.template.spec.volumes[0].persistentVolumeClaim
+ value:
+ claimName: RELEASE-NAME-0
+- it: should set private registry
+ template: deployment.yaml
+ set:
+ global.cattle.systemDefaultRegistry: "my.registry.local:3000"
+ asserts:
+ - matchRegex:
+ path: spec.template.spec.containers[0].image
+ pattern: ^my.registry.local:3000/rancher/backup-restore-operator:.*$
+- it: should set nodeselector
+ template: deployment.yaml
+ asserts:
+ - equal:
+ path: spec.template.spec.nodeSelector
+ value:
+ kubernetes.io/os: linux
+- it: should not set default affinity
+ template: deployment.yaml
+ asserts:
+ - isNull:
+ path: spec.template.spec.affinity
+- it: should set custom affinity
+ template: deployment.yaml
+ set:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: disktype
+ operator: In
+ values:
+ - ssd
+ asserts:
+ - equal:
+ path: spec.template.spec.affinity
+ value:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: disktype
+ operator: In
+ values:
+ - ssd
+- it: should set tolerations
+ template: deployment.yaml
+ asserts:
+ - equal:
+ path: spec.template.spec.tolerations[0]
+ value:
+ key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+- it: should set custom tolerations
+ template: deployment.yaml
+ set:
+ tolerations:
+ - key: "example-key"
+ operator: "Exists"
+ effect: "NoSchedule"
+ asserts:
+ - equal:
+ path: spec.template.spec.tolerations[0]
+ value:
+ key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+ - equal:
+ path: spec.template.spec.tolerations[1]
+ value:
+ key: "example-key"
+ operator: "Exists"
+ effect: "NoSchedule"
+- it: should not set default imagePullSecrets
+ template: deployment.yaml
+ asserts:
+ - isNull:
+ path: spec.template.spec.imagePullSecrets
+- it: should set imagePullSecrets
+ set:
+ imagePullSecrets: [ 'pull-secret' ]
+ template: deployment.yaml
+ asserts:
+ - equal:
+ path: spec.template.spec.imagePullSecrets[0]
+ value: "pull-secret"
diff --git a/charts/rancher-backup/2.1.5/tests/pvc_test.yaml b/charts/rancher-backup/2.1.5/tests/pvc_test.yaml
new file mode 100644
index 000000000..d32fe89fd
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/tests/pvc_test.yaml
@@ -0,0 +1,88 @@
+suite: Test PVC
+templates:
+- pvc.yaml
+- _helpers.tpl
+tests:
+- it: should set name
+ template: pvc.yaml
+ set:
+ persistence:
+ enabled: true
+ asserts:
+ - equal:
+ path: metadata.name
+ value: "RELEASE-NAME-0"
+- it: should set namespace
+ template: pvc.yaml
+ set:
+ persistence:
+ enabled: true
+ asserts:
+ - equal:
+ path: metadata.namespace
+ value: "NAMESPACE"
+- it: should set accessModes
+ template: pvc.yaml
+ set:
+ persistence:
+ enabled: true
+ asserts:
+ - equal:
+ path: spec.accessModes[0]
+ value: "ReadWriteOnce"
+- it: should set size
+ template: pvc.yaml
+ set:
+ persistence:
+ enabled: true
+ asserts:
+ - equal:
+ path: spec.resources.requests.storage
+ value: "2Gi"
+- it: should set size
+ template: pvc.yaml
+ set:
+ persistence:
+ enabled: true
+ size: "10Gi"
+ asserts:
+ - equal:
+ path: spec.resources.requests.storage
+ value: "10Gi"
+- it: should not set volumeName
+ template: pvc.yaml
+ set:
+ persistence:
+ enabled: true
+ asserts:
+ - isNull:
+ path: spec.volumeName
+- it: should set default storageClass
+ template: pvc.yaml
+ set:
+ persistence:
+ enabled: true
+ asserts:
+ - equal:
+ path: spec.storageClassName
+ value: ""
+- it: should set custom storageClass
+ template: pvc.yaml
+ set:
+ persistence:
+ enabled: true
+ storageClass: "storage-class"
+ asserts:
+ - equal:
+ path: spec.storageClassName
+ value: "storage-class"
+- it: should set custom volumeName
+ template: pvc.yaml
+ set:
+ persistence:
+ enabled: true
+ volumeName: "volume-name"
+ asserts:
+ - equal:
+ path: spec.volumeName
+ value: "volume-name"
diff --git a/charts/rancher-backup/2.1.5/tests/s3-secret_test.yaml b/charts/rancher-backup/2.1.5/tests/s3-secret_test.yaml
new file mode 100644
index 000000000..af130dd29
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/tests/s3-secret_test.yaml
@@ -0,0 +1,141 @@
+suite: Test S3 Secret
+templates:
+- s3-secret.yaml
+- _helpers.tpl
+tests:
+- it: should set name
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ asserts:
+ - equal:
+ path: metadata.name
+ value: "rancher-backup-s3"
+- it: should set namespace
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ asserts:
+ - equal:
+ path: metadata.namespace
+ value: "NAMESPACE"
+- it: should not set credentialSecretName
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ asserts:
+ - isNull:
+ path: stringData.credentialSecretName
+- it: should set credentialSecretName
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ credentialSecretName: "credential-secret-name"
+ credentialSecretNamespace: "credential-secret-namespace"
+ asserts:
+ - equal:
+ path: stringData.credentialSecretName
+ value: "credential-secret-name"
+ - equal:
+ path: stringData.credentialSecretNamespace
+ value: "credential-secret-namespace"
+- it: should not set folder
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ asserts:
+ - isNull:
+ path: stringData.folder
+- it: should set folder
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ folder: "myfolder"
+ asserts:
+ - equal:
+ path: stringData.folder
+ value: "myfolder"
+- it: should not set region
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ asserts:
+ - isNull:
+ path: stringData.region
+- it: should set region
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ region: "us-west-1"
+ asserts:
+ - equal:
+ path: stringData.region
+ value: "us-west-1"
+- it: should not set endpointCA
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ asserts:
+ - isNull:
+ path: stringData.endpointCA
+- it: should set endpointCA
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ endpointCA: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHakNDQWdLZ0F3SUJBZ0lKQUtpWFZpNEpBb0J5TUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NakF3T0RNd01UZ3lOVFE1V2hjTk1qQXhNREk1TVRneU5UUTVXakFTTVJBdwpEZ1lEVlFRRERBZDBaWE4wTFdOaE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCjA4dnV3Q2Y0SEhtR2Q2azVNTmozRW5NOG00T2RpS3czSGszd1NlOUlXQkwyVzY5WDZxenBhN2I2M3U2L05mMnkKSnZWNDVqeXplRFB6bFJycjlpbEpWaVZ1NFNqWlFjdG9jWmFCaVNsL0xDbEFDdkFaUlYvKzN0TFVTZSs1ZDY0QQpWcUhDQlZObU5xM3E3aVY0TE1aSVpRc3N6K0FxaU1Sd0pOMVVKQTZ6V0tUc2Yzc3ByQ0J2dWxJWmZsVXVETVAyCnRCTCt6cXZEc0pDdWlhNEEvU2JNT29tVmM2WnNtTGkwMjdub3dGRld3MnRpSkM5d0xMRE14NnJoVHQ4a3VvVHYKQXJpUjB4WktiRU45L1Uzb011eUVKbHZyck9YS2ZuUDUwbk8ycGNaQnZCb3pUTStYZnRvQ1d5UnhKUmI5cFNTRApKQjlmUEFtLzNZcFpMMGRKY2sxR1h3SURBUUFCbzNNd2NUQWRCZ05WSFE0RUZnUVU5NHU4WXlMdmE2MTJnT1pyCm44QnlFQ2NucVFjd1FnWURWUjBqQkRzd09ZQVU5NHU4WXlMdmE2MTJnT1pybjhCeUVDY25xUWVoRnFRVU1CSXgKRURBT0JnTlZCQU1NQjNSbGMzUXRZMkdDQ1FDb2wxWXVDUUtBY2pBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxRwpTSWIzRFFFQkN3VUFBNElCQVFER1JRZ1RtdzdVNXRQRHA5Q2psOXlLRW9Vd2pYWWM2UlAwdm1GSHpubXJ3dUVLCjFrTkVJNzhBTUw1MEpuS29CY0ljVDNEeGQ3TGdIbTNCRE5mVVh2anArNnZqaXhJYXR2UWhsSFNVaWIyZjJsSTkKVEMxNzVyNCtROFkzelc1RlFXSDdLK08vY3pJTGh5ei93aHRDUlFkQ29lS1dXZkFiby8wd0VSejZzNkhkVFJzNwpHcWlGNWZtWGp6S0lOcTBjMHRyZ0xtalNKd1hwSnU0ZnNGOEcyZUh4b2pOKzdJQ1FuSkg5cGRIRVpUQUtOL2ppCnIvem04RlZtd1kvdTBndEZneWVQY1ZWbXBqRm03Y0ZOSkc4Y2ZYd0QzcEFwVjhVOGNocTZGeFBHTkVvWFZnclMKY1VRMklaU0RJd1FFY3FvSzFKSGdCUWw2RXBaUVpWMW1DRklrdFBwSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t"
+ asserts:
+ - equal:
+ path: stringData.endpointCA
+ value: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHakNDQWdLZ0F3SUJBZ0lKQUtpWFZpNEpBb0J5TUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NakF3T0RNd01UZ3lOVFE1V2hjTk1qQXhNREk1TVRneU5UUTVXakFTTVJBdwpEZ1lEVlFRRERBZDBaWE4wTFdOaE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCjA4dnV3Q2Y0SEhtR2Q2azVNTmozRW5NOG00T2RpS3czSGszd1NlOUlXQkwyVzY5WDZxenBhN2I2M3U2L05mMnkKSnZWNDVqeXplRFB6bFJycjlpbEpWaVZ1NFNqWlFjdG9jWmFCaVNsL0xDbEFDdkFaUlYvKzN0TFVTZSs1ZDY0QQpWcUhDQlZObU5xM3E3aVY0TE1aSVpRc3N6K0FxaU1Sd0pOMVVKQTZ6V0tUc2Yzc3ByQ0J2dWxJWmZsVXVETVAyCnRCTCt6cXZEc0pDdWlhNEEvU2JNT29tVmM2WnNtTGkwMjdub3dGRld3MnRpSkM5d0xMRE14NnJoVHQ4a3VvVHYKQXJpUjB4WktiRU45L1Uzb011eUVKbHZyck9YS2ZuUDUwbk8ycGNaQnZCb3pUTStYZnRvQ1d5UnhKUmI5cFNTRApKQjlmUEFtLzNZcFpMMGRKY2sxR1h3SURBUUFCbzNNd2NUQWRCZ05WSFE0RUZnUVU5NHU4WXlMdmE2MTJnT1pyCm44QnlFQ2NucVFjd1FnWURWUjBqQkRzd09ZQVU5NHU4WXlMdmE2MTJnT1pybjhCeUVDY25xUWVoRnFRVU1CSXgKRURBT0JnTlZCQU1NQjNSbGMzUXRZMkdDQ1FDb2wxWXVDUUtBY2pBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxRwpTSWIzRFFFQkN3VUFBNElCQVFER1JRZ1RtdzdVNXRQRHA5Q2psOXlLRW9Vd2pYWWM2UlAwdm1GSHpubXJ3dUVLCjFrTkVJNzhBTUw1MEpuS29CY0ljVDNEeGQ3TGdIbTNCRE5mVVh2anArNnZqaXhJYXR2UWhsSFNVaWIyZjJsSTkKVEMxNzVyNCtROFkzelc1RlFXSDdLK08vY3pJTGh5ei93aHRDUlFkQ29lS1dXZkFiby8wd0VSejZzNkhkVFJzNwpHcWlGNWZtWGp6S0lOcTBjMHRyZ0xtalNKd1hwSnU0ZnNGOEcyZUh4b2pOKzdJQ1FuSkg5cGRIRVpUQUtOL2ppCnIvem04RlZtd1kvdTBndEZneWVQY1ZWbXBqRm03Y0ZOSkc4Y2ZYd0QzcEFwVjhVOGNocTZGeFBHTkVvWFZnclMKY1VRMklaU0RJd1FFY3FvSzFKSGdCUWw2RXBaUVpWMW1DRklrdFBwSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t"
+- it: should not set insecureTLSSkipVerify
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ asserts:
+ - isNull:
+ path: stringData.insecureTLSSkipVerify
+- it: should set insecureTLSSkipVerify
+ template: s3-secret.yaml
+ set:
+ s3:
+ enabled: true
+ bucketName: "yourbucket"
+ endpoint: "https://s3.amazonaws.com"
+ insecureTLSSkipVerify: "true"
+ asserts:
+ - equal:
+ path: stringData.insecureTLSSkipVerify
+ value: "true"
diff --git a/charts/rancher-backup/2.1.5/values.yaml b/charts/rancher-backup/2.1.5/values.yaml
new file mode 100644
index 000000000..9216939f0
--- /dev/null
+++ b/charts/rancher-backup/2.1.5/values.yaml
@@ -0,0 +1,79 @@
+image:
+ repository: rancher/backup-restore-operator
+ tag: v2.1.5
+
+## Default s3 bucket for storing all backup files created by the backup-restore-operator
+s3:
+ enabled: false
+ ## credentialSecretName if set, should be the name of the Secret containing AWS credentials.
+ ## To use IAM Role, don't set this field
+ credentialSecretName: ""
+ credentialSecretNamespace: ""
+ region: ""
+ bucketName: ""
+ folder: ""
+ endpoint: ""
+ endpointCA: ""
+ insecureTLSSkipVerify: false
+
+## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
+## If persistence is enabled, operator will create a PVC with mountPath /var/lib/backups
+persistence:
+ enabled: false
+
+ ## If defined, storageClassName:
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack).
+ ## Refer https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1
+ ##
+ storageClass: "-"
+
+ ## If you want to disable dynamic provisioning by setting storageClass to "-" above,
+ ## and want to target a particular PV, provide name of the target volume
+ volumeName: ""
+
+ ## Only certain StorageClasses allow resizing PVs; Refer https://kubernetes.io/blog/2018/07/12/resizing-persistent-volumes-using-kubernetes/
+ size: 2Gi
+
+# Add log level flags to backup-restore
+debug: false
+trace: false
+
+# http[s] proxy server passed to backup client
+# proxy: http://@::
+
+# comma separated list of domains or ip addresses that will not use the proxy
+noProxy: 127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
+
+global:
+ cattle:
+ systemDefaultRegistry: ""
+ kubectl:
+ repository: rancher/kubectl
+ tag: v1.21.9
+
+## Node labels for pod assignment
+## Ref: https://kubernetes.io/docs/user-guide/node-selection/
+##
+nodeSelector: {}
+
+## List of node taints to tolerate (requires Kubernetes >= 1.6)
+tolerations: []
+
+affinity: {}
+
+serviceAccount:
+ annotations: {}
+
+priorityClassName: ""
+
+# Override imagePullPolicy for image
+# options: Always, Never, IfNotPresent
+# Defaults to Always
+imagePullPolicy: "Always"
+
+## Optional array of imagePullSecrets containing private registry credentials
+## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
+imagePullSecrets: []
diff --git a/charts/rancher-logging-crd/100.1.4+up3.17.7/Chart.yaml b/charts/rancher-logging-crd/100.1.4+up3.17.7/Chart.yaml
new file mode 100644
index 000000000..7ea5c453d
--- /dev/null
+++ b/charts/rancher-logging-crd/100.1.4+up3.17.7/Chart.yaml
@@ -0,0 +1,10 @@
+annotations:
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/hidden: "true"
+ catalog.cattle.io/namespace: cattle-logging-system
+ catalog.cattle.io/release-name: rancher-logging-crd
+apiVersion: v1
+description: Installs the CRDs for rancher-logging.
+name: rancher-logging-crd
+type: application
+version: 100.1.4+up3.17.7
diff --git a/charts/rancher-logging-crd/100.1.4+up3.17.7/README.md b/charts/rancher-logging-crd/100.1.4+up3.17.7/README.md
new file mode 100644
index 000000000..d4beb54fa
--- /dev/null
+++ b/charts/rancher-logging-crd/100.1.4+up3.17.7/README.md
@@ -0,0 +1,2 @@
+# rancher-logging-crd
+A Rancher chart that installs the CRDs used by rancher-logging.
diff --git a/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging-extensions.banzaicloud.io_eventtailers.yaml b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging-extensions.banzaicloud.io_eventtailers.yaml
new file mode 100644
index 000000000..56914b33c
--- /dev/null
+++ b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging-extensions.banzaicloud.io_eventtailers.yaml
@@ -0,0 +1,2123 @@
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.5.0
+ creationTimestamp: null
+ name: eventtailers.logging-extensions.banzaicloud.io
+spec:
+ group: logging-extensions.banzaicloud.io
+ names:
+ kind: EventTailer
+ listKind: EventTailerList
+ plural: eventtailers
+ singular: eventtailer
+ scope: Cluster
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ containerOverrides:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ image:
+ type: string
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ pullPolicy:
+ type: string
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ type: object
+ controlNamespace:
+ type: string
+ positionVolume:
+ 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
+ host_path:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ pvc:
+ properties:
+ source:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ spec:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ type: object
+ type: object
+ workloadMetaOverrides:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ workloadOverrides:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - preference
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ properties:
+ nodeSelectorTerms:
+ items:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ type: object
+ containers:
+ items:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ image:
+ type: string
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ pullPolicy:
+ type: string
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ type: object
+ type: array
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ initContainers:
+ items:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ image:
+ type: string
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ pullPolicy:
+ type: string
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ type: object
+ type: array
+ nodeSelector:
+ additionalProperties:
+ type: string
+ type: object
+ priorityClassName:
+ type: string
+ securityContext:
+ properties:
+ fsGroup:
+ format: int64
+ type: integer
+ fsGroupChangePolicy:
+ type: string
+ 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
+ supplementalGroups:
+ items:
+ format: int64
+ type: integer
+ type: array
+ sysctls:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ windowsOptions:
+ properties:
+ gmsaCredentialSpec:
+ type: string
+ gmsaCredentialSpecName:
+ type: string
+ hostProcess:
+ type: boolean
+ runAsUserName:
+ type: string
+ type: object
+ type: object
+ serviceAccountName:
+ 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
+ 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:
+ type: string
+ kind:
+ type: string
+ readOnly:
+ 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
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ secretFile:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ user:
+ type: string
+ required:
+ - monitors
+ type: object
+ cinder:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ csi:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ nodePublishSecretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ 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
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ 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
+ wwids:
+ items:
+ type: string
+ type: array
+ type: object
+ flexVolume:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ options:
+ additionalProperties:
+ type: string
+ type: object
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ iscsi:
+ properties:
+ chapAuthDiscovery:
+ type: boolean
+ chapAuthSession:
+ type: boolean
+ fsType:
+ type: string
+ initiatorName:
+ type: string
+ iqn:
+ type: string
+ iscsiInterface:
+ type: string
+ lun:
+ format: int32
+ type: integer
+ portals:
+ items:
+ type: string
+ type: array
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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:
+ configMap:
+ properties:
+ items:
+ items:
+ properties:
+ key:
+ type: string
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ required:
+ - key
+ - path
+ type: object
+ type: array
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ downwardAPI:
+ properties:
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ 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
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ serviceAccountToken:
+ properties:
+ audience:
+ type: string
+ expirationSeconds:
+ format: int64
+ type: integer
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ type: object
+ type: array
+ 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:
+ type: string
+ monitors:
+ items:
+ type: string
+ type: array
+ pool:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ user:
+ type: string
+ required:
+ - image
+ - monitors
+ type: object
+ scaleIO:
+ properties:
+ fsType:
+ type: string
+ gateway:
+ type: string
+ protectionDomain:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ sslEnabled:
+ type: boolean
+ storageMode:
+ 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
+ optional:
+ type: boolean
+ secretName:
+ type: string
+ type: object
+ storageos:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ required:
+ - controlNamespace
+ type: object
+ status:
+ type: object
+ type: object
+ served: true
+ storage: true
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging-extensions.banzaicloud.io_hosttailers.yaml b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging-extensions.banzaicloud.io_hosttailers.yaml
new file mode 100644
index 000000000..435f64abe
--- /dev/null
+++ b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging-extensions.banzaicloud.io_hosttailers.yaml
@@ -0,0 +1,2305 @@
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.5.0
+ creationTimestamp: null
+ name: hosttailers.logging-extensions.banzaicloud.io
+spec:
+ group: logging-extensions.banzaicloud.io
+ names:
+ kind: HostTailer
+ listKind: HostTailerList
+ plural: hosttailers
+ singular: hosttailer
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ enableRecreateWorkloadOnImmutableFieldChange:
+ type: boolean
+ fileTailers:
+ items:
+ properties:
+ buffer_chunk_size:
+ type: string
+ buffer_max_size:
+ type: string
+ containerOverrides:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ image:
+ type: string
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ pullPolicy:
+ type: string
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ type: object
+ disabled:
+ type: boolean
+ name:
+ type: string
+ path:
+ type: string
+ read_from_head:
+ type: boolean
+ skip_long_lines:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ systemdTailers:
+ items:
+ properties:
+ containerOverrides:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ image:
+ type: string
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ pullPolicy:
+ type: string
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ type: object
+ disabled:
+ type: boolean
+ maxEntries:
+ type: integer
+ name:
+ type: string
+ path:
+ type: string
+ systemdFilter:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ workloadMetaOverrides:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ workloadOverrides:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - preference
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ properties:
+ nodeSelectorTerms:
+ items:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ type: object
+ containers:
+ items:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ image:
+ type: string
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ pullPolicy:
+ type: string
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ type: object
+ type: array
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ initContainers:
+ items:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ image:
+ type: string
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ pullPolicy:
+ type: string
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ type: object
+ type: array
+ nodeSelector:
+ additionalProperties:
+ type: string
+ type: object
+ priorityClassName:
+ type: string
+ securityContext:
+ properties:
+ fsGroup:
+ format: int64
+ type: integer
+ fsGroupChangePolicy:
+ type: string
+ 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
+ supplementalGroups:
+ items:
+ format: int64
+ type: integer
+ type: array
+ sysctls:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ windowsOptions:
+ properties:
+ gmsaCredentialSpec:
+ type: string
+ gmsaCredentialSpecName:
+ type: string
+ hostProcess:
+ type: boolean
+ runAsUserName:
+ type: string
+ type: object
+ type: object
+ serviceAccountName:
+ 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
+ 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:
+ type: string
+ kind:
+ type: string
+ readOnly:
+ 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
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ secretFile:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ user:
+ type: string
+ required:
+ - monitors
+ type: object
+ cinder:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ csi:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ nodePublishSecretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ 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
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ 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
+ wwids:
+ items:
+ type: string
+ type: array
+ type: object
+ flexVolume:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ options:
+ additionalProperties:
+ type: string
+ type: object
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ iscsi:
+ properties:
+ chapAuthDiscovery:
+ type: boolean
+ chapAuthSession:
+ type: boolean
+ fsType:
+ type: string
+ initiatorName:
+ type: string
+ iqn:
+ type: string
+ iscsiInterface:
+ type: string
+ lun:
+ format: int32
+ type: integer
+ portals:
+ items:
+ type: string
+ type: array
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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:
+ configMap:
+ properties:
+ items:
+ items:
+ properties:
+ key:
+ type: string
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ required:
+ - key
+ - path
+ type: object
+ type: array
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ downwardAPI:
+ properties:
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ 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
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ serviceAccountToken:
+ properties:
+ audience:
+ type: string
+ expirationSeconds:
+ format: int64
+ type: integer
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ type: object
+ type: array
+ 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:
+ type: string
+ monitors:
+ items:
+ type: string
+ type: array
+ pool:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ user:
+ type: string
+ required:
+ - image
+ - monitors
+ type: object
+ scaleIO:
+ properties:
+ fsType:
+ type: string
+ gateway:
+ type: string
+ protectionDomain:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ sslEnabled:
+ type: boolean
+ storageMode:
+ 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
+ optional:
+ type: boolean
+ secretName:
+ type: string
+ type: object
+ storageos:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ status:
+ type: object
+ type: object
+ served: true
+ storage: true
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_clusterflows.yaml b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_clusterflows.yaml
new file mode 100644
index 000000000..54859672b
--- /dev/null
+++ b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_clusterflows.yaml
@@ -0,0 +1,1684 @@
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.5.0
+ creationTimestamp: null
+ name: clusterflows.logging.banzaicloud.io
+spec:
+ group: logging.banzaicloud.io
+ names:
+ categories:
+ - logging-all
+ kind: ClusterFlow
+ listKind: ClusterFlowList
+ plural: clusterflows
+ singular: clusterflow
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - description: Is the flow active?
+ jsonPath: .status.active
+ name: Active
+ type: boolean
+ - description: Number of problems
+ jsonPath: .status.problemsCount
+ name: Problems
+ type: integer
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ filters:
+ items:
+ properties:
+ concat:
+ properties:
+ continuous_line_regexp:
+ type: string
+ flush_interval:
+ type: integer
+ keep_partial_key:
+ type: boolean
+ keep_partial_metadata:
+ type: string
+ key:
+ type: string
+ multiline_end_regexp:
+ type: string
+ multiline_start_regexp:
+ type: string
+ n_lines:
+ type: integer
+ partial_key:
+ type: string
+ partial_value:
+ type: string
+ separator:
+ type: string
+ stream_identity_key:
+ type: string
+ timeout_label:
+ type: string
+ use_first_timestamp:
+ type: boolean
+ use_partial_metadata:
+ type: string
+ type: object
+ dedot:
+ properties:
+ de_dot_nested:
+ type: boolean
+ de_dot_separator:
+ type: string
+ type: object
+ detectExceptions:
+ properties:
+ force_line_breaks:
+ type: boolean
+ languages:
+ items:
+ type: string
+ type: array
+ max_bytes:
+ type: integer
+ max_lines:
+ type: integer
+ message:
+ type: string
+ multiline_flush_interval:
+ type: string
+ remove_tag_prefix:
+ type: string
+ stream:
+ type: string
+ type: object
+ elasticsearch_genid:
+ properties:
+ hash_id_key:
+ type: string
+ hash_type:
+ type: string
+ include_tag_in_seed:
+ type: boolean
+ include_time_in_seed:
+ type: boolean
+ record_keys:
+ type: string
+ separator:
+ type: string
+ use_entire_record:
+ type: boolean
+ use_record_as_seed:
+ type: boolean
+ type: object
+ enhanceK8s:
+ properties:
+ api_groups:
+ items:
+ type: string
+ type: array
+ bearer_token_file:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ cache_refresh:
+ type: integer
+ cache_refresh_variation:
+ type: integer
+ cache_size:
+ type: integer
+ cache_ttl:
+ type: integer
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ core_api_versions:
+ items:
+ type: string
+ type: array
+ data_type:
+ type: string
+ in_namespace_path:
+ items:
+ type: string
+ type: array
+ in_pod_path:
+ items:
+ type: string
+ type: array
+ kubernetes_url:
+ type: string
+ secret_dir:
+ type: string
+ ssl_partial_chain:
+ type: boolean
+ verify_ssl:
+ type: boolean
+ type: object
+ geoip:
+ properties:
+ backend_library:
+ type: string
+ geoip_2_database:
+ type: string
+ geoip_database:
+ type: string
+ geoip_lookup_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ skip_adding_null_record:
+ type: boolean
+ type: object
+ grep:
+ properties:
+ and:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ or:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ kube_events_timestamp:
+ properties:
+ mapped_time_key:
+ type: string
+ timestamp_fields:
+ items:
+ type: string
+ type: array
+ type: object
+ parser:
+ properties:
+ emit_invalid_record_to_error:
+ type: boolean
+ hash_value_field:
+ type: string
+ inject_key_prefix:
+ type: string
+ key_name:
+ type: string
+ parse:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ parsers:
+ items:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ remove_key_name_field:
+ type: boolean
+ replace_invalid_sequence:
+ type: boolean
+ reserve_data:
+ type: boolean
+ reserve_time:
+ type: boolean
+ type: object
+ prometheus:
+ properties:
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ metrics:
+ items:
+ properties:
+ buckets:
+ type: string
+ desc:
+ type: string
+ key:
+ type: string
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ type:
+ type: string
+ required:
+ - desc
+ - name
+ - type
+ type: object
+ type: array
+ type: object
+ record_modifier:
+ properties:
+ char_encoding:
+ type: string
+ prepare_value:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ replaces:
+ items:
+ properties:
+ expression:
+ type: string
+ key:
+ type: string
+ replace:
+ type: string
+ required:
+ - expression
+ - key
+ - replace
+ type: object
+ type: array
+ whitelist_keys:
+ type: string
+ type: object
+ record_transformer:
+ properties:
+ auto_typecast:
+ type: boolean
+ enable_ruby:
+ type: boolean
+ keep_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ renew_record:
+ type: boolean
+ renew_time_key:
+ type: string
+ type: object
+ stdout:
+ properties:
+ output_type:
+ type: string
+ type: object
+ sumologic:
+ properties:
+ collector_key_name:
+ type: string
+ collector_value:
+ type: string
+ exclude_container_regex:
+ type: string
+ exclude_facility_regex:
+ type: string
+ exclude_host_regex:
+ type: string
+ exclude_namespace_regex:
+ type: string
+ exclude_pod_regex:
+ type: string
+ exclude_priority_regex:
+ type: string
+ exclude_unit_regex:
+ type: string
+ log_format:
+ type: string
+ source_category:
+ type: string
+ source_category_key_name:
+ type: string
+ source_category_prefix:
+ type: string
+ source_category_replace_dash:
+ type: string
+ source_host:
+ type: string
+ source_host_key_name:
+ type: string
+ source_name:
+ type: string
+ source_name_key_name:
+ type: string
+ tracing_annotation_prefix:
+ type: string
+ tracing_container_name:
+ type: string
+ tracing_format:
+ type: boolean
+ tracing_host:
+ type: string
+ tracing_label_prefix:
+ type: string
+ tracing_namespace:
+ type: string
+ tracing_pod:
+ type: string
+ tracing_pod_id:
+ type: string
+ type: object
+ tag_normaliser:
+ properties:
+ format:
+ type: string
+ type: object
+ throttle:
+ properties:
+ group_bucket_limit:
+ type: integer
+ group_bucket_period_s:
+ type: integer
+ group_drop_logs:
+ type: boolean
+ group_key:
+ type: string
+ group_reset_rate_s:
+ type: integer
+ group_warning_delay_s:
+ type: integer
+ type: object
+ type: object
+ type: array
+ globalOutputRefs:
+ items:
+ type: string
+ type: array
+ loggingRef:
+ type: string
+ match:
+ items:
+ properties:
+ exclude:
+ properties:
+ container_names:
+ items:
+ type: string
+ type: array
+ hosts:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ type: object
+ select:
+ properties:
+ container_names:
+ items:
+ type: string
+ type: array
+ hosts:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ type: object
+ type: object
+ type: array
+ outputRefs:
+ items:
+ type: string
+ type: array
+ selectors:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ status:
+ properties:
+ active:
+ type: boolean
+ problems:
+ items:
+ type: string
+ type: array
+ problemsCount:
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ - additionalPrinterColumns:
+ - description: Is the flow active?
+ jsonPath: .status.active
+ name: Active
+ type: boolean
+ - description: Number of problems
+ jsonPath: .status.problemsCount
+ name: Problems
+ type: integer
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ filters:
+ items:
+ properties:
+ concat:
+ properties:
+ continuous_line_regexp:
+ type: string
+ flush_interval:
+ type: integer
+ keep_partial_key:
+ type: boolean
+ keep_partial_metadata:
+ type: string
+ key:
+ type: string
+ multiline_end_regexp:
+ type: string
+ multiline_start_regexp:
+ type: string
+ n_lines:
+ type: integer
+ partial_key:
+ type: string
+ partial_value:
+ type: string
+ separator:
+ type: string
+ stream_identity_key:
+ type: string
+ timeout_label:
+ type: string
+ use_first_timestamp:
+ type: boolean
+ use_partial_metadata:
+ type: string
+ type: object
+ dedot:
+ properties:
+ de_dot_nested:
+ type: boolean
+ de_dot_separator:
+ type: string
+ type: object
+ detectExceptions:
+ properties:
+ force_line_breaks:
+ type: boolean
+ languages:
+ items:
+ type: string
+ type: array
+ max_bytes:
+ type: integer
+ max_lines:
+ type: integer
+ message:
+ type: string
+ multiline_flush_interval:
+ type: string
+ remove_tag_prefix:
+ type: string
+ stream:
+ type: string
+ type: object
+ elasticsearch_genid:
+ properties:
+ hash_id_key:
+ type: string
+ hash_type:
+ type: string
+ include_tag_in_seed:
+ type: boolean
+ include_time_in_seed:
+ type: boolean
+ record_keys:
+ type: string
+ separator:
+ type: string
+ use_entire_record:
+ type: boolean
+ use_record_as_seed:
+ type: boolean
+ type: object
+ enhanceK8s:
+ properties:
+ api_groups:
+ items:
+ type: string
+ type: array
+ bearer_token_file:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ cache_refresh:
+ type: integer
+ cache_refresh_variation:
+ type: integer
+ cache_size:
+ type: integer
+ cache_ttl:
+ type: integer
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ core_api_versions:
+ items:
+ type: string
+ type: array
+ data_type:
+ type: string
+ in_namespace_path:
+ items:
+ type: string
+ type: array
+ in_pod_path:
+ items:
+ type: string
+ type: array
+ kubernetes_url:
+ type: string
+ secret_dir:
+ type: string
+ ssl_partial_chain:
+ type: boolean
+ verify_ssl:
+ type: boolean
+ type: object
+ geoip:
+ properties:
+ backend_library:
+ type: string
+ geoip_2_database:
+ type: string
+ geoip_database:
+ type: string
+ geoip_lookup_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ skip_adding_null_record:
+ type: boolean
+ type: object
+ grep:
+ properties:
+ and:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ or:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ kube_events_timestamp:
+ properties:
+ mapped_time_key:
+ type: string
+ timestamp_fields:
+ items:
+ type: string
+ type: array
+ type: object
+ parser:
+ properties:
+ emit_invalid_record_to_error:
+ type: boolean
+ hash_value_field:
+ type: string
+ inject_key_prefix:
+ type: string
+ key_name:
+ type: string
+ parse:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ parsers:
+ items:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ remove_key_name_field:
+ type: boolean
+ replace_invalid_sequence:
+ type: boolean
+ reserve_data:
+ type: boolean
+ reserve_time:
+ type: boolean
+ type: object
+ prometheus:
+ properties:
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ metrics:
+ items:
+ properties:
+ buckets:
+ type: string
+ desc:
+ type: string
+ key:
+ type: string
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ type:
+ type: string
+ required:
+ - desc
+ - name
+ - type
+ type: object
+ type: array
+ type: object
+ record_modifier:
+ properties:
+ char_encoding:
+ type: string
+ prepare_value:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ replaces:
+ items:
+ properties:
+ expression:
+ type: string
+ key:
+ type: string
+ replace:
+ type: string
+ required:
+ - expression
+ - key
+ - replace
+ type: object
+ type: array
+ whitelist_keys:
+ type: string
+ type: object
+ record_transformer:
+ properties:
+ auto_typecast:
+ type: boolean
+ enable_ruby:
+ type: boolean
+ keep_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ renew_record:
+ type: boolean
+ renew_time_key:
+ type: string
+ type: object
+ stdout:
+ properties:
+ output_type:
+ type: string
+ type: object
+ sumologic:
+ properties:
+ collector_key_name:
+ type: string
+ collector_value:
+ type: string
+ exclude_container_regex:
+ type: string
+ exclude_facility_regex:
+ type: string
+ exclude_host_regex:
+ type: string
+ exclude_namespace_regex:
+ type: string
+ exclude_pod_regex:
+ type: string
+ exclude_priority_regex:
+ type: string
+ exclude_unit_regex:
+ type: string
+ log_format:
+ type: string
+ source_category:
+ type: string
+ source_category_key_name:
+ type: string
+ source_category_prefix:
+ type: string
+ source_category_replace_dash:
+ type: string
+ source_host:
+ type: string
+ source_host_key_name:
+ type: string
+ source_name:
+ type: string
+ source_name_key_name:
+ type: string
+ tracing_annotation_prefix:
+ type: string
+ tracing_container_name:
+ type: string
+ tracing_format:
+ type: boolean
+ tracing_host:
+ type: string
+ tracing_label_prefix:
+ type: string
+ tracing_namespace:
+ type: string
+ tracing_pod:
+ type: string
+ tracing_pod_id:
+ type: string
+ type: object
+ tag_normaliser:
+ properties:
+ format:
+ type: string
+ type: object
+ throttle:
+ properties:
+ group_bucket_limit:
+ type: integer
+ group_bucket_period_s:
+ type: integer
+ group_drop_logs:
+ type: boolean
+ group_key:
+ type: string
+ group_reset_rate_s:
+ type: integer
+ group_warning_delay_s:
+ type: integer
+ type: object
+ type: object
+ type: array
+ globalOutputRefs:
+ items:
+ type: string
+ type: array
+ loggingRef:
+ type: string
+ match:
+ items:
+ properties:
+ exclude:
+ properties:
+ container_names:
+ items:
+ type: string
+ type: array
+ hosts:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ type: object
+ select:
+ properties:
+ container_names:
+ items:
+ type: string
+ type: array
+ hosts:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ type: object
+ type: object
+ type: array
+ outputRefs:
+ items:
+ type: string
+ type: array
+ selectors:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ status:
+ properties:
+ active:
+ type: boolean
+ problems:
+ items:
+ type: string
+ type: array
+ problemsCount:
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_clusteroutputs.yaml b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_clusteroutputs.yaml
new file mode 100644
index 000000000..a03e6baf1
--- /dev/null
+++ b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_clusteroutputs.yaml
@@ -0,0 +1,11638 @@
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.5.0
+ creationTimestamp: null
+ name: clusteroutputs.logging.banzaicloud.io
+spec:
+ group: logging.banzaicloud.io
+ names:
+ categories:
+ - logging-all
+ kind: ClusterOutput
+ listKind: ClusterOutputList
+ plural: clusteroutputs
+ singular: clusteroutput
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - description: Is the output active?
+ jsonPath: .status.active
+ name: Active
+ type: boolean
+ - description: Number of problems
+ jsonPath: .status.problemsCount
+ name: Problems
+ type: integer
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ awsElasticsearch:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ content_type:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ data_stream_enable:
+ type: boolean
+ data_stream_ilm_name:
+ type: string
+ data_stream_name:
+ type: string
+ data_stream_template_name:
+ type: string
+ default_elasticsearch_version:
+ type: string
+ deflector_alias:
+ type: string
+ enable_ilm:
+ type: boolean
+ endpoint:
+ properties:
+ access_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_arn:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_session_name:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_web_identity_token_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ecs_container_credentials_relative_uri:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ region:
+ type: string
+ secret_access_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ sts_credentials_region:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ url:
+ type: string
+ type: object
+ exception_backup:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ flush_interval:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ ilm_policy:
+ type: string
+ ilm_policy_id:
+ type: string
+ ilm_policy_overwrite:
+ type: boolean
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_prefix:
+ type: string
+ log_es_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_es_version:
+ type: string
+ max_retry_putting_template:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys:
+ type: string
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ rollover_index:
+ type: boolean
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_max_version:
+ type: string
+ ssl_min_version:
+ type: string
+ ssl_verify:
+ type: boolean
+ ssl_version:
+ type: string
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_key:
+ type: string
+ target_type_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ type_name:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_es_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ azurestorage:
+ properties:
+ auto_create_container:
+ type: boolean
+ azure_container:
+ type: string
+ azure_imds_api_version:
+ type: string
+ azure_object_key_format:
+ type: string
+ azure_storage_access_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ azure_storage_account:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ azure_storage_sas_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ format:
+ type: string
+ path:
+ type: string
+ required:
+ - azure_container
+ - azure_storage_account
+ type: object
+ cloudwatch:
+ properties:
+ auto_create_stream:
+ type: boolean
+ aws_instance_profile_credentials_retries:
+ type: integer
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sts_role_arn:
+ type: string
+ aws_sts_session_name:
+ type: string
+ aws_use_sts:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ concurrency:
+ type: integer
+ endpoint:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ http_proxy:
+ type: string
+ include_time_key:
+ type: boolean
+ json_handler:
+ type: string
+ localtime:
+ type: boolean
+ log_group_aws_tags:
+ type: string
+ log_group_aws_tags_key:
+ type: string
+ log_group_name:
+ type: string
+ log_group_name_key:
+ type: string
+ log_rejected_request:
+ type: string
+ log_stream_name:
+ type: string
+ log_stream_name_key:
+ type: string
+ max_events_per_batch:
+ type: integer
+ max_message_length:
+ type: integer
+ message_keys:
+ type: string
+ put_log_events_disable_retry_limit:
+ type: boolean
+ put_log_events_retry_limit:
+ type: integer
+ put_log_events_retry_wait:
+ type: string
+ region:
+ type: string
+ remove_log_group_aws_tags_key:
+ type: string
+ remove_log_group_name_key:
+ type: string
+ remove_log_stream_name_key:
+ type: string
+ remove_retention_in_days:
+ type: string
+ retention_in_days:
+ type: string
+ retention_in_days_key:
+ type: string
+ use_tag_as_group:
+ type: boolean
+ use_tag_as_stream:
+ type: boolean
+ required:
+ - region
+ type: object
+ datadog:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compression_level:
+ type: string
+ dd_hostname:
+ type: string
+ dd_source:
+ type: string
+ dd_sourcecategory:
+ type: string
+ dd_tags:
+ type: string
+ host:
+ type: string
+ include_tag_key:
+ type: boolean
+ max_backoff:
+ type: string
+ max_retries:
+ type: string
+ no_ssl_validation:
+ type: boolean
+ port:
+ type: string
+ service:
+ type: string
+ ssl_port:
+ type: string
+ tag_key:
+ type: string
+ timestamp_key:
+ type: string
+ use_compression:
+ type: boolean
+ use_http:
+ type: boolean
+ use_json:
+ type: boolean
+ use_ssl:
+ type: boolean
+ required:
+ - api_key
+ type: object
+ elasticsearch:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ content_type:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ data_stream_enable:
+ type: boolean
+ data_stream_ilm_name:
+ type: string
+ data_stream_name:
+ type: string
+ data_stream_template_name:
+ type: string
+ default_elasticsearch_version:
+ type: string
+ deflector_alias:
+ type: string
+ enable_ilm:
+ type: boolean
+ exception_backup:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ ilm_policy:
+ type: string
+ ilm_policy_id:
+ type: string
+ ilm_policy_overwrite:
+ type: boolean
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_prefix:
+ type: string
+ log_es_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_es_version:
+ type: string
+ max_retry_putting_template:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys:
+ type: string
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ rollover_index:
+ type: boolean
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_max_version:
+ type: string
+ ssl_min_version:
+ type: string
+ ssl_verify:
+ type: boolean
+ ssl_version:
+ type: string
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_key:
+ type: string
+ target_type_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ type_name:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_es_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ enabledNamespaces:
+ items:
+ type: string
+ type: array
+ file:
+ properties:
+ add_path_suffix:
+ type: boolean
+ append:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compress:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ path:
+ type: string
+ path_suffix:
+ type: string
+ recompress:
+ type: boolean
+ symlink_path:
+ type: boolean
+ required:
+ - path
+ type: object
+ forward:
+ properties:
+ ack_response_timeout:
+ type: integer
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ connect_timeout:
+ type: integer
+ dns_round_robin:
+ type: boolean
+ expire_dns_cache:
+ type: integer
+ hard_timeout:
+ type: integer
+ heartbeat_interval:
+ type: integer
+ heartbeat_type:
+ type: string
+ ignore_network_errors_at_startup:
+ type: boolean
+ keepalive:
+ type: boolean
+ keepalive_timeout:
+ type: integer
+ phi_failure_detector:
+ type: boolean
+ phi_threshold:
+ type: integer
+ recover_wait:
+ type: integer
+ require_ack_response:
+ type: boolean
+ security:
+ properties:
+ allow_anonymous_source:
+ type: boolean
+ self_hostname:
+ type: string
+ shared_key:
+ type: string
+ user_auth:
+ type: boolean
+ required:
+ - self_hostname
+ - shared_key
+ type: object
+ send_timeout:
+ type: integer
+ servers:
+ items:
+ properties:
+ host:
+ type: string
+ name:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ port:
+ type: integer
+ shared_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ standby:
+ type: boolean
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ weight:
+ type: integer
+ required:
+ - host
+ type: object
+ type: array
+ tls_allow_self_signed_cert:
+ type: boolean
+ tls_cert_logical_store_name:
+ type: string
+ tls_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_cert_thumbprint:
+ type: string
+ tls_cert_use_enterprise_store:
+ type: boolean
+ tls_ciphers:
+ type: string
+ tls_client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_client_private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_client_private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_insecure_mode:
+ type: boolean
+ tls_verify_hostname:
+ type: boolean
+ tls_version:
+ type: string
+ transport:
+ type: string
+ verify_connection_at_startup:
+ type: boolean
+ required:
+ - servers
+ type: object
+ gcs:
+ properties:
+ acl:
+ type: string
+ auto_create_bucket:
+ type: boolean
+ bucket:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_retries:
+ type: integer
+ client_timeout:
+ type: integer
+ credentials_json:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ encryption_key:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hex_random_length:
+ type: integer
+ keyfile:
+ type: string
+ object_key_format:
+ type: string
+ object_metadata:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - value
+ type: object
+ type: array
+ overwrite:
+ type: boolean
+ path:
+ type: string
+ project:
+ type: string
+ storage_class:
+ type: string
+ store_as:
+ type: string
+ transcoding:
+ type: boolean
+ required:
+ - bucket
+ - project
+ type: object
+ gelf:
+ properties:
+ host:
+ type: string
+ port:
+ type: integer
+ protocol:
+ type: string
+ tls:
+ type: boolean
+ tls_options:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - host
+ - port
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required:
+ - password
+ - username
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ content_type:
+ type: string
+ endpoint:
+ type: string
+ error_response_as_unrecoverable:
+ type: boolean
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ headers:
+ additionalProperties:
+ type: string
+ type: object
+ http_method:
+ type: string
+ json_array:
+ type: boolean
+ open_timeout:
+ type: integer
+ proxy:
+ type: string
+ read_timeout:
+ type: integer
+ retryable_response_codes:
+ items:
+ type: integer
+ type: array
+ ssl_timeout:
+ type: integer
+ tls_ca_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_ciphers:
+ type: string
+ tls_client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_verify_mode:
+ type: string
+ tls_version:
+ type: string
+ required:
+ - endpoint
+ type: object
+ kafka:
+ properties:
+ ack_timeout:
+ type: integer
+ brokers:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_id:
+ type: string
+ compression_codec:
+ type: string
+ default_message_key:
+ type: string
+ default_partition_key:
+ type: string
+ default_topic:
+ type: string
+ discard_kafka_delivery_failed:
+ type: boolean
+ exclude_partion_key:
+ type: boolean
+ exclude_topic_key:
+ type: boolean
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ get_kafka_client_log:
+ type: boolean
+ headers:
+ additionalProperties:
+ type: string
+ type: object
+ headers_from_record:
+ additionalProperties:
+ type: string
+ type: object
+ idempotent:
+ type: boolean
+ kafka_agg_max_bytes:
+ type: integer
+ kafka_agg_max_messages:
+ type: integer
+ max_send_retries:
+ type: integer
+ message_key_key:
+ type: string
+ partition_key:
+ type: string
+ partition_key_key:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required_acks:
+ type: integer
+ sasl_over_ssl:
+ type: boolean
+ scram_mechanism:
+ type: string
+ ssl_ca_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_ca_certs_from_system:
+ type: boolean
+ ssl_client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_client_cert_chain:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_client_cert_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_verify_hostname:
+ type: boolean
+ topic_key:
+ type: string
+ use_default_for_unknown_topic:
+ type: boolean
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required:
+ - brokers
+ - format
+ type: object
+ kinesisStream:
+ properties:
+ assume_role_credentials:
+ properties:
+ duration_seconds:
+ type: string
+ external_id:
+ type: string
+ policy:
+ type: string
+ role_arn:
+ type: string
+ role_session_name:
+ type: string
+ required:
+ - role_arn
+ - role_session_name
+ type: object
+ aws_iam_retries:
+ type: integer
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_ses_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ batch_request_max_count:
+ type: integer
+ batch_request_max_size:
+ type: integer
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ partition_key:
+ type: string
+ process_credentials:
+ properties:
+ process:
+ type: string
+ required:
+ - process
+ type: object
+ region:
+ type: string
+ reset_backoff_if_success:
+ type: boolean
+ retries_on_batch_request:
+ type: integer
+ stream_name:
+ type: string
+ required:
+ - stream_name
+ type: object
+ logdna:
+ properties:
+ api_key:
+ type: string
+ app:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ hostname:
+ type: string
+ ingester_domain:
+ type: string
+ ingester_endpoint:
+ type: string
+ request_timeout:
+ type: string
+ tags:
+ type: string
+ required:
+ - api_key
+ - hostname
+ type: object
+ loggingRef:
+ type: string
+ logz:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_limit:
+ type: integer
+ bulk_limit_warning_limit:
+ type: integer
+ endpoint:
+ properties:
+ port:
+ type: integer
+ token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ url:
+ type: string
+ type: object
+ gzip:
+ type: boolean
+ http_idle_timeout:
+ type: integer
+ output_include_tags:
+ type: boolean
+ output_include_time:
+ type: boolean
+ retry_count:
+ type: integer
+ retry_sleep:
+ type: integer
+ required:
+ - endpoint
+ type: object
+ loki:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ ca_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ configure_kubernetes_labels:
+ type: boolean
+ drop_single_key:
+ type: boolean
+ extra_labels:
+ additionalProperties:
+ type: string
+ type: object
+ extract_kubernetes_labels:
+ type: boolean
+ insecure_tls:
+ type: boolean
+ key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ line_format:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ remove_keys:
+ items:
+ type: string
+ type: array
+ tenant:
+ type: string
+ url:
+ type: string
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ type: object
+ newrelic:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ base_uri:
+ type: string
+ license_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ type: object
+ nullout:
+ type: object
+ opensearch:
+ properties:
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ catch_transport_exception_on_retry:
+ type: boolean
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ compression_level:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ default_opensearch_version:
+ type: integer
+ emit_error_for_missing_id:
+ type: boolean
+ emit_error_label_event:
+ type: boolean
+ exception_backup:
+ type: boolean
+ fail_on_detecting_os_version_retry_exceed:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ http_backend_excon_nonblock:
+ type: boolean
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_separator:
+ type: string
+ log_os_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_os_version:
+ type: integer
+ max_retry_putting_template:
+ type: string
+ parent_key:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ selector_class_name:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_verify:
+ type: boolean
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_affinity:
+ type: boolean
+ target_index_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_exclude_timestamp:
+ type: boolean
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ truncate_caches_interval:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ unrecoverable_record_types:
+ type: string
+ use_legacy_template:
+ type: boolean
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_os_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ oss:
+ properties:
+ aaccess_key_secret:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ access_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ auto_create_bucket:
+ type: boolean
+ bucket:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ check_bucket:
+ type: boolean
+ check_object:
+ type: boolean
+ download_crc_enable:
+ type: boolean
+ endpoint:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hex_random_length:
+ type: integer
+ index_format:
+ type: string
+ key_format:
+ type: string
+ open_timeout:
+ type: integer
+ oss_sdk_log_dir:
+ type: string
+ overwrite:
+ type: boolean
+ path:
+ type: string
+ read_timeout:
+ type: integer
+ store_as:
+ type: string
+ upload_crc_enable:
+ type: boolean
+ warn_for_delay:
+ type: string
+ required:
+ - aaccess_key_secret
+ - access_key_id
+ - bucket
+ - endpoint
+ type: object
+ redis:
+ properties:
+ allow_duplicate_key:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ db_number:
+ type: integer
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ host:
+ type: string
+ insert_key_prefix:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ port:
+ type: integer
+ strftime_format:
+ type: string
+ ttl:
+ type: integer
+ type: object
+ s3:
+ properties:
+ acl:
+ type: string
+ assume_role_credentials:
+ properties:
+ duration_seconds:
+ type: string
+ external_id:
+ type: string
+ policy:
+ type: string
+ role_arn:
+ type: string
+ role_session_name:
+ type: string
+ required:
+ - role_arn
+ - role_session_name
+ type: object
+ auto_create_bucket:
+ type: string
+ aws_iam_retries:
+ type: string
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ check_apikey_on_start:
+ type: string
+ check_bucket:
+ type: string
+ check_object:
+ type: string
+ clustername:
+ type: string
+ compress:
+ properties:
+ parquet_compression_codec:
+ type: string
+ parquet_page_size:
+ type: string
+ parquet_row_group_size:
+ type: string
+ record_type:
+ type: string
+ schema_file:
+ type: string
+ schema_type:
+ type: string
+ type: object
+ compute_checksums:
+ type: string
+ enable_transfer_acceleration:
+ type: string
+ force_path_style:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ grant_full_control:
+ type: string
+ grant_read:
+ type: string
+ grant_read_acp:
+ type: string
+ grant_write_acp:
+ type: string
+ hex_random_length:
+ type: string
+ index_format:
+ type: string
+ instance_profile_credentials:
+ properties:
+ http_open_timeout:
+ type: string
+ http_read_timeout:
+ type: string
+ ip_address:
+ type: string
+ port:
+ type: string
+ retries:
+ type: string
+ type: object
+ oneeye_format:
+ type: boolean
+ overwrite:
+ type: string
+ path:
+ type: string
+ proxy_uri:
+ type: string
+ s3_bucket:
+ type: string
+ s3_endpoint:
+ type: string
+ s3_metadata:
+ type: string
+ s3_object_key_format:
+ type: string
+ s3_region:
+ type: string
+ shared_credentials:
+ properties:
+ path:
+ type: string
+ profile_name:
+ type: string
+ type: object
+ signature_version:
+ type: string
+ sse_customer_algorithm:
+ type: string
+ sse_customer_key:
+ type: string
+ sse_customer_key_md5:
+ type: string
+ ssekms_key_id:
+ type: string
+ ssl_verify_peer:
+ type: string
+ storage_class:
+ type: string
+ store_as:
+ type: string
+ use_bundled_cert:
+ type: string
+ use_server_side_encryption:
+ type: string
+ warn_for_delay:
+ type: string
+ required:
+ - s3_bucket
+ type: object
+ splunkHec:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ca_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ coerce_to_utf8:
+ type: boolean
+ data_type:
+ type: string
+ fields:
+ additionalProperties:
+ type: string
+ type: object
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hec_host:
+ type: string
+ hec_port:
+ type: integer
+ hec_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ host:
+ type: string
+ host_key:
+ type: string
+ idle_timeout:
+ type: integer
+ index:
+ type: string
+ index_key:
+ type: string
+ insecure_ssl:
+ type: boolean
+ keep_keys:
+ type: boolean
+ metric_name_key:
+ type: string
+ metric_value_key:
+ type: string
+ metrics_from_event:
+ type: boolean
+ non_utf8_replacement_string:
+ type: string
+ open_timeout:
+ type: integer
+ protocol:
+ type: string
+ read_timeout:
+ type: integer
+ source:
+ type: string
+ source_key:
+ type: string
+ sourcetype:
+ type: string
+ sourcetype_key:
+ type: string
+ ssl_ciphers:
+ type: string
+ required:
+ - hec_host
+ - hec_token
+ type: object
+ sqs:
+ properties:
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ create_queue:
+ type: boolean
+ delay_seconds:
+ type: integer
+ include_tag:
+ type: boolean
+ message_group_id:
+ type: string
+ queue_name:
+ type: string
+ region:
+ type: string
+ sqs_url:
+ type: string
+ tag_property_name:
+ type: string
+ type: object
+ sumologic:
+ properties:
+ add_timestamp:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compress:
+ type: boolean
+ compress_encoding:
+ type: string
+ custom_dimensions:
+ type: string
+ custom_fields:
+ items:
+ type: string
+ type: array
+ data_type:
+ type: string
+ delimiter:
+ type: string
+ disable_cookies:
+ type: boolean
+ endpoint:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ log_format:
+ type: string
+ log_key:
+ type: string
+ metric_data_format:
+ type: string
+ open_timeout:
+ type: integer
+ proxy_uri:
+ type: string
+ source_category:
+ type: string
+ source_host:
+ type: string
+ source_name:
+ type: string
+ source_name_key:
+ type: string
+ sumo_client:
+ type: string
+ timestamp_key:
+ type: string
+ verify_ssl:
+ type: boolean
+ required:
+ - endpoint
+ - source_name
+ type: object
+ syslog:
+ properties:
+ allow_self_signed_cert:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ enable_system_cert_store:
+ type: boolean
+ format:
+ properties:
+ app_name_field:
+ type: string
+ hostname_field:
+ type: string
+ log_field:
+ type: string
+ message_id_field:
+ type: string
+ proc_id_field:
+ type: string
+ rfc6587_message_size:
+ type: boolean
+ structured_data_field:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ fqdn:
+ type: string
+ host:
+ type: string
+ insecure:
+ type: boolean
+ port:
+ type: integer
+ private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ transport:
+ type: string
+ trusted_ca_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ verify_fqdn:
+ type: boolean
+ version:
+ type: string
+ required:
+ - host
+ type: object
+ type: object
+ status:
+ properties:
+ active:
+ type: boolean
+ problems:
+ items:
+ type: string
+ type: array
+ problemsCount:
+ type: integer
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ - additionalPrinterColumns:
+ - description: Is the output active?
+ jsonPath: .status.active
+ name: Active
+ type: boolean
+ - description: Number of problems
+ jsonPath: .status.problemsCount
+ name: Problems
+ type: integer
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ awsElasticsearch:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ content_type:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ data_stream_enable:
+ type: boolean
+ data_stream_ilm_name:
+ type: string
+ data_stream_name:
+ type: string
+ data_stream_template_name:
+ type: string
+ default_elasticsearch_version:
+ type: string
+ deflector_alias:
+ type: string
+ enable_ilm:
+ type: boolean
+ endpoint:
+ properties:
+ access_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_arn:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_session_name:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_web_identity_token_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ecs_container_credentials_relative_uri:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ region:
+ type: string
+ secret_access_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ sts_credentials_region:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ url:
+ type: string
+ type: object
+ exception_backup:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ flush_interval:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ ilm_policy:
+ type: string
+ ilm_policy_id:
+ type: string
+ ilm_policy_overwrite:
+ type: boolean
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_prefix:
+ type: string
+ log_es_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_es_version:
+ type: string
+ max_retry_putting_template:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys:
+ type: string
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ rollover_index:
+ type: boolean
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_max_version:
+ type: string
+ ssl_min_version:
+ type: string
+ ssl_verify:
+ type: boolean
+ ssl_version:
+ type: string
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_key:
+ type: string
+ target_type_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ type_name:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_es_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ azurestorage:
+ properties:
+ auto_create_container:
+ type: boolean
+ azure_container:
+ type: string
+ azure_imds_api_version:
+ type: string
+ azure_object_key_format:
+ type: string
+ azure_storage_access_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ azure_storage_account:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ azure_storage_sas_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ format:
+ type: string
+ path:
+ type: string
+ required:
+ - azure_container
+ - azure_storage_account
+ type: object
+ cloudwatch:
+ properties:
+ auto_create_stream:
+ type: boolean
+ aws_instance_profile_credentials_retries:
+ type: integer
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sts_role_arn:
+ type: string
+ aws_sts_session_name:
+ type: string
+ aws_use_sts:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ concurrency:
+ type: integer
+ endpoint:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ http_proxy:
+ type: string
+ include_time_key:
+ type: boolean
+ json_handler:
+ type: string
+ localtime:
+ type: boolean
+ log_group_aws_tags:
+ type: string
+ log_group_aws_tags_key:
+ type: string
+ log_group_name:
+ type: string
+ log_group_name_key:
+ type: string
+ log_rejected_request:
+ type: string
+ log_stream_name:
+ type: string
+ log_stream_name_key:
+ type: string
+ max_events_per_batch:
+ type: integer
+ max_message_length:
+ type: integer
+ message_keys:
+ type: string
+ put_log_events_disable_retry_limit:
+ type: boolean
+ put_log_events_retry_limit:
+ type: integer
+ put_log_events_retry_wait:
+ type: string
+ region:
+ type: string
+ remove_log_group_aws_tags_key:
+ type: string
+ remove_log_group_name_key:
+ type: string
+ remove_log_stream_name_key:
+ type: string
+ remove_retention_in_days:
+ type: string
+ retention_in_days:
+ type: string
+ retention_in_days_key:
+ type: string
+ use_tag_as_group:
+ type: boolean
+ use_tag_as_stream:
+ type: boolean
+ required:
+ - region
+ type: object
+ datadog:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compression_level:
+ type: string
+ dd_hostname:
+ type: string
+ dd_source:
+ type: string
+ dd_sourcecategory:
+ type: string
+ dd_tags:
+ type: string
+ host:
+ type: string
+ include_tag_key:
+ type: boolean
+ max_backoff:
+ type: string
+ max_retries:
+ type: string
+ no_ssl_validation:
+ type: boolean
+ port:
+ type: string
+ service:
+ type: string
+ ssl_port:
+ type: string
+ tag_key:
+ type: string
+ timestamp_key:
+ type: string
+ use_compression:
+ type: boolean
+ use_http:
+ type: boolean
+ use_json:
+ type: boolean
+ use_ssl:
+ type: boolean
+ required:
+ - api_key
+ type: object
+ elasticsearch:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ content_type:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ data_stream_enable:
+ type: boolean
+ data_stream_ilm_name:
+ type: string
+ data_stream_name:
+ type: string
+ data_stream_template_name:
+ type: string
+ default_elasticsearch_version:
+ type: string
+ deflector_alias:
+ type: string
+ enable_ilm:
+ type: boolean
+ exception_backup:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ ilm_policy:
+ type: string
+ ilm_policy_id:
+ type: string
+ ilm_policy_overwrite:
+ type: boolean
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_prefix:
+ type: string
+ log_es_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_es_version:
+ type: string
+ max_retry_putting_template:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys:
+ type: string
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ rollover_index:
+ type: boolean
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_max_version:
+ type: string
+ ssl_min_version:
+ type: string
+ ssl_verify:
+ type: boolean
+ ssl_version:
+ type: string
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_key:
+ type: string
+ target_type_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ type_name:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_es_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ enabledNamespaces:
+ items:
+ type: string
+ type: array
+ file:
+ properties:
+ add_path_suffix:
+ type: boolean
+ append:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compress:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ path:
+ type: string
+ path_suffix:
+ type: string
+ recompress:
+ type: boolean
+ symlink_path:
+ type: boolean
+ required:
+ - path
+ type: object
+ forward:
+ properties:
+ ack_response_timeout:
+ type: integer
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ connect_timeout:
+ type: integer
+ dns_round_robin:
+ type: boolean
+ expire_dns_cache:
+ type: integer
+ hard_timeout:
+ type: integer
+ heartbeat_interval:
+ type: integer
+ heartbeat_type:
+ type: string
+ ignore_network_errors_at_startup:
+ type: boolean
+ keepalive:
+ type: boolean
+ keepalive_timeout:
+ type: integer
+ phi_failure_detector:
+ type: boolean
+ phi_threshold:
+ type: integer
+ recover_wait:
+ type: integer
+ require_ack_response:
+ type: boolean
+ security:
+ properties:
+ allow_anonymous_source:
+ type: boolean
+ self_hostname:
+ type: string
+ shared_key:
+ type: string
+ user_auth:
+ type: boolean
+ required:
+ - self_hostname
+ - shared_key
+ type: object
+ send_timeout:
+ type: integer
+ servers:
+ items:
+ properties:
+ host:
+ type: string
+ name:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ port:
+ type: integer
+ shared_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ standby:
+ type: boolean
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ weight:
+ type: integer
+ required:
+ - host
+ type: object
+ type: array
+ tls_allow_self_signed_cert:
+ type: boolean
+ tls_cert_logical_store_name:
+ type: string
+ tls_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_cert_thumbprint:
+ type: string
+ tls_cert_use_enterprise_store:
+ type: boolean
+ tls_ciphers:
+ type: string
+ tls_client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_client_private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_client_private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_insecure_mode:
+ type: boolean
+ tls_verify_hostname:
+ type: boolean
+ tls_version:
+ type: string
+ transport:
+ type: string
+ verify_connection_at_startup:
+ type: boolean
+ required:
+ - servers
+ type: object
+ gcs:
+ properties:
+ acl:
+ type: string
+ auto_create_bucket:
+ type: boolean
+ bucket:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_retries:
+ type: integer
+ client_timeout:
+ type: integer
+ credentials_json:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ encryption_key:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hex_random_length:
+ type: integer
+ keyfile:
+ type: string
+ object_key_format:
+ type: string
+ object_metadata:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - value
+ type: object
+ type: array
+ overwrite:
+ type: boolean
+ path:
+ type: string
+ project:
+ type: string
+ storage_class:
+ type: string
+ store_as:
+ type: string
+ transcoding:
+ type: boolean
+ required:
+ - bucket
+ - project
+ type: object
+ gelf:
+ properties:
+ host:
+ type: string
+ port:
+ type: integer
+ protocol:
+ type: string
+ tls:
+ type: boolean
+ tls_options:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - host
+ - port
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required:
+ - password
+ - username
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ content_type:
+ type: string
+ endpoint:
+ type: string
+ error_response_as_unrecoverable:
+ type: boolean
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ headers:
+ additionalProperties:
+ type: string
+ type: object
+ http_method:
+ type: string
+ json_array:
+ type: boolean
+ open_timeout:
+ type: integer
+ proxy:
+ type: string
+ read_timeout:
+ type: integer
+ retryable_response_codes:
+ items:
+ type: integer
+ type: array
+ ssl_timeout:
+ type: integer
+ tls_ca_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_ciphers:
+ type: string
+ tls_client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_verify_mode:
+ type: string
+ tls_version:
+ type: string
+ required:
+ - endpoint
+ type: object
+ kafka:
+ properties:
+ ack_timeout:
+ type: integer
+ brokers:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_id:
+ type: string
+ compression_codec:
+ type: string
+ default_message_key:
+ type: string
+ default_partition_key:
+ type: string
+ default_topic:
+ type: string
+ discard_kafka_delivery_failed:
+ type: boolean
+ exclude_partion_key:
+ type: boolean
+ exclude_topic_key:
+ type: boolean
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ get_kafka_client_log:
+ type: boolean
+ headers:
+ additionalProperties:
+ type: string
+ type: object
+ headers_from_record:
+ additionalProperties:
+ type: string
+ type: object
+ idempotent:
+ type: boolean
+ kafka_agg_max_bytes:
+ type: integer
+ kafka_agg_max_messages:
+ type: integer
+ max_send_retries:
+ type: integer
+ message_key_key:
+ type: string
+ partition_key:
+ type: string
+ partition_key_key:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required_acks:
+ type: integer
+ sasl_over_ssl:
+ type: boolean
+ scram_mechanism:
+ type: string
+ ssl_ca_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_ca_certs_from_system:
+ type: boolean
+ ssl_client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_client_cert_chain:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_client_cert_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_verify_hostname:
+ type: boolean
+ topic_key:
+ type: string
+ use_default_for_unknown_topic:
+ type: boolean
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required:
+ - brokers
+ - format
+ type: object
+ kinesisStream:
+ properties:
+ assume_role_credentials:
+ properties:
+ duration_seconds:
+ type: string
+ external_id:
+ type: string
+ policy:
+ type: string
+ role_arn:
+ type: string
+ role_session_name:
+ type: string
+ required:
+ - role_arn
+ - role_session_name
+ type: object
+ aws_iam_retries:
+ type: integer
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_ses_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ batch_request_max_count:
+ type: integer
+ batch_request_max_size:
+ type: integer
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ partition_key:
+ type: string
+ process_credentials:
+ properties:
+ process:
+ type: string
+ required:
+ - process
+ type: object
+ region:
+ type: string
+ reset_backoff_if_success:
+ type: boolean
+ retries_on_batch_request:
+ type: integer
+ stream_name:
+ type: string
+ required:
+ - stream_name
+ type: object
+ logdna:
+ properties:
+ api_key:
+ type: string
+ app:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ hostname:
+ type: string
+ ingester_domain:
+ type: string
+ ingester_endpoint:
+ type: string
+ request_timeout:
+ type: string
+ tags:
+ type: string
+ required:
+ - api_key
+ - hostname
+ type: object
+ loggingRef:
+ type: string
+ logz:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_limit:
+ type: integer
+ bulk_limit_warning_limit:
+ type: integer
+ endpoint:
+ properties:
+ port:
+ type: integer
+ token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ url:
+ type: string
+ type: object
+ gzip:
+ type: boolean
+ http_idle_timeout:
+ type: integer
+ output_include_tags:
+ type: boolean
+ output_include_time:
+ type: boolean
+ retry_count:
+ type: integer
+ retry_sleep:
+ type: integer
+ required:
+ - endpoint
+ type: object
+ loki:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ ca_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ configure_kubernetes_labels:
+ type: boolean
+ drop_single_key:
+ type: boolean
+ extra_labels:
+ additionalProperties:
+ type: string
+ type: object
+ extract_kubernetes_labels:
+ type: boolean
+ insecure_tls:
+ type: boolean
+ key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ line_format:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ remove_keys:
+ items:
+ type: string
+ type: array
+ tenant:
+ type: string
+ url:
+ type: string
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ type: object
+ newrelic:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ base_uri:
+ type: string
+ license_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ type: object
+ nullout:
+ type: object
+ opensearch:
+ properties:
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ catch_transport_exception_on_retry:
+ type: boolean
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ compression_level:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ default_opensearch_version:
+ type: integer
+ emit_error_for_missing_id:
+ type: boolean
+ emit_error_label_event:
+ type: boolean
+ exception_backup:
+ type: boolean
+ fail_on_detecting_os_version_retry_exceed:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ http_backend_excon_nonblock:
+ type: boolean
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_separator:
+ type: string
+ log_os_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_os_version:
+ type: integer
+ max_retry_putting_template:
+ type: string
+ parent_key:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ selector_class_name:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_verify:
+ type: boolean
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_affinity:
+ type: boolean
+ target_index_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_exclude_timestamp:
+ type: boolean
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ truncate_caches_interval:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ unrecoverable_record_types:
+ type: string
+ use_legacy_template:
+ type: boolean
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_os_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ oss:
+ properties:
+ aaccess_key_secret:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ access_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ auto_create_bucket:
+ type: boolean
+ bucket:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ check_bucket:
+ type: boolean
+ check_object:
+ type: boolean
+ download_crc_enable:
+ type: boolean
+ endpoint:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hex_random_length:
+ type: integer
+ index_format:
+ type: string
+ key_format:
+ type: string
+ open_timeout:
+ type: integer
+ oss_sdk_log_dir:
+ type: string
+ overwrite:
+ type: boolean
+ path:
+ type: string
+ read_timeout:
+ type: integer
+ store_as:
+ type: string
+ upload_crc_enable:
+ type: boolean
+ warn_for_delay:
+ type: string
+ required:
+ - aaccess_key_secret
+ - access_key_id
+ - bucket
+ - endpoint
+ type: object
+ redis:
+ properties:
+ allow_duplicate_key:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ db_number:
+ type: integer
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ host:
+ type: string
+ insert_key_prefix:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ port:
+ type: integer
+ strftime_format:
+ type: string
+ ttl:
+ type: integer
+ type: object
+ s3:
+ properties:
+ acl:
+ type: string
+ assume_role_credentials:
+ properties:
+ duration_seconds:
+ type: string
+ external_id:
+ type: string
+ policy:
+ type: string
+ role_arn:
+ type: string
+ role_session_name:
+ type: string
+ required:
+ - role_arn
+ - role_session_name
+ type: object
+ auto_create_bucket:
+ type: string
+ aws_iam_retries:
+ type: string
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ check_apikey_on_start:
+ type: string
+ check_bucket:
+ type: string
+ check_object:
+ type: string
+ clustername:
+ type: string
+ compress:
+ properties:
+ parquet_compression_codec:
+ type: string
+ parquet_page_size:
+ type: string
+ parquet_row_group_size:
+ type: string
+ record_type:
+ type: string
+ schema_file:
+ type: string
+ schema_type:
+ type: string
+ type: object
+ compute_checksums:
+ type: string
+ enable_transfer_acceleration:
+ type: string
+ force_path_style:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ grant_full_control:
+ type: string
+ grant_read:
+ type: string
+ grant_read_acp:
+ type: string
+ grant_write_acp:
+ type: string
+ hex_random_length:
+ type: string
+ index_format:
+ type: string
+ instance_profile_credentials:
+ properties:
+ http_open_timeout:
+ type: string
+ http_read_timeout:
+ type: string
+ ip_address:
+ type: string
+ port:
+ type: string
+ retries:
+ type: string
+ type: object
+ oneeye_format:
+ type: boolean
+ overwrite:
+ type: string
+ path:
+ type: string
+ proxy_uri:
+ type: string
+ s3_bucket:
+ type: string
+ s3_endpoint:
+ type: string
+ s3_metadata:
+ type: string
+ s3_object_key_format:
+ type: string
+ s3_region:
+ type: string
+ shared_credentials:
+ properties:
+ path:
+ type: string
+ profile_name:
+ type: string
+ type: object
+ signature_version:
+ type: string
+ sse_customer_algorithm:
+ type: string
+ sse_customer_key:
+ type: string
+ sse_customer_key_md5:
+ type: string
+ ssekms_key_id:
+ type: string
+ ssl_verify_peer:
+ type: string
+ storage_class:
+ type: string
+ store_as:
+ type: string
+ use_bundled_cert:
+ type: string
+ use_server_side_encryption:
+ type: string
+ warn_for_delay:
+ type: string
+ required:
+ - s3_bucket
+ type: object
+ splunkHec:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ca_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ coerce_to_utf8:
+ type: boolean
+ data_type:
+ type: string
+ fields:
+ additionalProperties:
+ type: string
+ type: object
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hec_host:
+ type: string
+ hec_port:
+ type: integer
+ hec_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ host:
+ type: string
+ host_key:
+ type: string
+ idle_timeout:
+ type: integer
+ index:
+ type: string
+ index_key:
+ type: string
+ insecure_ssl:
+ type: boolean
+ keep_keys:
+ type: boolean
+ metric_name_key:
+ type: string
+ metric_value_key:
+ type: string
+ metrics_from_event:
+ type: boolean
+ non_utf8_replacement_string:
+ type: string
+ open_timeout:
+ type: integer
+ protocol:
+ type: string
+ read_timeout:
+ type: integer
+ source:
+ type: string
+ source_key:
+ type: string
+ sourcetype:
+ type: string
+ sourcetype_key:
+ type: string
+ ssl_ciphers:
+ type: string
+ required:
+ - hec_host
+ - hec_token
+ type: object
+ sqs:
+ properties:
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ create_queue:
+ type: boolean
+ delay_seconds:
+ type: integer
+ include_tag:
+ type: boolean
+ message_group_id:
+ type: string
+ queue_name:
+ type: string
+ region:
+ type: string
+ sqs_url:
+ type: string
+ tag_property_name:
+ type: string
+ type: object
+ sumologic:
+ properties:
+ add_timestamp:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compress:
+ type: boolean
+ compress_encoding:
+ type: string
+ custom_dimensions:
+ type: string
+ custom_fields:
+ items:
+ type: string
+ type: array
+ data_type:
+ type: string
+ delimiter:
+ type: string
+ disable_cookies:
+ type: boolean
+ endpoint:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ log_format:
+ type: string
+ log_key:
+ type: string
+ metric_data_format:
+ type: string
+ open_timeout:
+ type: integer
+ proxy_uri:
+ type: string
+ source_category:
+ type: string
+ source_host:
+ type: string
+ source_name:
+ type: string
+ source_name_key:
+ type: string
+ sumo_client:
+ type: string
+ timestamp_key:
+ type: string
+ verify_ssl:
+ type: boolean
+ required:
+ - endpoint
+ - source_name
+ type: object
+ syslog:
+ properties:
+ allow_self_signed_cert:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ enable_system_cert_store:
+ type: boolean
+ format:
+ properties:
+ app_name_field:
+ type: string
+ hostname_field:
+ type: string
+ log_field:
+ type: string
+ message_id_field:
+ type: string
+ proc_id_field:
+ type: string
+ rfc6587_message_size:
+ type: boolean
+ structured_data_field:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ fqdn:
+ type: string
+ host:
+ type: string
+ insecure:
+ type: boolean
+ port:
+ type: integer
+ private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ transport:
+ type: string
+ trusted_ca_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ verify_fqdn:
+ type: boolean
+ version:
+ type: string
+ required:
+ - host
+ type: object
+ type: object
+ status:
+ properties:
+ active:
+ type: boolean
+ problems:
+ items:
+ type: string
+ type: array
+ problemsCount:
+ type: integer
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_flows.yaml b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_flows.yaml
new file mode 100644
index 000000000..2aa2f17cb
--- /dev/null
+++ b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_flows.yaml
@@ -0,0 +1,1676 @@
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.5.0
+ creationTimestamp: null
+ name: flows.logging.banzaicloud.io
+spec:
+ group: logging.banzaicloud.io
+ names:
+ categories:
+ - logging-all
+ kind: Flow
+ listKind: FlowList
+ plural: flows
+ singular: flow
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - description: Is the flow active?
+ jsonPath: .status.active
+ name: Active
+ type: boolean
+ - description: Number of problems
+ jsonPath: .status.problemsCount
+ name: Problems
+ type: integer
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ filters:
+ items:
+ properties:
+ concat:
+ properties:
+ continuous_line_regexp:
+ type: string
+ flush_interval:
+ type: integer
+ keep_partial_key:
+ type: boolean
+ keep_partial_metadata:
+ type: string
+ key:
+ type: string
+ multiline_end_regexp:
+ type: string
+ multiline_start_regexp:
+ type: string
+ n_lines:
+ type: integer
+ partial_key:
+ type: string
+ partial_value:
+ type: string
+ separator:
+ type: string
+ stream_identity_key:
+ type: string
+ timeout_label:
+ type: string
+ use_first_timestamp:
+ type: boolean
+ use_partial_metadata:
+ type: string
+ type: object
+ dedot:
+ properties:
+ de_dot_nested:
+ type: boolean
+ de_dot_separator:
+ type: string
+ type: object
+ detectExceptions:
+ properties:
+ force_line_breaks:
+ type: boolean
+ languages:
+ items:
+ type: string
+ type: array
+ max_bytes:
+ type: integer
+ max_lines:
+ type: integer
+ message:
+ type: string
+ multiline_flush_interval:
+ type: string
+ remove_tag_prefix:
+ type: string
+ stream:
+ type: string
+ type: object
+ elasticsearch_genid:
+ properties:
+ hash_id_key:
+ type: string
+ hash_type:
+ type: string
+ include_tag_in_seed:
+ type: boolean
+ include_time_in_seed:
+ type: boolean
+ record_keys:
+ type: string
+ separator:
+ type: string
+ use_entire_record:
+ type: boolean
+ use_record_as_seed:
+ type: boolean
+ type: object
+ enhanceK8s:
+ properties:
+ api_groups:
+ items:
+ type: string
+ type: array
+ bearer_token_file:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ cache_refresh:
+ type: integer
+ cache_refresh_variation:
+ type: integer
+ cache_size:
+ type: integer
+ cache_ttl:
+ type: integer
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ core_api_versions:
+ items:
+ type: string
+ type: array
+ data_type:
+ type: string
+ in_namespace_path:
+ items:
+ type: string
+ type: array
+ in_pod_path:
+ items:
+ type: string
+ type: array
+ kubernetes_url:
+ type: string
+ secret_dir:
+ type: string
+ ssl_partial_chain:
+ type: boolean
+ verify_ssl:
+ type: boolean
+ type: object
+ geoip:
+ properties:
+ backend_library:
+ type: string
+ geoip_2_database:
+ type: string
+ geoip_database:
+ type: string
+ geoip_lookup_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ skip_adding_null_record:
+ type: boolean
+ type: object
+ grep:
+ properties:
+ and:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ or:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ kube_events_timestamp:
+ properties:
+ mapped_time_key:
+ type: string
+ timestamp_fields:
+ items:
+ type: string
+ type: array
+ type: object
+ parser:
+ properties:
+ emit_invalid_record_to_error:
+ type: boolean
+ hash_value_field:
+ type: string
+ inject_key_prefix:
+ type: string
+ key_name:
+ type: string
+ parse:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ parsers:
+ items:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ remove_key_name_field:
+ type: boolean
+ replace_invalid_sequence:
+ type: boolean
+ reserve_data:
+ type: boolean
+ reserve_time:
+ type: boolean
+ type: object
+ prometheus:
+ properties:
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ metrics:
+ items:
+ properties:
+ buckets:
+ type: string
+ desc:
+ type: string
+ key:
+ type: string
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ type:
+ type: string
+ required:
+ - desc
+ - name
+ - type
+ type: object
+ type: array
+ type: object
+ record_modifier:
+ properties:
+ char_encoding:
+ type: string
+ prepare_value:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ replaces:
+ items:
+ properties:
+ expression:
+ type: string
+ key:
+ type: string
+ replace:
+ type: string
+ required:
+ - expression
+ - key
+ - replace
+ type: object
+ type: array
+ whitelist_keys:
+ type: string
+ type: object
+ record_transformer:
+ properties:
+ auto_typecast:
+ type: boolean
+ enable_ruby:
+ type: boolean
+ keep_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ renew_record:
+ type: boolean
+ renew_time_key:
+ type: string
+ type: object
+ stdout:
+ properties:
+ output_type:
+ type: string
+ type: object
+ sumologic:
+ properties:
+ collector_key_name:
+ type: string
+ collector_value:
+ type: string
+ exclude_container_regex:
+ type: string
+ exclude_facility_regex:
+ type: string
+ exclude_host_regex:
+ type: string
+ exclude_namespace_regex:
+ type: string
+ exclude_pod_regex:
+ type: string
+ exclude_priority_regex:
+ type: string
+ exclude_unit_regex:
+ type: string
+ log_format:
+ type: string
+ source_category:
+ type: string
+ source_category_key_name:
+ type: string
+ source_category_prefix:
+ type: string
+ source_category_replace_dash:
+ type: string
+ source_host:
+ type: string
+ source_host_key_name:
+ type: string
+ source_name:
+ type: string
+ source_name_key_name:
+ type: string
+ tracing_annotation_prefix:
+ type: string
+ tracing_container_name:
+ type: string
+ tracing_format:
+ type: boolean
+ tracing_host:
+ type: string
+ tracing_label_prefix:
+ type: string
+ tracing_namespace:
+ type: string
+ tracing_pod:
+ type: string
+ tracing_pod_id:
+ type: string
+ type: object
+ tag_normaliser:
+ properties:
+ format:
+ type: string
+ type: object
+ throttle:
+ properties:
+ group_bucket_limit:
+ type: integer
+ group_bucket_period_s:
+ type: integer
+ group_drop_logs:
+ type: boolean
+ group_key:
+ type: string
+ group_reset_rate_s:
+ type: integer
+ group_warning_delay_s:
+ type: integer
+ type: object
+ type: object
+ type: array
+ globalOutputRefs:
+ items:
+ type: string
+ type: array
+ localOutputRefs:
+ items:
+ type: string
+ type: array
+ loggingRef:
+ type: string
+ match:
+ items:
+ properties:
+ exclude:
+ properties:
+ container_names:
+ items:
+ type: string
+ type: array
+ hosts:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ select:
+ properties:
+ container_names:
+ items:
+ type: string
+ type: array
+ hosts:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ type: object
+ type: array
+ outputRefs:
+ items:
+ type: string
+ type: array
+ selectors:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ status:
+ properties:
+ active:
+ type: boolean
+ problems:
+ items:
+ type: string
+ type: array
+ problemsCount:
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ - additionalPrinterColumns:
+ - description: Is the flow active?
+ jsonPath: .status.active
+ name: Active
+ type: boolean
+ - description: Number of problems
+ jsonPath: .status.problemsCount
+ name: Problems
+ type: integer
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ filters:
+ items:
+ properties:
+ concat:
+ properties:
+ continuous_line_regexp:
+ type: string
+ flush_interval:
+ type: integer
+ keep_partial_key:
+ type: boolean
+ keep_partial_metadata:
+ type: string
+ key:
+ type: string
+ multiline_end_regexp:
+ type: string
+ multiline_start_regexp:
+ type: string
+ n_lines:
+ type: integer
+ partial_key:
+ type: string
+ partial_value:
+ type: string
+ separator:
+ type: string
+ stream_identity_key:
+ type: string
+ timeout_label:
+ type: string
+ use_first_timestamp:
+ type: boolean
+ use_partial_metadata:
+ type: string
+ type: object
+ dedot:
+ properties:
+ de_dot_nested:
+ type: boolean
+ de_dot_separator:
+ type: string
+ type: object
+ detectExceptions:
+ properties:
+ force_line_breaks:
+ type: boolean
+ languages:
+ items:
+ type: string
+ type: array
+ max_bytes:
+ type: integer
+ max_lines:
+ type: integer
+ message:
+ type: string
+ multiline_flush_interval:
+ type: string
+ remove_tag_prefix:
+ type: string
+ stream:
+ type: string
+ type: object
+ elasticsearch_genid:
+ properties:
+ hash_id_key:
+ type: string
+ hash_type:
+ type: string
+ include_tag_in_seed:
+ type: boolean
+ include_time_in_seed:
+ type: boolean
+ record_keys:
+ type: string
+ separator:
+ type: string
+ use_entire_record:
+ type: boolean
+ use_record_as_seed:
+ type: boolean
+ type: object
+ enhanceK8s:
+ properties:
+ api_groups:
+ items:
+ type: string
+ type: array
+ bearer_token_file:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ cache_refresh:
+ type: integer
+ cache_refresh_variation:
+ type: integer
+ cache_size:
+ type: integer
+ cache_ttl:
+ type: integer
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ core_api_versions:
+ items:
+ type: string
+ type: array
+ data_type:
+ type: string
+ in_namespace_path:
+ items:
+ type: string
+ type: array
+ in_pod_path:
+ items:
+ type: string
+ type: array
+ kubernetes_url:
+ type: string
+ secret_dir:
+ type: string
+ ssl_partial_chain:
+ type: boolean
+ verify_ssl:
+ type: boolean
+ type: object
+ geoip:
+ properties:
+ backend_library:
+ type: string
+ geoip_2_database:
+ type: string
+ geoip_database:
+ type: string
+ geoip_lookup_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ skip_adding_null_record:
+ type: boolean
+ type: object
+ grep:
+ properties:
+ and:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ or:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ kube_events_timestamp:
+ properties:
+ mapped_time_key:
+ type: string
+ timestamp_fields:
+ items:
+ type: string
+ type: array
+ type: object
+ parser:
+ properties:
+ emit_invalid_record_to_error:
+ type: boolean
+ hash_value_field:
+ type: string
+ inject_key_prefix:
+ type: string
+ key_name:
+ type: string
+ parse:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ parsers:
+ items:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ remove_key_name_field:
+ type: boolean
+ replace_invalid_sequence:
+ type: boolean
+ reserve_data:
+ type: boolean
+ reserve_time:
+ type: boolean
+ type: object
+ prometheus:
+ properties:
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ metrics:
+ items:
+ properties:
+ buckets:
+ type: string
+ desc:
+ type: string
+ key:
+ type: string
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ type:
+ type: string
+ required:
+ - desc
+ - name
+ - type
+ type: object
+ type: array
+ type: object
+ record_modifier:
+ properties:
+ char_encoding:
+ type: string
+ prepare_value:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ replaces:
+ items:
+ properties:
+ expression:
+ type: string
+ key:
+ type: string
+ replace:
+ type: string
+ required:
+ - expression
+ - key
+ - replace
+ type: object
+ type: array
+ whitelist_keys:
+ type: string
+ type: object
+ record_transformer:
+ properties:
+ auto_typecast:
+ type: boolean
+ enable_ruby:
+ type: boolean
+ keep_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ renew_record:
+ type: boolean
+ renew_time_key:
+ type: string
+ type: object
+ stdout:
+ properties:
+ output_type:
+ type: string
+ type: object
+ sumologic:
+ properties:
+ collector_key_name:
+ type: string
+ collector_value:
+ type: string
+ exclude_container_regex:
+ type: string
+ exclude_facility_regex:
+ type: string
+ exclude_host_regex:
+ type: string
+ exclude_namespace_regex:
+ type: string
+ exclude_pod_regex:
+ type: string
+ exclude_priority_regex:
+ type: string
+ exclude_unit_regex:
+ type: string
+ log_format:
+ type: string
+ source_category:
+ type: string
+ source_category_key_name:
+ type: string
+ source_category_prefix:
+ type: string
+ source_category_replace_dash:
+ type: string
+ source_host:
+ type: string
+ source_host_key_name:
+ type: string
+ source_name:
+ type: string
+ source_name_key_name:
+ type: string
+ tracing_annotation_prefix:
+ type: string
+ tracing_container_name:
+ type: string
+ tracing_format:
+ type: boolean
+ tracing_host:
+ type: string
+ tracing_label_prefix:
+ type: string
+ tracing_namespace:
+ type: string
+ tracing_pod:
+ type: string
+ tracing_pod_id:
+ type: string
+ type: object
+ tag_normaliser:
+ properties:
+ format:
+ type: string
+ type: object
+ throttle:
+ properties:
+ group_bucket_limit:
+ type: integer
+ group_bucket_period_s:
+ type: integer
+ group_drop_logs:
+ type: boolean
+ group_key:
+ type: string
+ group_reset_rate_s:
+ type: integer
+ group_warning_delay_s:
+ type: integer
+ type: object
+ type: object
+ type: array
+ globalOutputRefs:
+ items:
+ type: string
+ type: array
+ localOutputRefs:
+ items:
+ type: string
+ type: array
+ loggingRef:
+ type: string
+ match:
+ items:
+ properties:
+ exclude:
+ properties:
+ container_names:
+ items:
+ type: string
+ type: array
+ hosts:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ select:
+ properties:
+ container_names:
+ items:
+ type: string
+ type: array
+ hosts:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ type: object
+ type: array
+ outputRefs:
+ items:
+ type: string
+ type: array
+ selectors:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ status:
+ properties:
+ active:
+ type: boolean
+ problems:
+ items:
+ type: string
+ type: array
+ problemsCount:
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_loggings.yaml b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_loggings.yaml
new file mode 100644
index 000000000..dd7311973
--- /dev/null
+++ b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_loggings.yaml
@@ -0,0 +1,9194 @@
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.5.0
+ creationTimestamp: null
+ name: loggings.logging.banzaicloud.io
+spec:
+ group: logging.banzaicloud.io
+ names:
+ categories:
+ - logging-all
+ kind: Logging
+ listKind: LoggingList
+ plural: loggings
+ singular: logging
+ scope: Cluster
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ type: object
+ status:
+ type: object
+ type: object
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ - name: v1beta1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ allowClusterResourcesFromAllNamespaces:
+ type: boolean
+ controlNamespace:
+ type: string
+ defaultFlow:
+ properties:
+ filters:
+ items:
+ properties:
+ concat:
+ properties:
+ continuous_line_regexp:
+ type: string
+ flush_interval:
+ type: integer
+ keep_partial_key:
+ type: boolean
+ keep_partial_metadata:
+ type: string
+ key:
+ type: string
+ multiline_end_regexp:
+ type: string
+ multiline_start_regexp:
+ type: string
+ n_lines:
+ type: integer
+ partial_key:
+ type: string
+ partial_value:
+ type: string
+ separator:
+ type: string
+ stream_identity_key:
+ type: string
+ timeout_label:
+ type: string
+ use_first_timestamp:
+ type: boolean
+ use_partial_metadata:
+ type: string
+ type: object
+ dedot:
+ properties:
+ de_dot_nested:
+ type: boolean
+ de_dot_separator:
+ type: string
+ type: object
+ detectExceptions:
+ properties:
+ force_line_breaks:
+ type: boolean
+ languages:
+ items:
+ type: string
+ type: array
+ max_bytes:
+ type: integer
+ max_lines:
+ type: integer
+ message:
+ type: string
+ multiline_flush_interval:
+ type: string
+ remove_tag_prefix:
+ type: string
+ stream:
+ type: string
+ type: object
+ elasticsearch_genid:
+ properties:
+ hash_id_key:
+ type: string
+ hash_type:
+ type: string
+ include_tag_in_seed:
+ type: boolean
+ include_time_in_seed:
+ type: boolean
+ record_keys:
+ type: string
+ separator:
+ type: string
+ use_entire_record:
+ type: boolean
+ use_record_as_seed:
+ type: boolean
+ type: object
+ enhanceK8s:
+ properties:
+ api_groups:
+ items:
+ type: string
+ type: array
+ bearer_token_file:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ cache_refresh:
+ type: integer
+ cache_refresh_variation:
+ type: integer
+ cache_size:
+ type: integer
+ cache_ttl:
+ type: integer
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ core_api_versions:
+ items:
+ type: string
+ type: array
+ data_type:
+ type: string
+ in_namespace_path:
+ items:
+ type: string
+ type: array
+ in_pod_path:
+ items:
+ type: string
+ type: array
+ kubernetes_url:
+ type: string
+ secret_dir:
+ type: string
+ ssl_partial_chain:
+ type: boolean
+ verify_ssl:
+ type: boolean
+ type: object
+ geoip:
+ properties:
+ backend_library:
+ type: string
+ geoip_2_database:
+ type: string
+ geoip_database:
+ type: string
+ geoip_lookup_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ skip_adding_null_record:
+ type: boolean
+ type: object
+ grep:
+ properties:
+ and:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ or:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ kube_events_timestamp:
+ properties:
+ mapped_time_key:
+ type: string
+ timestamp_fields:
+ items:
+ type: string
+ type: array
+ type: object
+ parser:
+ properties:
+ emit_invalid_record_to_error:
+ type: boolean
+ hash_value_field:
+ type: string
+ inject_key_prefix:
+ type: string
+ key_name:
+ type: string
+ parse:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ parsers:
+ items:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ remove_key_name_field:
+ type: boolean
+ replace_invalid_sequence:
+ type: boolean
+ reserve_data:
+ type: boolean
+ reserve_time:
+ type: boolean
+ type: object
+ prometheus:
+ properties:
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ metrics:
+ items:
+ properties:
+ buckets:
+ type: string
+ desc:
+ type: string
+ key:
+ type: string
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ type:
+ type: string
+ required:
+ - desc
+ - name
+ - type
+ type: object
+ type: array
+ type: object
+ record_modifier:
+ properties:
+ char_encoding:
+ type: string
+ prepare_value:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ replaces:
+ items:
+ properties:
+ expression:
+ type: string
+ key:
+ type: string
+ replace:
+ type: string
+ required:
+ - expression
+ - key
+ - replace
+ type: object
+ type: array
+ whitelist_keys:
+ type: string
+ type: object
+ record_transformer:
+ properties:
+ auto_typecast:
+ type: boolean
+ enable_ruby:
+ type: boolean
+ keep_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ renew_record:
+ type: boolean
+ renew_time_key:
+ type: string
+ type: object
+ stdout:
+ properties:
+ output_type:
+ type: string
+ type: object
+ sumologic:
+ properties:
+ collector_key_name:
+ type: string
+ collector_value:
+ type: string
+ exclude_container_regex:
+ type: string
+ exclude_facility_regex:
+ type: string
+ exclude_host_regex:
+ type: string
+ exclude_namespace_regex:
+ type: string
+ exclude_pod_regex:
+ type: string
+ exclude_priority_regex:
+ type: string
+ exclude_unit_regex:
+ type: string
+ log_format:
+ type: string
+ source_category:
+ type: string
+ source_category_key_name:
+ type: string
+ source_category_prefix:
+ type: string
+ source_category_replace_dash:
+ type: string
+ source_host:
+ type: string
+ source_host_key_name:
+ type: string
+ source_name:
+ type: string
+ source_name_key_name:
+ type: string
+ tracing_annotation_prefix:
+ type: string
+ tracing_container_name:
+ type: string
+ tracing_format:
+ type: boolean
+ tracing_host:
+ type: string
+ tracing_label_prefix:
+ type: string
+ tracing_namespace:
+ type: string
+ tracing_pod:
+ type: string
+ tracing_pod_id:
+ type: string
+ type: object
+ tag_normaliser:
+ properties:
+ format:
+ type: string
+ type: object
+ throttle:
+ properties:
+ group_bucket_limit:
+ type: integer
+ group_bucket_period_s:
+ type: integer
+ group_drop_logs:
+ type: boolean
+ group_key:
+ type: string
+ group_reset_rate_s:
+ type: integer
+ group_warning_delay_s:
+ type: integer
+ type: object
+ type: object
+ type: array
+ globalOutputRefs:
+ items:
+ type: string
+ type: array
+ outputRefs:
+ items:
+ type: string
+ type: array
+ type: object
+ enableRecreateWorkloadOnImmutableFieldChange:
+ type: boolean
+ errorOutputRef:
+ type: string
+ flowConfigCheckDisabled:
+ type: boolean
+ flowConfigOverride:
+ type: string
+ fluentbit:
+ properties:
+ HostNetwork:
+ type: boolean
+ affinity:
+ properties:
+ nodeAffinity:
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ preference:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - preference
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ properties:
+ nodeSelectorTerms:
+ items:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ type: object
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ bufferStorage:
+ properties:
+ storage.backlog.mem_limit:
+ type: string
+ storage.checksum:
+ type: string
+ storage.path:
+ type: string
+ storage.sync:
+ type: string
+ type: object
+ bufferStorageVolume:
+ 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
+ host_path:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ pvc:
+ properties:
+ source:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ spec:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ type: object
+ type: object
+ coroStackSize:
+ format: int32
+ type: integer
+ customConfigSecret:
+ type: string
+ daemonsetAnnotations:
+ additionalProperties:
+ type: string
+ type: object
+ disableKubernetesFilter:
+ type: boolean
+ dnsConfig:
+ properties:
+ nameservers:
+ items:
+ type: string
+ type: array
+ options:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ searches:
+ items:
+ type: string
+ type: array
+ type: object
+ dnsPolicy:
+ type: string
+ enableUpstream:
+ type: boolean
+ envVars:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ 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
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ extraVolumeMounts:
+ items:
+ properties:
+ destination:
+ pattern: ^/.+$
+ type: string
+ readOnly:
+ type: boolean
+ source:
+ pattern: ^/.+$
+ type: string
+ required:
+ - destination
+ - source
+ type: object
+ type: array
+ filterAws:
+ properties:
+ Match:
+ type: string
+ account_id:
+ type: boolean
+ ami_id:
+ type: boolean
+ az:
+ type: boolean
+ ec2_instance_id:
+ type: boolean
+ ec2_instance_type:
+ type: boolean
+ hostname:
+ type: boolean
+ imds_version:
+ type: string
+ private_ip:
+ type: boolean
+ vpc_id:
+ type: boolean
+ type: object
+ filterKubernetes:
+ properties:
+ Annotations:
+ type: string
+ Buffer_Size:
+ type: string
+ Cache_Use_Docker_Id:
+ type: string
+ DNS_Retries:
+ type: string
+ DNS_Wait_Time:
+ type: string
+ Dummy_Meta:
+ type: string
+ K8S-Logging.Exclude:
+ type: string
+ K8S-Logging.Parser:
+ type: string
+ Keep_Log:
+ type: string
+ Kube_CA_File:
+ type: string
+ Kube_CA_Path:
+ type: string
+ Kube_Tag_Prefix:
+ type: string
+ Kube_Token_File:
+ type: string
+ Kube_URL:
+ type: string
+ Kube_meta_preload_cache_dir:
+ type: string
+ Kubelet_Port:
+ type: string
+ Labels:
+ type: string
+ Match:
+ type: string
+ Merge_Log:
+ type: string
+ Merge_Log_Key:
+ type: string
+ Merge_Log_Trim:
+ type: string
+ Merge_Parser:
+ type: string
+ Regex_Parser:
+ type: string
+ Use_Journal:
+ type: string
+ Use_Kubelet:
+ type: string
+ tls.debug:
+ type: string
+ tls.verify:
+ type: string
+ type: object
+ filterModify:
+ items:
+ properties:
+ conditions:
+ items:
+ properties:
+ A_key_matches:
+ properties:
+ key:
+ type: string
+ type: object
+ Key_does_not_exist:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ Key_exists:
+ properties:
+ key:
+ type: string
+ type: object
+ Key_value_does_not_equal:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ Key_value_does_not_match:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ Key_value_equals:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ Key_value_matches:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ Matching_keys_do_not_have_matching_values:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ Matching_keys_have_matching_values:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ No_key_matches:
+ properties:
+ key:
+ type: string
+ type: object
+ type: object
+ type: array
+ rules:
+ items:
+ properties:
+ Add:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ Copy:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ Hard_copy:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ Hard_rename:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ Remove:
+ properties:
+ key:
+ type: string
+ type: object
+ Remove_regex:
+ properties:
+ key:
+ type: string
+ type: object
+ Remove_wildcard:
+ properties:
+ key:
+ type: string
+ type: object
+ Rename:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ Set:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ type: object
+ type: array
+ type: object
+ type: array
+ flush:
+ format: int32
+ type: integer
+ forwardOptions:
+ properties:
+ Require_ack_response:
+ type: boolean
+ Retry_Limit:
+ type: string
+ Send_options:
+ type: boolean
+ Tag:
+ type: string
+ Time_as_Integer:
+ type: boolean
+ storage.total_limit_size:
+ type: string
+ type: object
+ grace:
+ format: int32
+ type: integer
+ image:
+ properties:
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ pullPolicy:
+ type: string
+ repository:
+ type: string
+ tag:
+ type: string
+ type: object
+ inputTail:
+ properties:
+ Buffer_Chunk_Size:
+ type: string
+ Buffer_Max_Size:
+ type: string
+ DB:
+ type: string
+ DB_Sync:
+ type: string
+ Docker_Mode:
+ type: string
+ Docker_Mode_Flush:
+ type: string
+ Docker_Mode_Parser:
+ type: string
+ Exclude_Path:
+ type: string
+ Ignore_Older:
+ type: string
+ Key:
+ type: string
+ Mem_Buf_Limit:
+ type: string
+ Multiline:
+ type: string
+ Multiline_Flush:
+ type: string
+ Parser:
+ type: string
+ Parser_Firstline:
+ type: string
+ Parser_N:
+ items:
+ type: string
+ type: array
+ Path:
+ type: string
+ Path_Key:
+ type: string
+ Read_From_Head:
+ type: boolean
+ Refresh_Interval:
+ type: string
+ Rotate_Wait:
+ type: string
+ Skip_Long_Lines:
+ type: string
+ Tag:
+ type: string
+ Tag_Regex:
+ type: string
+ multiline.parser:
+ items:
+ type: string
+ type: array
+ storage.type:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ livenessDefaultCheck:
+ type: boolean
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ logLevel:
+ type: string
+ metrics:
+ properties:
+ interval:
+ type: string
+ path:
+ type: string
+ port:
+ format: int32
+ type: integer
+ prometheusAnnotations:
+ type: boolean
+ prometheusRules:
+ type: boolean
+ serviceMonitor:
+ type: boolean
+ serviceMonitorConfig:
+ properties:
+ additionalLabels:
+ additionalProperties:
+ type: string
+ type: object
+ honorLabels:
+ type: boolean
+ metricRelabelings:
+ items:
+ properties:
+ action:
+ type: string
+ modulus:
+ format: int64
+ type: integer
+ regex:
+ type: string
+ replacement:
+ type: string
+ separator:
+ type: string
+ sourceLabels:
+ items:
+ type: string
+ type: array
+ targetLabel:
+ type: string
+ type: object
+ type: array
+ relabelings:
+ items:
+ properties:
+ action:
+ type: string
+ modulus:
+ format: int64
+ type: integer
+ regex:
+ type: string
+ replacement:
+ type: string
+ separator:
+ type: string
+ sourceLabels:
+ items:
+ type: string
+ type: array
+ targetLabel:
+ type: string
+ type: object
+ type: array
+ scheme:
+ type: string
+ tlsConfig:
+ properties:
+ ca:
+ properties:
+ configMap:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ secret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ caFile:
+ type: string
+ cert:
+ properties:
+ configMap:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ secret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ certFile:
+ type: string
+ insecureSkipVerify:
+ type: boolean
+ keyFile:
+ type: string
+ keySecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ serverName:
+ type: string
+ type: object
+ type: object
+ timeout:
+ type: string
+ type: object
+ mountPath:
+ type: string
+ network:
+ properties:
+ connectTimeout:
+ format: int32
+ type: integer
+ connectTimeoutLogError:
+ type: boolean
+ dnsMode:
+ type: string
+ dnsPreferIpv4:
+ type: boolean
+ dnsResolver:
+ type: string
+ keepalive:
+ type: boolean
+ keepaliveIdleTimeout:
+ format: int32
+ type: integer
+ keepaliveMaxRecycle:
+ format: int32
+ type: integer
+ sourceAddress:
+ type: string
+ type: object
+ nodeSelector:
+ additionalProperties:
+ type: string
+ type: object
+ parser:
+ type: string
+ podPriorityClassName:
+ type: string
+ position_db:
+ 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
+ host_path:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ pvc:
+ properties:
+ source:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ spec:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ type: object
+ type: object
+ positiondb:
+ 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
+ host_path:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ pvc:
+ properties:
+ source:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ spec:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ type: object
+ type: object
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ security:
+ properties:
+ podSecurityContext:
+ properties:
+ fsGroup:
+ format: int64
+ type: integer
+ fsGroupChangePolicy:
+ type: string
+ 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
+ supplementalGroups:
+ items:
+ format: int64
+ type: integer
+ type: array
+ sysctls:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ windowsOptions:
+ properties:
+ gmsaCredentialSpec:
+ type: string
+ gmsaCredentialSpecName:
+ type: string
+ hostProcess:
+ type: boolean
+ runAsUserName:
+ type: string
+ type: object
+ type: object
+ podSecurityPolicyCreate:
+ type: boolean
+ roleBasedAccessControlCreate:
+ type: boolean
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ serviceAccount:
+ type: string
+ type: object
+ serviceAccount:
+ properties:
+ automountServiceAccountToken:
+ type: boolean
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ secrets:
+ items:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ resourceVersion:
+ type: string
+ uid:
+ type: string
+ type: object
+ type: array
+ type: object
+ targetHost:
+ type: string
+ targetPort:
+ format: int32
+ type: integer
+ tls:
+ properties:
+ enabled:
+ type: boolean
+ secretName:
+ type: string
+ sharedKey:
+ type: string
+ required:
+ - enabled
+ type: object
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ format: int64
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
+ type: object
+ fluentd:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - preference
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ properties:
+ nodeSelectorTerms:
+ items:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ type: object
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ bufferStorageVolume:
+ 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
+ host_path:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ pvc:
+ properties:
+ source:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ spec:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ type: object
+ type: object
+ bufferVolumeArgs:
+ items:
+ type: string
+ type: array
+ bufferVolumeImage:
+ properties:
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ pullPolicy:
+ type: string
+ repository:
+ type: string
+ tag:
+ type: string
+ type: object
+ bufferVolumeMetrics:
+ properties:
+ interval:
+ type: string
+ path:
+ type: string
+ port:
+ format: int32
+ type: integer
+ prometheusAnnotations:
+ type: boolean
+ prometheusRules:
+ type: boolean
+ serviceMonitor:
+ type: boolean
+ serviceMonitorConfig:
+ properties:
+ additionalLabels:
+ additionalProperties:
+ type: string
+ type: object
+ honorLabels:
+ type: boolean
+ metricRelabelings:
+ items:
+ properties:
+ action:
+ type: string
+ modulus:
+ format: int64
+ type: integer
+ regex:
+ type: string
+ replacement:
+ type: string
+ separator:
+ type: string
+ sourceLabels:
+ items:
+ type: string
+ type: array
+ targetLabel:
+ type: string
+ type: object
+ type: array
+ relabelings:
+ items:
+ properties:
+ action:
+ type: string
+ modulus:
+ format: int64
+ type: integer
+ regex:
+ type: string
+ replacement:
+ type: string
+ separator:
+ type: string
+ sourceLabels:
+ items:
+ type: string
+ type: array
+ targetLabel:
+ type: string
+ type: object
+ type: array
+ scheme:
+ type: string
+ tlsConfig:
+ properties:
+ ca:
+ properties:
+ configMap:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ secret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ caFile:
+ type: string
+ cert:
+ properties:
+ configMap:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ secret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ certFile:
+ type: string
+ insecureSkipVerify:
+ type: boolean
+ keyFile:
+ type: string
+ keySecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ serverName:
+ type: string
+ type: object
+ type: object
+ timeout:
+ type: string
+ type: object
+ configCheckAnnotations:
+ additionalProperties:
+ type: string
+ type: object
+ configCheckResources:
+ 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
+ configReloaderImage:
+ properties:
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ pullPolicy:
+ type: string
+ repository:
+ type: string
+ tag:
+ type: string
+ type: object
+ configReloaderResources:
+ 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
+ disablePvc:
+ type: boolean
+ dnsConfig:
+ properties:
+ nameservers:
+ items:
+ type: string
+ type: array
+ options:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ searches:
+ items:
+ type: string
+ type: array
+ type: object
+ dnsPolicy:
+ type: string
+ envVars:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ 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
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ extraVolumes:
+ items:
+ properties:
+ containerName:
+ type: string
+ path:
+ type: string
+ volume:
+ 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
+ host_path:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ pvc:
+ properties:
+ source:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ spec:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ type: object
+ type: object
+ volumeName:
+ type: string
+ type: object
+ type: array
+ fluentLogDestination:
+ type: string
+ fluentOutLogrotate:
+ properties:
+ age:
+ type: string
+ enabled:
+ type: boolean
+ path:
+ type: string
+ size:
+ type: string
+ required:
+ - enabled
+ type: object
+ fluentdPvcSpec:
+ 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
+ host_path:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ pvc:
+ properties:
+ source:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ spec:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ type: object
+ type: object
+ forwardInputConfig:
+ properties:
+ add_tag_prefix:
+ type: string
+ bind:
+ type: string
+ chunk_size_limit:
+ type: string
+ chunk_size_warn_limit:
+ type: string
+ deny_keepalive:
+ type: boolean
+ linger_timeout:
+ type: integer
+ port:
+ type: string
+ resolve_hostname:
+ type: boolean
+ security:
+ properties:
+ allow_anonymous_source:
+ type: boolean
+ self_hostname:
+ type: string
+ shared_key:
+ type: string
+ user_auth:
+ type: boolean
+ required:
+ - self_hostname
+ - shared_key
+ type: object
+ send_keepalive_packet:
+ type: boolean
+ skip_invalid_event:
+ type: boolean
+ source_address_key:
+ type: string
+ sourceHostnameKey:
+ type: string
+ tag:
+ type: string
+ transport:
+ properties:
+ ca_cert_path:
+ type: string
+ ca_path:
+ type: string
+ ca_private_key_passphrase:
+ type: string
+ ca_private_key_path:
+ type: string
+ cert_path:
+ type: string
+ ciphers:
+ type: string
+ client_cert_auth:
+ type: boolean
+ insecure:
+ type: boolean
+ private_key_passphrase:
+ type: string
+ private_key_path:
+ type: string
+ protocol:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ ignoreRepeatedLogInterval:
+ type: string
+ ignoreSameLogInterval:
+ type: string
+ image:
+ properties:
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ pullPolicy:
+ type: string
+ repository:
+ type: string
+ tag:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ livenessDefaultCheck:
+ type: boolean
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ logLevel:
+ type: string
+ metrics:
+ properties:
+ interval:
+ type: string
+ path:
+ type: string
+ port:
+ format: int32
+ type: integer
+ prometheusAnnotations:
+ type: boolean
+ prometheusRules:
+ type: boolean
+ serviceMonitor:
+ type: boolean
+ serviceMonitorConfig:
+ properties:
+ additionalLabels:
+ additionalProperties:
+ type: string
+ type: object
+ honorLabels:
+ type: boolean
+ metricRelabelings:
+ items:
+ properties:
+ action:
+ type: string
+ modulus:
+ format: int64
+ type: integer
+ regex:
+ type: string
+ replacement:
+ type: string
+ separator:
+ type: string
+ sourceLabels:
+ items:
+ type: string
+ type: array
+ targetLabel:
+ type: string
+ type: object
+ type: array
+ relabelings:
+ items:
+ properties:
+ action:
+ type: string
+ modulus:
+ format: int64
+ type: integer
+ regex:
+ type: string
+ replacement:
+ type: string
+ separator:
+ type: string
+ sourceLabels:
+ items:
+ type: string
+ type: array
+ targetLabel:
+ type: string
+ type: object
+ type: array
+ scheme:
+ type: string
+ tlsConfig:
+ properties:
+ ca:
+ properties:
+ configMap:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ secret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ caFile:
+ type: string
+ cert:
+ properties:
+ configMap:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ secret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ certFile:
+ type: string
+ insecureSkipVerify:
+ type: boolean
+ keyFile:
+ type: string
+ keySecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ serverName:
+ type: string
+ type: object
+ type: object
+ timeout:
+ type: string
+ type: object
+ nodeSelector:
+ additionalProperties:
+ type: string
+ type: object
+ podPriorityClassName:
+ type: string
+ port:
+ format: int32
+ type: integer
+ readinessDefaultCheck:
+ properties:
+ bufferFileNumber:
+ type: boolean
+ bufferFileNumberMax:
+ format: int32
+ type: integer
+ bufferFreeSpace:
+ type: boolean
+ bufferFreeSpaceThreshold:
+ format: int32
+ type: integer
+ failureThreshold:
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ format: int32
+ type: integer
+ periodSeconds:
+ format: int32
+ type: integer
+ successThreshold:
+ format: int32
+ type: integer
+ timeoutSeconds:
+ format: int32
+ type: integer
+ type: object
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ rootDir:
+ type: string
+ scaling:
+ properties:
+ drain:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ enabled:
+ type: boolean
+ image:
+ properties:
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ pullPolicy:
+ type: string
+ repository:
+ type: string
+ tag:
+ type: string
+ type: object
+ pauseImage:
+ properties:
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ pullPolicy:
+ type: string
+ repository:
+ type: string
+ tag:
+ type: string
+ type: object
+ type: object
+ podManagementPolicy:
+ type: string
+ replicas:
+ type: integer
+ type: object
+ security:
+ properties:
+ podSecurityContext:
+ properties:
+ fsGroup:
+ format: int64
+ type: integer
+ fsGroupChangePolicy:
+ type: string
+ 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
+ supplementalGroups:
+ items:
+ format: int64
+ type: integer
+ type: array
+ sysctls:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ windowsOptions:
+ properties:
+ gmsaCredentialSpec:
+ type: string
+ gmsaCredentialSpecName:
+ type: string
+ hostProcess:
+ type: boolean
+ runAsUserName:
+ type: string
+ type: object
+ type: object
+ podSecurityPolicyCreate:
+ type: boolean
+ roleBasedAccessControlCreate:
+ type: boolean
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ serviceAccount:
+ type: string
+ type: object
+ serviceAccount:
+ properties:
+ automountServiceAccountToken:
+ type: boolean
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ secrets:
+ items:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ resourceVersion:
+ type: string
+ uid:
+ type: string
+ type: object
+ type: array
+ type: object
+ statefulsetAnnotations:
+ additionalProperties:
+ type: string
+ type: object
+ tls:
+ properties:
+ enabled:
+ type: boolean
+ secretName:
+ type: string
+ sharedKey:
+ type: string
+ required:
+ - enabled
+ type: object
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ maxSkew:
+ format: int32
+ type: integer
+ topologyKey:
+ type: string
+ whenUnsatisfiable:
+ type: string
+ required:
+ - maxSkew
+ - topologyKey
+ - whenUnsatisfiable
+ type: object
+ type: array
+ volumeModImage:
+ properties:
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ pullPolicy:
+ type: string
+ repository:
+ type: string
+ tag:
+ type: string
+ type: object
+ volumeMountChmod:
+ type: boolean
+ workers:
+ format: int32
+ type: integer
+ type: object
+ globalFilters:
+ items:
+ properties:
+ concat:
+ properties:
+ continuous_line_regexp:
+ type: string
+ flush_interval:
+ type: integer
+ keep_partial_key:
+ type: boolean
+ keep_partial_metadata:
+ type: string
+ key:
+ type: string
+ multiline_end_regexp:
+ type: string
+ multiline_start_regexp:
+ type: string
+ n_lines:
+ type: integer
+ partial_key:
+ type: string
+ partial_value:
+ type: string
+ separator:
+ type: string
+ stream_identity_key:
+ type: string
+ timeout_label:
+ type: string
+ use_first_timestamp:
+ type: boolean
+ use_partial_metadata:
+ type: string
+ type: object
+ dedot:
+ properties:
+ de_dot_nested:
+ type: boolean
+ de_dot_separator:
+ type: string
+ type: object
+ detectExceptions:
+ properties:
+ force_line_breaks:
+ type: boolean
+ languages:
+ items:
+ type: string
+ type: array
+ max_bytes:
+ type: integer
+ max_lines:
+ type: integer
+ message:
+ type: string
+ multiline_flush_interval:
+ type: string
+ remove_tag_prefix:
+ type: string
+ stream:
+ type: string
+ type: object
+ elasticsearch_genid:
+ properties:
+ hash_id_key:
+ type: string
+ hash_type:
+ type: string
+ include_tag_in_seed:
+ type: boolean
+ include_time_in_seed:
+ type: boolean
+ record_keys:
+ type: string
+ separator:
+ type: string
+ use_entire_record:
+ type: boolean
+ use_record_as_seed:
+ type: boolean
+ type: object
+ enhanceK8s:
+ properties:
+ api_groups:
+ items:
+ type: string
+ type: array
+ bearer_token_file:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ cache_refresh:
+ type: integer
+ cache_refresh_variation:
+ type: integer
+ cache_size:
+ type: integer
+ cache_ttl:
+ type: integer
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ core_api_versions:
+ items:
+ type: string
+ type: array
+ data_type:
+ type: string
+ in_namespace_path:
+ items:
+ type: string
+ type: array
+ in_pod_path:
+ items:
+ type: string
+ type: array
+ kubernetes_url:
+ type: string
+ secret_dir:
+ type: string
+ ssl_partial_chain:
+ type: boolean
+ verify_ssl:
+ type: boolean
+ type: object
+ geoip:
+ properties:
+ backend_library:
+ type: string
+ geoip_2_database:
+ type: string
+ geoip_database:
+ type: string
+ geoip_lookup_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ skip_adding_null_record:
+ type: boolean
+ type: object
+ grep:
+ properties:
+ and:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ or:
+ items:
+ properties:
+ exclude:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ type: array
+ regexp:
+ items:
+ properties:
+ key:
+ type: string
+ pattern:
+ type: string
+ required:
+ - key
+ - pattern
+ type: object
+ type: array
+ type: object
+ kube_events_timestamp:
+ properties:
+ mapped_time_key:
+ type: string
+ timestamp_fields:
+ items:
+ type: string
+ type: array
+ type: object
+ parser:
+ properties:
+ emit_invalid_record_to_error:
+ type: boolean
+ hash_value_field:
+ type: string
+ inject_key_prefix:
+ type: string
+ key_name:
+ type: string
+ parse:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ parsers:
+ items:
+ properties:
+ custom_pattern_path:
+ type: string
+ delimiter:
+ type: string
+ delimiter_pattern:
+ type: string
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ format_firstline:
+ type: string
+ grok_failure_key:
+ type: string
+ grok_name_key:
+ type: string
+ grok_pattern:
+ type: string
+ grok_patterns:
+ items:
+ properties:
+ keep_time_key:
+ type: boolean
+ name:
+ type: string
+ pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ timezone:
+ type: string
+ required:
+ - pattern
+ type: object
+ type: array
+ keep_time_key:
+ type: boolean
+ keys:
+ type: string
+ label_delimiter:
+ type: string
+ local_time:
+ type: boolean
+ multi_line_start_regexp:
+ type: string
+ multiline:
+ items:
+ type: string
+ type: array
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ patterns:
+ items:
+ properties:
+ estimate_current_event:
+ type: boolean
+ expression:
+ type: string
+ format:
+ type: string
+ keep_time_key:
+ type: boolean
+ local_time:
+ type: boolean
+ null_empty_string:
+ type: boolean
+ null_value_pattern:
+ type: string
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ time_format:
+ type: string
+ time_key:
+ type: string
+ time_type:
+ type: string
+ timezone:
+ type: string
+ type:
+ type: string
+ types:
+ type: string
+ utc:
+ type: boolean
+ type: object
+ type: array
+ remove_key_name_field:
+ type: boolean
+ replace_invalid_sequence:
+ type: boolean
+ reserve_data:
+ type: boolean
+ reserve_time:
+ type: boolean
+ type: object
+ prometheus:
+ properties:
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ metrics:
+ items:
+ properties:
+ buckets:
+ type: string
+ desc:
+ type: string
+ key:
+ type: string
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ type:
+ type: string
+ required:
+ - desc
+ - name
+ - type
+ type: object
+ type: array
+ type: object
+ record_modifier:
+ properties:
+ char_encoding:
+ type: string
+ prepare_value:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ replaces:
+ items:
+ properties:
+ expression:
+ type: string
+ key:
+ type: string
+ replace:
+ type: string
+ required:
+ - expression
+ - key
+ - replace
+ type: object
+ type: array
+ whitelist_keys:
+ type: string
+ type: object
+ record_transformer:
+ properties:
+ auto_typecast:
+ type: boolean
+ enable_ruby:
+ type: boolean
+ keep_keys:
+ type: string
+ records:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ remove_keys:
+ type: string
+ renew_record:
+ type: boolean
+ renew_time_key:
+ type: string
+ type: object
+ stdout:
+ properties:
+ output_type:
+ type: string
+ type: object
+ sumologic:
+ properties:
+ collector_key_name:
+ type: string
+ collector_value:
+ type: string
+ exclude_container_regex:
+ type: string
+ exclude_facility_regex:
+ type: string
+ exclude_host_regex:
+ type: string
+ exclude_namespace_regex:
+ type: string
+ exclude_pod_regex:
+ type: string
+ exclude_priority_regex:
+ type: string
+ exclude_unit_regex:
+ type: string
+ log_format:
+ type: string
+ source_category:
+ type: string
+ source_category_key_name:
+ type: string
+ source_category_prefix:
+ type: string
+ source_category_replace_dash:
+ type: string
+ source_host:
+ type: string
+ source_host_key_name:
+ type: string
+ source_name:
+ type: string
+ source_name_key_name:
+ type: string
+ tracing_annotation_prefix:
+ type: string
+ tracing_container_name:
+ type: string
+ tracing_format:
+ type: boolean
+ tracing_host:
+ type: string
+ tracing_label_prefix:
+ type: string
+ tracing_namespace:
+ type: string
+ tracing_pod:
+ type: string
+ tracing_pod_id:
+ type: string
+ type: object
+ tag_normaliser:
+ properties:
+ format:
+ type: string
+ type: object
+ throttle:
+ properties:
+ group_bucket_limit:
+ type: integer
+ group_bucket_period_s:
+ type: integer
+ group_drop_logs:
+ type: boolean
+ group_key:
+ type: string
+ group_reset_rate_s:
+ type: integer
+ group_warning_delay_s:
+ type: integer
+ type: object
+ type: object
+ type: array
+ loggingRef:
+ type: string
+ nodeAgents:
+ items:
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ name:
+ type: string
+ nodeAgentFluentbit:
+ properties:
+ bufferStorage:
+ properties:
+ storage.backlog.mem_limit:
+ type: string
+ storage.checksum:
+ type: string
+ storage.path:
+ type: string
+ storage.sync:
+ type: string
+ type: object
+ bufferStorageVolume:
+ 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
+ host_path:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ pvc:
+ properties:
+ source:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ spec:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ type: object
+ type: object
+ containersPath:
+ type: string
+ coroStackSize:
+ format: int32
+ type: integer
+ customConfigSecret:
+ type: string
+ daemonSet:
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ spec:
+ properties:
+ minReadySeconds:
+ format: int32
+ type: integer
+ revisionHistoryLimit:
+ format: int32
+ type: integer
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ template:
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ spec:
+ properties:
+ activeDeadlineSeconds:
+ format: int64
+ type: integer
+ affinity:
+ properties:
+ nodeAffinity:
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ preference:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - preference
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ properties:
+ nodeSelectorTerms:
+ items:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaceSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ namespaces:
+ items:
+ type: string
+ type: array
+ topologyKey:
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ type: object
+ automountServiceAccountToken:
+ type: boolean
+ containers:
+ items:
+ properties:
+ args:
+ items:
+ type: string
+ type: array
+ command:
+ items:
+ type: string
+ type: array
+ env:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ 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
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ type: object
+ type: array
+ image:
+ type: string
+ imagePullPolicy:
+ type: string
+ lifecycle:
+ properties:
+ postStart:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ required:
+ - port
+ 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
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ required:
+ - port
+ 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
+ type: object
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ workingDir:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ dnsConfig:
+ properties:
+ nameservers:
+ items:
+ type: string
+ type: array
+ options:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ searches:
+ items:
+ type: string
+ type: array
+ type: object
+ dnsPolicy:
+ type: string
+ enableServiceLinks:
+ type: boolean
+ ephemeralContainers:
+ items:
+ properties:
+ args:
+ items:
+ type: string
+ type: array
+ command:
+ items:
+ type: string
+ type: array
+ env:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ 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
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ type: object
+ type: array
+ image:
+ type: string
+ imagePullPolicy:
+ type: string
+ lifecycle:
+ properties:
+ postStart:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ required:
+ - port
+ 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
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ required:
+ - port
+ 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
+ type: object
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ targetContainerName:
+ type: string
+ 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
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ workingDir:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ hostAliases:
+ items:
+ properties:
+ hostnames:
+ items:
+ type: string
+ type: array
+ ip:
+ type: string
+ type: object
+ type: array
+ hostIPC:
+ type: boolean
+ hostNetwork:
+ type: boolean
+ hostPID:
+ type: boolean
+ hostname:
+ type: string
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ initContainers:
+ items:
+ properties:
+ args:
+ items:
+ type: string
+ type: array
+ command:
+ items:
+ type: string
+ type: array
+ env:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ 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
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ type: object
+ type: array
+ image:
+ type: string
+ imagePullPolicy:
+ type: string
+ lifecycle:
+ properties:
+ postStart:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ required:
+ - port
+ 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
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ required:
+ - port
+ 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
+ type: object
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ 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
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ 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
+ 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
+ volumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ workingDir:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ nodeName:
+ type: string
+ nodeSelector:
+ additionalProperties:
+ type: string
+ type: object
+ overhead:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ preemptionPolicy:
+ type: string
+ priority:
+ format: int32
+ type: integer
+ priorityClassName:
+ type: string
+ readinessGates:
+ items:
+ properties:
+ conditionType:
+ type: string
+ required:
+ - conditionType
+ type: object
+ type: array
+ restartPolicy:
+ type: string
+ runtimeClassName:
+ type: string
+ schedulerName:
+ type: string
+ securityContext:
+ properties:
+ fsGroup:
+ format: int64
+ type: integer
+ fsGroupChangePolicy:
+ type: string
+ 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
+ supplementalGroups:
+ items:
+ format: int64
+ type: integer
+ type: array
+ sysctls:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ windowsOptions:
+ properties:
+ gmsaCredentialSpec:
+ type: string
+ gmsaCredentialSpecName:
+ type: string
+ hostProcess:
+ type: boolean
+ runAsUserName:
+ type: string
+ type: object
+ type: object
+ serviceAccountName:
+ type: string
+ setHostnameAsFQDN:
+ type: boolean
+ shareProcessNamespace:
+ type: boolean
+ subdomain:
+ 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:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ maxSkew:
+ format: int32
+ type: integer
+ topologyKey:
+ type: string
+ whenUnsatisfiable:
+ type: string
+ required:
+ - maxSkew
+ - topologyKey
+ - whenUnsatisfiable
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - topologyKey
+ - whenUnsatisfiable
+ x-kubernetes-list-type: map
+ 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:
+ type: string
+ kind:
+ type: string
+ readOnly:
+ 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
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ secretFile:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ user:
+ type: string
+ required:
+ - monitors
+ type: object
+ cinder:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ csi:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ nodePublishSecretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ 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
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ 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
+ wwids:
+ items:
+ type: string
+ type: array
+ type: object
+ flexVolume:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ options:
+ additionalProperties:
+ type: string
+ type: object
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ iscsi:
+ properties:
+ chapAuthDiscovery:
+ type: boolean
+ chapAuthSession:
+ type: boolean
+ fsType:
+ type: string
+ initiatorName:
+ type: string
+ iqn:
+ type: string
+ iscsiInterface:
+ type: string
+ lun:
+ format: int32
+ type: integer
+ portals:
+ items:
+ type: string
+ type: array
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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:
+ configMap:
+ properties:
+ items:
+ items:
+ properties:
+ key:
+ type: string
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ required:
+ - key
+ - path
+ type: object
+ type: array
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ downwardAPI:
+ properties:
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ 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
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ serviceAccountToken:
+ properties:
+ audience:
+ type: string
+ expirationSeconds:
+ format: int64
+ type: integer
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ type: object
+ type: array
+ 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:
+ type: string
+ monitors:
+ items:
+ type: string
+ type: array
+ pool:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ user:
+ type: string
+ required:
+ - image
+ - monitors
+ type: object
+ scaleIO:
+ properties:
+ fsType:
+ type: string
+ gateway:
+ type: string
+ protectionDomain:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ sslEnabled:
+ type: boolean
+ storageMode:
+ 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
+ optional:
+ type: boolean
+ secretName:
+ type: string
+ type: object
+ storageos:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ 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
+ updateStrategy:
+ properties:
+ 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
+ type:
+ type: string
+ type: object
+ type: object
+ type: object
+ disableKubernetesFilter:
+ type: boolean
+ enableUpstream:
+ type: boolean
+ enabled:
+ type: boolean
+ extraVolumeMounts:
+ items:
+ properties:
+ destination:
+ pattern: ^/.+$
+ type: string
+ readOnly:
+ type: boolean
+ source:
+ pattern: ^/.+$
+ type: string
+ required:
+ - destination
+ - source
+ type: object
+ type: array
+ filterAws:
+ properties:
+ Match:
+ type: string
+ account_id:
+ type: boolean
+ ami_id:
+ type: boolean
+ az:
+ type: boolean
+ ec2_instance_id:
+ type: boolean
+ ec2_instance_type:
+ type: boolean
+ hostname:
+ type: boolean
+ imds_version:
+ type: string
+ private_ip:
+ type: boolean
+ vpc_id:
+ type: boolean
+ type: object
+ filterKubernetes:
+ properties:
+ Annotations:
+ type: string
+ Buffer_Size:
+ type: string
+ Cache_Use_Docker_Id:
+ type: string
+ DNS_Retries:
+ type: string
+ DNS_Wait_Time:
+ type: string
+ Dummy_Meta:
+ type: string
+ K8S-Logging.Exclude:
+ type: string
+ K8S-Logging.Parser:
+ type: string
+ Keep_Log:
+ type: string
+ Kube_CA_File:
+ type: string
+ Kube_CA_Path:
+ type: string
+ Kube_Tag_Prefix:
+ type: string
+ Kube_Token_File:
+ type: string
+ Kube_URL:
+ type: string
+ Kube_meta_preload_cache_dir:
+ type: string
+ Kubelet_Port:
+ type: string
+ Labels:
+ type: string
+ Match:
+ type: string
+ Merge_Log:
+ type: string
+ Merge_Log_Key:
+ type: string
+ Merge_Log_Trim:
+ type: string
+ Merge_Parser:
+ type: string
+ Regex_Parser:
+ type: string
+ Use_Journal:
+ type: string
+ Use_Kubelet:
+ type: string
+ tls.debug:
+ type: string
+ tls.verify:
+ type: string
+ type: object
+ flush:
+ format: int32
+ type: integer
+ forwardOptions:
+ properties:
+ Require_ack_response:
+ type: boolean
+ Retry_Limit:
+ type: string
+ Send_options:
+ type: boolean
+ Tag:
+ type: string
+ Time_as_Integer:
+ type: boolean
+ storage.total_limit_size:
+ type: string
+ type: object
+ grace:
+ format: int32
+ type: integer
+ inputTail:
+ properties:
+ Buffer_Chunk_Size:
+ type: string
+ Buffer_Max_Size:
+ type: string
+ DB:
+ type: string
+ DB_Sync:
+ type: string
+ Docker_Mode:
+ type: string
+ Docker_Mode_Flush:
+ type: string
+ Docker_Mode_Parser:
+ type: string
+ Exclude_Path:
+ type: string
+ Ignore_Older:
+ type: string
+ Key:
+ type: string
+ Mem_Buf_Limit:
+ type: string
+ Multiline:
+ type: string
+ Multiline_Flush:
+ type: string
+ Parser:
+ type: string
+ Parser_Firstline:
+ type: string
+ Parser_N:
+ items:
+ type: string
+ type: array
+ Path:
+ type: string
+ Path_Key:
+ type: string
+ Read_From_Head:
+ type: boolean
+ Refresh_Interval:
+ type: string
+ Rotate_Wait:
+ type: string
+ Skip_Long_Lines:
+ type: string
+ Tag:
+ type: string
+ Tag_Regex:
+ type: string
+ multiline.parser:
+ items:
+ type: string
+ type: array
+ storage.type:
+ type: string
+ type: object
+ livenessDefaultCheck:
+ type: boolean
+ logLevel:
+ type: string
+ metrics:
+ properties:
+ interval:
+ type: string
+ path:
+ type: string
+ port:
+ format: int32
+ type: integer
+ prometheusAnnotations:
+ type: boolean
+ prometheusRules:
+ type: boolean
+ serviceMonitor:
+ type: boolean
+ serviceMonitorConfig:
+ properties:
+ additionalLabels:
+ additionalProperties:
+ type: string
+ type: object
+ honorLabels:
+ type: boolean
+ metricRelabelings:
+ items:
+ properties:
+ action:
+ type: string
+ modulus:
+ format: int64
+ type: integer
+ regex:
+ type: string
+ replacement:
+ type: string
+ separator:
+ type: string
+ sourceLabels:
+ items:
+ type: string
+ type: array
+ targetLabel:
+ type: string
+ type: object
+ type: array
+ relabelings:
+ items:
+ properties:
+ action:
+ type: string
+ modulus:
+ format: int64
+ type: integer
+ regex:
+ type: string
+ replacement:
+ type: string
+ separator:
+ type: string
+ sourceLabels:
+ items:
+ type: string
+ type: array
+ targetLabel:
+ type: string
+ type: object
+ type: array
+ scheme:
+ type: string
+ tlsConfig:
+ properties:
+ ca:
+ properties:
+ configMap:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ secret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ caFile:
+ type: string
+ cert:
+ properties:
+ configMap:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ secret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ certFile:
+ type: string
+ insecureSkipVerify:
+ type: boolean
+ keyFile:
+ type: string
+ keySecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ serverName:
+ type: string
+ type: object
+ type: object
+ timeout:
+ type: string
+ type: object
+ metricsService:
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ spec:
+ properties:
+ allocateLoadBalancerNodePorts:
+ type: boolean
+ clusterIP:
+ type: string
+ clusterIPs:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ externalIPs:
+ items:
+ type: string
+ type: array
+ 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
+ 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
+ type:
+ type: string
+ type: object
+ type: object
+ network:
+ properties:
+ connectTimeout:
+ format: int32
+ type: integer
+ connectTimeoutLogError:
+ type: boolean
+ dnsMode:
+ type: string
+ dnsPreferIpv4:
+ type: boolean
+ dnsResolver:
+ type: string
+ keepalive:
+ type: boolean
+ keepaliveIdleTimeout:
+ format: int32
+ type: integer
+ keepaliveMaxRecycle:
+ format: int32
+ type: integer
+ sourceAddress:
+ type: string
+ type: object
+ podPriorityClassName:
+ type: string
+ positiondb:
+ 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
+ host_path:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ pvc:
+ properties:
+ source:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ spec:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ 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
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ type: object
+ type: object
+ security:
+ properties:
+ podSecurityContext:
+ properties:
+ fsGroup:
+ format: int64
+ type: integer
+ fsGroupChangePolicy:
+ type: string
+ 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
+ supplementalGroups:
+ items:
+ format: int64
+ type: integer
+ type: array
+ sysctls:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ windowsOptions:
+ properties:
+ gmsaCredentialSpec:
+ type: string
+ gmsaCredentialSpecName:
+ type: string
+ hostProcess:
+ type: boolean
+ runAsUserName:
+ type: string
+ type: object
+ type: object
+ podSecurityPolicyCreate:
+ type: boolean
+ roleBasedAccessControlCreate:
+ type: boolean
+ securityContext:
+ properties:
+ allowPrivilegeEscalation:
+ type: boolean
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ drop:
+ items:
+ type: string
+ type: array
+ 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
+ serviceAccount:
+ type: string
+ type: object
+ serviceAccount:
+ properties:
+ automountServiceAccountToken:
+ type: boolean
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ secrets:
+ items:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ resourceVersion:
+ type: string
+ uid:
+ type: string
+ type: object
+ type: array
+ type: object
+ targetHost:
+ type: string
+ targetPort:
+ format: int32
+ type: integer
+ tls:
+ properties:
+ enabled:
+ type: boolean
+ secretName:
+ type: string
+ sharedKey:
+ type: string
+ required:
+ - enabled
+ type: object
+ varLogsPath:
+ type: string
+ type: object
+ profile:
+ type: string
+ type: object
+ type: array
+ skipInvalidResources:
+ type: boolean
+ watchNamespaces:
+ items:
+ type: string
+ type: array
+ required:
+ - controlNamespace
+ type: object
+ status:
+ properties:
+ configCheckResults:
+ additionalProperties:
+ type: boolean
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_outputs.yaml b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_outputs.yaml
new file mode 100644
index 000000000..6553bc182
--- /dev/null
+++ b/charts/rancher-logging-crd/100.1.4+up3.17.7/templates/logging.banzaicloud.io_outputs.yaml
@@ -0,0 +1,11626 @@
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.5.0
+ creationTimestamp: null
+ name: outputs.logging.banzaicloud.io
+spec:
+ group: logging.banzaicloud.io
+ names:
+ categories:
+ - logging-all
+ kind: Output
+ listKind: OutputList
+ plural: outputs
+ singular: output
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - description: Is the output active?
+ jsonPath: .status.active
+ name: Active
+ type: boolean
+ - description: Number of problems
+ jsonPath: .status.problemsCount
+ name: Problems
+ type: integer
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ awsElasticsearch:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ content_type:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ data_stream_enable:
+ type: boolean
+ data_stream_ilm_name:
+ type: string
+ data_stream_name:
+ type: string
+ data_stream_template_name:
+ type: string
+ default_elasticsearch_version:
+ type: string
+ deflector_alias:
+ type: string
+ enable_ilm:
+ type: boolean
+ endpoint:
+ properties:
+ access_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_arn:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_session_name:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_web_identity_token_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ecs_container_credentials_relative_uri:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ region:
+ type: string
+ secret_access_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ sts_credentials_region:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ url:
+ type: string
+ type: object
+ exception_backup:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ flush_interval:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ ilm_policy:
+ type: string
+ ilm_policy_id:
+ type: string
+ ilm_policy_overwrite:
+ type: boolean
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_prefix:
+ type: string
+ log_es_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_es_version:
+ type: string
+ max_retry_putting_template:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys:
+ type: string
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ rollover_index:
+ type: boolean
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_max_version:
+ type: string
+ ssl_min_version:
+ type: string
+ ssl_verify:
+ type: boolean
+ ssl_version:
+ type: string
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_key:
+ type: string
+ target_type_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ type_name:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_es_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ azurestorage:
+ properties:
+ auto_create_container:
+ type: boolean
+ azure_container:
+ type: string
+ azure_imds_api_version:
+ type: string
+ azure_object_key_format:
+ type: string
+ azure_storage_access_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ azure_storage_account:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ azure_storage_sas_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ format:
+ type: string
+ path:
+ type: string
+ required:
+ - azure_container
+ - azure_storage_account
+ type: object
+ cloudwatch:
+ properties:
+ auto_create_stream:
+ type: boolean
+ aws_instance_profile_credentials_retries:
+ type: integer
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sts_role_arn:
+ type: string
+ aws_sts_session_name:
+ type: string
+ aws_use_sts:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ concurrency:
+ type: integer
+ endpoint:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ http_proxy:
+ type: string
+ include_time_key:
+ type: boolean
+ json_handler:
+ type: string
+ localtime:
+ type: boolean
+ log_group_aws_tags:
+ type: string
+ log_group_aws_tags_key:
+ type: string
+ log_group_name:
+ type: string
+ log_group_name_key:
+ type: string
+ log_rejected_request:
+ type: string
+ log_stream_name:
+ type: string
+ log_stream_name_key:
+ type: string
+ max_events_per_batch:
+ type: integer
+ max_message_length:
+ type: integer
+ message_keys:
+ type: string
+ put_log_events_disable_retry_limit:
+ type: boolean
+ put_log_events_retry_limit:
+ type: integer
+ put_log_events_retry_wait:
+ type: string
+ region:
+ type: string
+ remove_log_group_aws_tags_key:
+ type: string
+ remove_log_group_name_key:
+ type: string
+ remove_log_stream_name_key:
+ type: string
+ remove_retention_in_days:
+ type: string
+ retention_in_days:
+ type: string
+ retention_in_days_key:
+ type: string
+ use_tag_as_group:
+ type: boolean
+ use_tag_as_stream:
+ type: boolean
+ required:
+ - region
+ type: object
+ datadog:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compression_level:
+ type: string
+ dd_hostname:
+ type: string
+ dd_source:
+ type: string
+ dd_sourcecategory:
+ type: string
+ dd_tags:
+ type: string
+ host:
+ type: string
+ include_tag_key:
+ type: boolean
+ max_backoff:
+ type: string
+ max_retries:
+ type: string
+ no_ssl_validation:
+ type: boolean
+ port:
+ type: string
+ service:
+ type: string
+ ssl_port:
+ type: string
+ tag_key:
+ type: string
+ timestamp_key:
+ type: string
+ use_compression:
+ type: boolean
+ use_http:
+ type: boolean
+ use_json:
+ type: boolean
+ use_ssl:
+ type: boolean
+ required:
+ - api_key
+ type: object
+ elasticsearch:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ content_type:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ data_stream_enable:
+ type: boolean
+ data_stream_ilm_name:
+ type: string
+ data_stream_name:
+ type: string
+ data_stream_template_name:
+ type: string
+ default_elasticsearch_version:
+ type: string
+ deflector_alias:
+ type: string
+ enable_ilm:
+ type: boolean
+ exception_backup:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ ilm_policy:
+ type: string
+ ilm_policy_id:
+ type: string
+ ilm_policy_overwrite:
+ type: boolean
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_prefix:
+ type: string
+ log_es_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_es_version:
+ type: string
+ max_retry_putting_template:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys:
+ type: string
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ rollover_index:
+ type: boolean
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_max_version:
+ type: string
+ ssl_min_version:
+ type: string
+ ssl_verify:
+ type: boolean
+ ssl_version:
+ type: string
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_key:
+ type: string
+ target_type_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ type_name:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_es_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ file:
+ properties:
+ add_path_suffix:
+ type: boolean
+ append:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compress:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ path:
+ type: string
+ path_suffix:
+ type: string
+ recompress:
+ type: boolean
+ symlink_path:
+ type: boolean
+ required:
+ - path
+ type: object
+ forward:
+ properties:
+ ack_response_timeout:
+ type: integer
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ connect_timeout:
+ type: integer
+ dns_round_robin:
+ type: boolean
+ expire_dns_cache:
+ type: integer
+ hard_timeout:
+ type: integer
+ heartbeat_interval:
+ type: integer
+ heartbeat_type:
+ type: string
+ ignore_network_errors_at_startup:
+ type: boolean
+ keepalive:
+ type: boolean
+ keepalive_timeout:
+ type: integer
+ phi_failure_detector:
+ type: boolean
+ phi_threshold:
+ type: integer
+ recover_wait:
+ type: integer
+ require_ack_response:
+ type: boolean
+ security:
+ properties:
+ allow_anonymous_source:
+ type: boolean
+ self_hostname:
+ type: string
+ shared_key:
+ type: string
+ user_auth:
+ type: boolean
+ required:
+ - self_hostname
+ - shared_key
+ type: object
+ send_timeout:
+ type: integer
+ servers:
+ items:
+ properties:
+ host:
+ type: string
+ name:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ port:
+ type: integer
+ shared_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ standby:
+ type: boolean
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ weight:
+ type: integer
+ required:
+ - host
+ type: object
+ type: array
+ tls_allow_self_signed_cert:
+ type: boolean
+ tls_cert_logical_store_name:
+ type: string
+ tls_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_cert_thumbprint:
+ type: string
+ tls_cert_use_enterprise_store:
+ type: boolean
+ tls_ciphers:
+ type: string
+ tls_client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_client_private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_client_private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_insecure_mode:
+ type: boolean
+ tls_verify_hostname:
+ type: boolean
+ tls_version:
+ type: string
+ transport:
+ type: string
+ verify_connection_at_startup:
+ type: boolean
+ required:
+ - servers
+ type: object
+ gcs:
+ properties:
+ acl:
+ type: string
+ auto_create_bucket:
+ type: boolean
+ bucket:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_retries:
+ type: integer
+ client_timeout:
+ type: integer
+ credentials_json:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ encryption_key:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hex_random_length:
+ type: integer
+ keyfile:
+ type: string
+ object_key_format:
+ type: string
+ object_metadata:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - value
+ type: object
+ type: array
+ overwrite:
+ type: boolean
+ path:
+ type: string
+ project:
+ type: string
+ storage_class:
+ type: string
+ store_as:
+ type: string
+ transcoding:
+ type: boolean
+ required:
+ - bucket
+ - project
+ type: object
+ gelf:
+ properties:
+ host:
+ type: string
+ port:
+ type: integer
+ protocol:
+ type: string
+ tls:
+ type: boolean
+ tls_options:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - host
+ - port
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required:
+ - password
+ - username
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ content_type:
+ type: string
+ endpoint:
+ type: string
+ error_response_as_unrecoverable:
+ type: boolean
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ headers:
+ additionalProperties:
+ type: string
+ type: object
+ http_method:
+ type: string
+ json_array:
+ type: boolean
+ open_timeout:
+ type: integer
+ proxy:
+ type: string
+ read_timeout:
+ type: integer
+ retryable_response_codes:
+ items:
+ type: integer
+ type: array
+ ssl_timeout:
+ type: integer
+ tls_ca_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_ciphers:
+ type: string
+ tls_client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_verify_mode:
+ type: string
+ tls_version:
+ type: string
+ required:
+ - endpoint
+ type: object
+ kafka:
+ properties:
+ ack_timeout:
+ type: integer
+ brokers:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_id:
+ type: string
+ compression_codec:
+ type: string
+ default_message_key:
+ type: string
+ default_partition_key:
+ type: string
+ default_topic:
+ type: string
+ discard_kafka_delivery_failed:
+ type: boolean
+ exclude_partion_key:
+ type: boolean
+ exclude_topic_key:
+ type: boolean
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ get_kafka_client_log:
+ type: boolean
+ headers:
+ additionalProperties:
+ type: string
+ type: object
+ headers_from_record:
+ additionalProperties:
+ type: string
+ type: object
+ idempotent:
+ type: boolean
+ kafka_agg_max_bytes:
+ type: integer
+ kafka_agg_max_messages:
+ type: integer
+ max_send_retries:
+ type: integer
+ message_key_key:
+ type: string
+ partition_key:
+ type: string
+ partition_key_key:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required_acks:
+ type: integer
+ sasl_over_ssl:
+ type: boolean
+ scram_mechanism:
+ type: string
+ ssl_ca_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_ca_certs_from_system:
+ type: boolean
+ ssl_client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_client_cert_chain:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_client_cert_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_verify_hostname:
+ type: boolean
+ topic_key:
+ type: string
+ use_default_for_unknown_topic:
+ type: boolean
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required:
+ - brokers
+ - format
+ type: object
+ kinesisStream:
+ properties:
+ assume_role_credentials:
+ properties:
+ duration_seconds:
+ type: string
+ external_id:
+ type: string
+ policy:
+ type: string
+ role_arn:
+ type: string
+ role_session_name:
+ type: string
+ required:
+ - role_arn
+ - role_session_name
+ type: object
+ aws_iam_retries:
+ type: integer
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_ses_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ batch_request_max_count:
+ type: integer
+ batch_request_max_size:
+ type: integer
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ partition_key:
+ type: string
+ process_credentials:
+ properties:
+ process:
+ type: string
+ required:
+ - process
+ type: object
+ region:
+ type: string
+ reset_backoff_if_success:
+ type: boolean
+ retries_on_batch_request:
+ type: integer
+ stream_name:
+ type: string
+ required:
+ - stream_name
+ type: object
+ logdna:
+ properties:
+ api_key:
+ type: string
+ app:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ hostname:
+ type: string
+ ingester_domain:
+ type: string
+ ingester_endpoint:
+ type: string
+ request_timeout:
+ type: string
+ tags:
+ type: string
+ required:
+ - api_key
+ - hostname
+ type: object
+ loggingRef:
+ type: string
+ logz:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_limit:
+ type: integer
+ bulk_limit_warning_limit:
+ type: integer
+ endpoint:
+ properties:
+ port:
+ type: integer
+ token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ url:
+ type: string
+ type: object
+ gzip:
+ type: boolean
+ http_idle_timeout:
+ type: integer
+ output_include_tags:
+ type: boolean
+ output_include_time:
+ type: boolean
+ retry_count:
+ type: integer
+ retry_sleep:
+ type: integer
+ required:
+ - endpoint
+ type: object
+ loki:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ ca_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ configure_kubernetes_labels:
+ type: boolean
+ drop_single_key:
+ type: boolean
+ extra_labels:
+ additionalProperties:
+ type: string
+ type: object
+ extract_kubernetes_labels:
+ type: boolean
+ insecure_tls:
+ type: boolean
+ key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ line_format:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ remove_keys:
+ items:
+ type: string
+ type: array
+ tenant:
+ type: string
+ url:
+ type: string
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ type: object
+ newrelic:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ base_uri:
+ type: string
+ license_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ type: object
+ nullout:
+ type: object
+ opensearch:
+ properties:
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ catch_transport_exception_on_retry:
+ type: boolean
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ compression_level:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ default_opensearch_version:
+ type: integer
+ emit_error_for_missing_id:
+ type: boolean
+ emit_error_label_event:
+ type: boolean
+ exception_backup:
+ type: boolean
+ fail_on_detecting_os_version_retry_exceed:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ http_backend_excon_nonblock:
+ type: boolean
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_separator:
+ type: string
+ log_os_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_os_version:
+ type: integer
+ max_retry_putting_template:
+ type: string
+ parent_key:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ selector_class_name:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_verify:
+ type: boolean
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_affinity:
+ type: boolean
+ target_index_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_exclude_timestamp:
+ type: boolean
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ truncate_caches_interval:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ unrecoverable_record_types:
+ type: string
+ use_legacy_template:
+ type: boolean
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_os_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ oss:
+ properties:
+ aaccess_key_secret:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ access_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ auto_create_bucket:
+ type: boolean
+ bucket:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ check_bucket:
+ type: boolean
+ check_object:
+ type: boolean
+ download_crc_enable:
+ type: boolean
+ endpoint:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hex_random_length:
+ type: integer
+ index_format:
+ type: string
+ key_format:
+ type: string
+ open_timeout:
+ type: integer
+ oss_sdk_log_dir:
+ type: string
+ overwrite:
+ type: boolean
+ path:
+ type: string
+ read_timeout:
+ type: integer
+ store_as:
+ type: string
+ upload_crc_enable:
+ type: boolean
+ warn_for_delay:
+ type: string
+ required:
+ - aaccess_key_secret
+ - access_key_id
+ - bucket
+ - endpoint
+ type: object
+ redis:
+ properties:
+ allow_duplicate_key:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ db_number:
+ type: integer
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ host:
+ type: string
+ insert_key_prefix:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ port:
+ type: integer
+ strftime_format:
+ type: string
+ ttl:
+ type: integer
+ type: object
+ s3:
+ properties:
+ acl:
+ type: string
+ assume_role_credentials:
+ properties:
+ duration_seconds:
+ type: string
+ external_id:
+ type: string
+ policy:
+ type: string
+ role_arn:
+ type: string
+ role_session_name:
+ type: string
+ required:
+ - role_arn
+ - role_session_name
+ type: object
+ auto_create_bucket:
+ type: string
+ aws_iam_retries:
+ type: string
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ check_apikey_on_start:
+ type: string
+ check_bucket:
+ type: string
+ check_object:
+ type: string
+ clustername:
+ type: string
+ compress:
+ properties:
+ parquet_compression_codec:
+ type: string
+ parquet_page_size:
+ type: string
+ parquet_row_group_size:
+ type: string
+ record_type:
+ type: string
+ schema_file:
+ type: string
+ schema_type:
+ type: string
+ type: object
+ compute_checksums:
+ type: string
+ enable_transfer_acceleration:
+ type: string
+ force_path_style:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ grant_full_control:
+ type: string
+ grant_read:
+ type: string
+ grant_read_acp:
+ type: string
+ grant_write_acp:
+ type: string
+ hex_random_length:
+ type: string
+ index_format:
+ type: string
+ instance_profile_credentials:
+ properties:
+ http_open_timeout:
+ type: string
+ http_read_timeout:
+ type: string
+ ip_address:
+ type: string
+ port:
+ type: string
+ retries:
+ type: string
+ type: object
+ oneeye_format:
+ type: boolean
+ overwrite:
+ type: string
+ path:
+ type: string
+ proxy_uri:
+ type: string
+ s3_bucket:
+ type: string
+ s3_endpoint:
+ type: string
+ s3_metadata:
+ type: string
+ s3_object_key_format:
+ type: string
+ s3_region:
+ type: string
+ shared_credentials:
+ properties:
+ path:
+ type: string
+ profile_name:
+ type: string
+ type: object
+ signature_version:
+ type: string
+ sse_customer_algorithm:
+ type: string
+ sse_customer_key:
+ type: string
+ sse_customer_key_md5:
+ type: string
+ ssekms_key_id:
+ type: string
+ ssl_verify_peer:
+ type: string
+ storage_class:
+ type: string
+ store_as:
+ type: string
+ use_bundled_cert:
+ type: string
+ use_server_side_encryption:
+ type: string
+ warn_for_delay:
+ type: string
+ required:
+ - s3_bucket
+ type: object
+ splunkHec:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ca_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ coerce_to_utf8:
+ type: boolean
+ data_type:
+ type: string
+ fields:
+ additionalProperties:
+ type: string
+ type: object
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hec_host:
+ type: string
+ hec_port:
+ type: integer
+ hec_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ host:
+ type: string
+ host_key:
+ type: string
+ idle_timeout:
+ type: integer
+ index:
+ type: string
+ index_key:
+ type: string
+ insecure_ssl:
+ type: boolean
+ keep_keys:
+ type: boolean
+ metric_name_key:
+ type: string
+ metric_value_key:
+ type: string
+ metrics_from_event:
+ type: boolean
+ non_utf8_replacement_string:
+ type: string
+ open_timeout:
+ type: integer
+ protocol:
+ type: string
+ read_timeout:
+ type: integer
+ source:
+ type: string
+ source_key:
+ type: string
+ sourcetype:
+ type: string
+ sourcetype_key:
+ type: string
+ ssl_ciphers:
+ type: string
+ required:
+ - hec_host
+ - hec_token
+ type: object
+ sqs:
+ properties:
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ create_queue:
+ type: boolean
+ delay_seconds:
+ type: integer
+ include_tag:
+ type: boolean
+ message_group_id:
+ type: string
+ queue_name:
+ type: string
+ region:
+ type: string
+ sqs_url:
+ type: string
+ tag_property_name:
+ type: string
+ type: object
+ sumologic:
+ properties:
+ add_timestamp:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compress:
+ type: boolean
+ compress_encoding:
+ type: string
+ custom_dimensions:
+ type: string
+ custom_fields:
+ items:
+ type: string
+ type: array
+ data_type:
+ type: string
+ delimiter:
+ type: string
+ disable_cookies:
+ type: boolean
+ endpoint:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ log_format:
+ type: string
+ log_key:
+ type: string
+ metric_data_format:
+ type: string
+ open_timeout:
+ type: integer
+ proxy_uri:
+ type: string
+ source_category:
+ type: string
+ source_host:
+ type: string
+ source_name:
+ type: string
+ source_name_key:
+ type: string
+ sumo_client:
+ type: string
+ timestamp_key:
+ type: string
+ verify_ssl:
+ type: boolean
+ required:
+ - endpoint
+ - source_name
+ type: object
+ syslog:
+ properties:
+ allow_self_signed_cert:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ enable_system_cert_store:
+ type: boolean
+ format:
+ properties:
+ app_name_field:
+ type: string
+ hostname_field:
+ type: string
+ log_field:
+ type: string
+ message_id_field:
+ type: string
+ proc_id_field:
+ type: string
+ rfc6587_message_size:
+ type: boolean
+ structured_data_field:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ fqdn:
+ type: string
+ host:
+ type: string
+ insecure:
+ type: boolean
+ port:
+ type: integer
+ private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ transport:
+ type: string
+ trusted_ca_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ verify_fqdn:
+ type: boolean
+ version:
+ type: string
+ required:
+ - host
+ type: object
+ type: object
+ status:
+ properties:
+ active:
+ type: boolean
+ problems:
+ items:
+ type: string
+ type: array
+ problemsCount:
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ - additionalPrinterColumns:
+ - description: Is the output active?
+ jsonPath: .status.active
+ name: Active
+ type: boolean
+ - description: Number of problems
+ jsonPath: .status.problemsCount
+ name: Problems
+ type: integer
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ awsElasticsearch:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ content_type:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ data_stream_enable:
+ type: boolean
+ data_stream_ilm_name:
+ type: string
+ data_stream_name:
+ type: string
+ data_stream_template_name:
+ type: string
+ default_elasticsearch_version:
+ type: string
+ deflector_alias:
+ type: string
+ enable_ilm:
+ type: boolean
+ endpoint:
+ properties:
+ access_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_arn:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_session_name:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ assume_role_web_identity_token_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ecs_container_credentials_relative_uri:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ region:
+ type: string
+ secret_access_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ sts_credentials_region:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ url:
+ type: string
+ type: object
+ exception_backup:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ flush_interval:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ ilm_policy:
+ type: string
+ ilm_policy_id:
+ type: string
+ ilm_policy_overwrite:
+ type: boolean
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_prefix:
+ type: string
+ log_es_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_es_version:
+ type: string
+ max_retry_putting_template:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys:
+ type: string
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ rollover_index:
+ type: boolean
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_max_version:
+ type: string
+ ssl_min_version:
+ type: string
+ ssl_verify:
+ type: boolean
+ ssl_version:
+ type: string
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_key:
+ type: string
+ target_type_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ type_name:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_es_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ azurestorage:
+ properties:
+ auto_create_container:
+ type: boolean
+ azure_container:
+ type: string
+ azure_imds_api_version:
+ type: string
+ azure_object_key_format:
+ type: string
+ azure_storage_access_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ azure_storage_account:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ azure_storage_sas_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ format:
+ type: string
+ path:
+ type: string
+ required:
+ - azure_container
+ - azure_storage_account
+ type: object
+ cloudwatch:
+ properties:
+ auto_create_stream:
+ type: boolean
+ aws_instance_profile_credentials_retries:
+ type: integer
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sts_role_arn:
+ type: string
+ aws_sts_session_name:
+ type: string
+ aws_use_sts:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ concurrency:
+ type: integer
+ endpoint:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ http_proxy:
+ type: string
+ include_time_key:
+ type: boolean
+ json_handler:
+ type: string
+ localtime:
+ type: boolean
+ log_group_aws_tags:
+ type: string
+ log_group_aws_tags_key:
+ type: string
+ log_group_name:
+ type: string
+ log_group_name_key:
+ type: string
+ log_rejected_request:
+ type: string
+ log_stream_name:
+ type: string
+ log_stream_name_key:
+ type: string
+ max_events_per_batch:
+ type: integer
+ max_message_length:
+ type: integer
+ message_keys:
+ type: string
+ put_log_events_disable_retry_limit:
+ type: boolean
+ put_log_events_retry_limit:
+ type: integer
+ put_log_events_retry_wait:
+ type: string
+ region:
+ type: string
+ remove_log_group_aws_tags_key:
+ type: string
+ remove_log_group_name_key:
+ type: string
+ remove_log_stream_name_key:
+ type: string
+ remove_retention_in_days:
+ type: string
+ retention_in_days:
+ type: string
+ retention_in_days_key:
+ type: string
+ use_tag_as_group:
+ type: boolean
+ use_tag_as_stream:
+ type: boolean
+ required:
+ - region
+ type: object
+ datadog:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compression_level:
+ type: string
+ dd_hostname:
+ type: string
+ dd_source:
+ type: string
+ dd_sourcecategory:
+ type: string
+ dd_tags:
+ type: string
+ host:
+ type: string
+ include_tag_key:
+ type: boolean
+ max_backoff:
+ type: string
+ max_retries:
+ type: string
+ no_ssl_validation:
+ type: boolean
+ port:
+ type: string
+ service:
+ type: string
+ ssl_port:
+ type: string
+ tag_key:
+ type: string
+ timestamp_key:
+ type: string
+ use_compression:
+ type: boolean
+ use_http:
+ type: boolean
+ use_json:
+ type: boolean
+ use_ssl:
+ type: boolean
+ required:
+ - api_key
+ type: object
+ elasticsearch:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ content_type:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ data_stream_enable:
+ type: boolean
+ data_stream_ilm_name:
+ type: string
+ data_stream_name:
+ type: string
+ data_stream_template_name:
+ type: string
+ default_elasticsearch_version:
+ type: string
+ deflector_alias:
+ type: string
+ enable_ilm:
+ type: boolean
+ exception_backup:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ ilm_policy:
+ type: string
+ ilm_policy_id:
+ type: string
+ ilm_policy_overwrite:
+ type: boolean
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_prefix:
+ type: string
+ log_es_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_es_version:
+ type: string
+ max_retry_putting_template:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys:
+ type: string
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ rollover_index:
+ type: boolean
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_max_version:
+ type: string
+ ssl_min_version:
+ type: string
+ ssl_verify:
+ type: boolean
+ ssl_version:
+ type: string
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_key:
+ type: string
+ target_type_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ type_name:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_es_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ file:
+ properties:
+ add_path_suffix:
+ type: boolean
+ append:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compress:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ path:
+ type: string
+ path_suffix:
+ type: string
+ recompress:
+ type: boolean
+ symlink_path:
+ type: boolean
+ required:
+ - path
+ type: object
+ forward:
+ properties:
+ ack_response_timeout:
+ type: integer
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ connect_timeout:
+ type: integer
+ dns_round_robin:
+ type: boolean
+ expire_dns_cache:
+ type: integer
+ hard_timeout:
+ type: integer
+ heartbeat_interval:
+ type: integer
+ heartbeat_type:
+ type: string
+ ignore_network_errors_at_startup:
+ type: boolean
+ keepalive:
+ type: boolean
+ keepalive_timeout:
+ type: integer
+ phi_failure_detector:
+ type: boolean
+ phi_threshold:
+ type: integer
+ recover_wait:
+ type: integer
+ require_ack_response:
+ type: boolean
+ security:
+ properties:
+ allow_anonymous_source:
+ type: boolean
+ self_hostname:
+ type: string
+ shared_key:
+ type: string
+ user_auth:
+ type: boolean
+ required:
+ - self_hostname
+ - shared_key
+ type: object
+ send_timeout:
+ type: integer
+ servers:
+ items:
+ properties:
+ host:
+ type: string
+ name:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ port:
+ type: integer
+ shared_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ standby:
+ type: boolean
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ weight:
+ type: integer
+ required:
+ - host
+ type: object
+ type: array
+ tls_allow_self_signed_cert:
+ type: boolean
+ tls_cert_logical_store_name:
+ type: string
+ tls_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_cert_thumbprint:
+ type: string
+ tls_cert_use_enterprise_store:
+ type: boolean
+ tls_ciphers:
+ type: string
+ tls_client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_client_private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_client_private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_insecure_mode:
+ type: boolean
+ tls_verify_hostname:
+ type: boolean
+ tls_version:
+ type: string
+ transport:
+ type: string
+ verify_connection_at_startup:
+ type: boolean
+ required:
+ - servers
+ type: object
+ gcs:
+ properties:
+ acl:
+ type: string
+ auto_create_bucket:
+ type: boolean
+ bucket:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_retries:
+ type: integer
+ client_timeout:
+ type: integer
+ credentials_json:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ encryption_key:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hex_random_length:
+ type: integer
+ keyfile:
+ type: string
+ object_key_format:
+ type: string
+ object_metadata:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ - value
+ type: object
+ type: array
+ overwrite:
+ type: boolean
+ path:
+ type: string
+ project:
+ type: string
+ storage_class:
+ type: string
+ store_as:
+ type: string
+ transcoding:
+ type: boolean
+ required:
+ - bucket
+ - project
+ type: object
+ gelf:
+ properties:
+ host:
+ type: string
+ port:
+ type: integer
+ protocol:
+ type: string
+ tls:
+ type: boolean
+ tls_options:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - host
+ - port
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required:
+ - password
+ - username
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ content_type:
+ type: string
+ endpoint:
+ type: string
+ error_response_as_unrecoverable:
+ type: boolean
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ headers:
+ additionalProperties:
+ type: string
+ type: object
+ http_method:
+ type: string
+ json_array:
+ type: boolean
+ open_timeout:
+ type: integer
+ proxy:
+ type: string
+ read_timeout:
+ type: integer
+ retryable_response_codes:
+ items:
+ type: integer
+ type: array
+ ssl_timeout:
+ type: integer
+ tls_ca_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_ciphers:
+ type: string
+ tls_client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ tls_verify_mode:
+ type: string
+ tls_version:
+ type: string
+ required:
+ - endpoint
+ type: object
+ kafka:
+ properties:
+ ack_timeout:
+ type: integer
+ brokers:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_id:
+ type: string
+ compression_codec:
+ type: string
+ default_message_key:
+ type: string
+ default_partition_key:
+ type: string
+ default_topic:
+ type: string
+ discard_kafka_delivery_failed:
+ type: boolean
+ exclude_partion_key:
+ type: boolean
+ exclude_topic_key:
+ type: boolean
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ get_kafka_client_log:
+ type: boolean
+ headers:
+ additionalProperties:
+ type: string
+ type: object
+ headers_from_record:
+ additionalProperties:
+ type: string
+ type: object
+ idempotent:
+ type: boolean
+ kafka_agg_max_bytes:
+ type: integer
+ kafka_agg_max_messages:
+ type: integer
+ max_send_retries:
+ type: integer
+ message_key_key:
+ type: string
+ partition_key:
+ type: string
+ partition_key_key:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required_acks:
+ type: integer
+ sasl_over_ssl:
+ type: boolean
+ scram_mechanism:
+ type: string
+ ssl_ca_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_ca_certs_from_system:
+ type: boolean
+ ssl_client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_client_cert_chain:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_client_cert_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ssl_verify_hostname:
+ type: boolean
+ topic_key:
+ type: string
+ use_default_for_unknown_topic:
+ type: boolean
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ required:
+ - brokers
+ - format
+ type: object
+ kinesisStream:
+ properties:
+ assume_role_credentials:
+ properties:
+ duration_seconds:
+ type: string
+ external_id:
+ type: string
+ policy:
+ type: string
+ role_arn:
+ type: string
+ role_session_name:
+ type: string
+ required:
+ - role_arn
+ - role_session_name
+ type: object
+ aws_iam_retries:
+ type: integer
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_ses_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ batch_request_max_count:
+ type: integer
+ batch_request_max_size:
+ type: integer
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ partition_key:
+ type: string
+ process_credentials:
+ properties:
+ process:
+ type: string
+ required:
+ - process
+ type: object
+ region:
+ type: string
+ reset_backoff_if_success:
+ type: boolean
+ retries_on_batch_request:
+ type: integer
+ stream_name:
+ type: string
+ required:
+ - stream_name
+ type: object
+ logdna:
+ properties:
+ api_key:
+ type: string
+ app:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ hostname:
+ type: string
+ ingester_domain:
+ type: string
+ ingester_endpoint:
+ type: string
+ request_timeout:
+ type: string
+ tags:
+ type: string
+ required:
+ - api_key
+ - hostname
+ type: object
+ loggingRef:
+ type: string
+ logz:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_limit:
+ type: integer
+ bulk_limit_warning_limit:
+ type: integer
+ endpoint:
+ properties:
+ port:
+ type: integer
+ token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ url:
+ type: string
+ type: object
+ gzip:
+ type: boolean
+ http_idle_timeout:
+ type: integer
+ output_include_tags:
+ type: boolean
+ output_include_time:
+ type: boolean
+ retry_count:
+ type: integer
+ retry_sleep:
+ type: integer
+ required:
+ - endpoint
+ type: object
+ loki:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ ca_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ configure_kubernetes_labels:
+ type: boolean
+ drop_single_key:
+ type: boolean
+ extra_labels:
+ additionalProperties:
+ type: string
+ type: object
+ extract_kubernetes_labels:
+ type: boolean
+ insecure_tls:
+ type: boolean
+ key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ line_format:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ remove_keys:
+ items:
+ type: string
+ type: array
+ tenant:
+ type: string
+ url:
+ type: string
+ username:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ type: object
+ newrelic:
+ properties:
+ api_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ base_uri:
+ type: string
+ license_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ type: object
+ nullout:
+ type: object
+ opensearch:
+ properties:
+ application_name:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ bulk_message_request_threshold:
+ type: string
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ catch_transport_exception_on_retry:
+ type: boolean
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key_pass:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ compression_level:
+ type: string
+ custom_headers:
+ type: string
+ customize_template:
+ type: string
+ default_opensearch_version:
+ type: integer
+ emit_error_for_missing_id:
+ type: boolean
+ emit_error_label_event:
+ type: boolean
+ exception_backup:
+ type: boolean
+ fail_on_detecting_os_version_retry_exceed:
+ type: boolean
+ fail_on_putting_template_retry_exceed:
+ type: boolean
+ flatten_hashes:
+ type: boolean
+ flatten_hashes_separator:
+ type: string
+ host:
+ type: string
+ hosts:
+ type: string
+ http_backend:
+ type: string
+ http_backend_excon_nonblock:
+ type: boolean
+ id_key:
+ type: string
+ ignore_exceptions:
+ type: string
+ include_index_in_url:
+ type: boolean
+ include_tag_key:
+ type: boolean
+ include_timestamp:
+ type: boolean
+ index_date_pattern:
+ type: string
+ index_name:
+ type: string
+ index_separator:
+ type: string
+ log_os_400_reason:
+ type: boolean
+ logstash_dateformat:
+ type: string
+ logstash_format:
+ type: boolean
+ logstash_prefix:
+ type: string
+ logstash_prefix_separator:
+ type: string
+ max_retry_get_os_version:
+ type: integer
+ max_retry_putting_template:
+ type: string
+ parent_key:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ path:
+ type: string
+ pipeline:
+ type: string
+ port:
+ type: integer
+ prefer_oj_serializer:
+ type: boolean
+ reconnect_on_error:
+ type: boolean
+ reload_after:
+ type: string
+ reload_connections:
+ type: boolean
+ reload_on_failure:
+ type: boolean
+ remove_keys_on_update:
+ type: string
+ remove_keys_on_update_key:
+ type: string
+ request_timeout:
+ type: string
+ resurrect_after:
+ type: string
+ retry_tag:
+ type: string
+ routing_key:
+ type: string
+ scheme:
+ type: string
+ selector_class_name:
+ type: string
+ sniffer_class_name:
+ type: string
+ ssl_verify:
+ type: boolean
+ suppress_doc_wrap:
+ type: boolean
+ suppress_type_name:
+ type: boolean
+ tag_key:
+ type: string
+ target_index_affinity:
+ type: boolean
+ target_index_key:
+ type: string
+ template_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ template_name:
+ type: string
+ template_overwrite:
+ type: boolean
+ templates:
+ type: string
+ time_key:
+ type: string
+ time_key_exclude_timestamp:
+ type: boolean
+ time_key_format:
+ type: string
+ time_parse_error_tag:
+ type: string
+ time_precision:
+ type: string
+ truncate_caches_interval:
+ type: string
+ unrecoverable_error_types:
+ type: string
+ unrecoverable_record_types:
+ type: string
+ use_legacy_template:
+ type: boolean
+ user:
+ type: string
+ utc_index:
+ type: boolean
+ validate_client_version:
+ type: boolean
+ verify_os_version_at_startup:
+ type: boolean
+ with_transporter_log:
+ type: boolean
+ write_operation:
+ type: string
+ type: object
+ oss:
+ properties:
+ aaccess_key_secret:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ access_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ auto_create_bucket:
+ type: boolean
+ bucket:
+ type: string
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ check_bucket:
+ type: boolean
+ check_object:
+ type: boolean
+ download_crc_enable:
+ type: boolean
+ endpoint:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hex_random_length:
+ type: integer
+ index_format:
+ type: string
+ key_format:
+ type: string
+ open_timeout:
+ type: integer
+ oss_sdk_log_dir:
+ type: string
+ overwrite:
+ type: boolean
+ path:
+ type: string
+ read_timeout:
+ type: integer
+ store_as:
+ type: string
+ upload_crc_enable:
+ type: boolean
+ warn_for_delay:
+ type: string
+ required:
+ - aaccess_key_secret
+ - access_key_id
+ - bucket
+ - endpoint
+ type: object
+ redis:
+ properties:
+ allow_duplicate_key:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ db_number:
+ type: integer
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ host:
+ type: string
+ insert_key_prefix:
+ type: string
+ password:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ port:
+ type: integer
+ strftime_format:
+ type: string
+ ttl:
+ type: integer
+ type: object
+ s3:
+ properties:
+ acl:
+ type: string
+ assume_role_credentials:
+ properties:
+ duration_seconds:
+ type: string
+ external_id:
+ type: string
+ policy:
+ type: string
+ role_arn:
+ type: string
+ role_session_name:
+ type: string
+ required:
+ - role_arn
+ - role_session_name
+ type: object
+ auto_create_bucket:
+ type: string
+ aws_iam_retries:
+ type: string
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ check_apikey_on_start:
+ type: string
+ check_bucket:
+ type: string
+ check_object:
+ type: string
+ clustername:
+ type: string
+ compress:
+ properties:
+ parquet_compression_codec:
+ type: string
+ parquet_page_size:
+ type: string
+ parquet_row_group_size:
+ type: string
+ record_type:
+ type: string
+ schema_file:
+ type: string
+ schema_type:
+ type: string
+ type: object
+ compute_checksums:
+ type: string
+ enable_transfer_acceleration:
+ type: string
+ force_path_style:
+ type: string
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ grant_full_control:
+ type: string
+ grant_read:
+ type: string
+ grant_read_acp:
+ type: string
+ grant_write_acp:
+ type: string
+ hex_random_length:
+ type: string
+ index_format:
+ type: string
+ instance_profile_credentials:
+ properties:
+ http_open_timeout:
+ type: string
+ http_read_timeout:
+ type: string
+ ip_address:
+ type: string
+ port:
+ type: string
+ retries:
+ type: string
+ type: object
+ oneeye_format:
+ type: boolean
+ overwrite:
+ type: string
+ path:
+ type: string
+ proxy_uri:
+ type: string
+ s3_bucket:
+ type: string
+ s3_endpoint:
+ type: string
+ s3_metadata:
+ type: string
+ s3_object_key_format:
+ type: string
+ s3_region:
+ type: string
+ shared_credentials:
+ properties:
+ path:
+ type: string
+ profile_name:
+ type: string
+ type: object
+ signature_version:
+ type: string
+ sse_customer_algorithm:
+ type: string
+ sse_customer_key:
+ type: string
+ sse_customer_key_md5:
+ type: string
+ ssekms_key_id:
+ type: string
+ ssl_verify_peer:
+ type: string
+ storage_class:
+ type: string
+ store_as:
+ type: string
+ use_bundled_cert:
+ type: string
+ use_server_side_encryption:
+ type: string
+ warn_for_delay:
+ type: string
+ required:
+ - s3_bucket
+ type: object
+ splunkHec:
+ properties:
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ ca_file:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ ca_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_cert:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ client_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ coerce_to_utf8:
+ type: boolean
+ data_type:
+ type: string
+ fields:
+ additionalProperties:
+ type: string
+ type: object
+ format:
+ properties:
+ add_newline:
+ type: boolean
+ message_key:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ hec_host:
+ type: string
+ hec_port:
+ type: integer
+ hec_token:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ host:
+ type: string
+ host_key:
+ type: string
+ idle_timeout:
+ type: integer
+ index:
+ type: string
+ index_key:
+ type: string
+ insecure_ssl:
+ type: boolean
+ keep_keys:
+ type: boolean
+ metric_name_key:
+ type: string
+ metric_value_key:
+ type: string
+ metrics_from_event:
+ type: boolean
+ non_utf8_replacement_string:
+ type: string
+ open_timeout:
+ type: integer
+ protocol:
+ type: string
+ read_timeout:
+ type: integer
+ source:
+ type: string
+ source_key:
+ type: string
+ sourcetype:
+ type: string
+ sourcetype_key:
+ type: string
+ ssl_ciphers:
+ type: string
+ required:
+ - hec_host
+ - hec_token
+ type: object
+ sqs:
+ properties:
+ aws_key_id:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ aws_sec_key:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ create_queue:
+ type: boolean
+ delay_seconds:
+ type: integer
+ include_tag:
+ type: boolean
+ message_group_id:
+ type: string
+ queue_name:
+ type: string
+ region:
+ type: string
+ sqs_url:
+ type: string
+ tag_property_name:
+ type: string
+ type: object
+ sumologic:
+ properties:
+ add_timestamp:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ compress:
+ type: boolean
+ compress_encoding:
+ type: string
+ custom_dimensions:
+ type: string
+ custom_fields:
+ items:
+ type: string
+ type: array
+ data_type:
+ type: string
+ delimiter:
+ type: string
+ disable_cookies:
+ type: boolean
+ endpoint:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ log_format:
+ type: string
+ log_key:
+ type: string
+ metric_data_format:
+ type: string
+ open_timeout:
+ type: integer
+ proxy_uri:
+ type: string
+ source_category:
+ type: string
+ source_host:
+ type: string
+ source_name:
+ type: string
+ source_name_key:
+ type: string
+ sumo_client:
+ type: string
+ timestamp_key:
+ type: string
+ verify_ssl:
+ type: boolean
+ required:
+ - endpoint
+ - source_name
+ type: object
+ syslog:
+ properties:
+ allow_self_signed_cert:
+ type: boolean
+ buffer:
+ properties:
+ chunk_full_threshold:
+ type: string
+ chunk_limit_records:
+ type: integer
+ chunk_limit_size:
+ type: string
+ compress:
+ type: string
+ delayed_commit_timeout:
+ type: string
+ disable_chunk_backup:
+ type: boolean
+ disabled:
+ type: boolean
+ flush_at_shutdown:
+ type: boolean
+ flush_interval:
+ type: string
+ flush_mode:
+ type: string
+ flush_thread_burst_interval:
+ type: string
+ flush_thread_count:
+ type: integer
+ flush_thread_interval:
+ type: string
+ overflow_action:
+ type: string
+ path:
+ type: string
+ queue_limit_length:
+ type: integer
+ queued_chunks_limit_size:
+ type: integer
+ retry_exponential_backoff_base:
+ type: string
+ retry_forever:
+ type: boolean
+ retry_max_interval:
+ type: string
+ retry_max_times:
+ type: integer
+ retry_randomize:
+ type: boolean
+ retry_secondary_threshold:
+ type: string
+ retry_timeout:
+ type: string
+ retry_type:
+ type: string
+ retry_wait:
+ type: string
+ tags:
+ type: string
+ timekey:
+ type: string
+ timekey_use_utc:
+ type: boolean
+ timekey_wait:
+ type: string
+ timekey_zone:
+ type: string
+ total_limit_size:
+ type: string
+ type:
+ type: string
+ type: object
+ client_cert_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ enable_system_cert_store:
+ type: boolean
+ format:
+ properties:
+ app_name_field:
+ type: string
+ hostname_field:
+ type: string
+ log_field:
+ type: string
+ message_id_field:
+ type: string
+ proc_id_field:
+ type: string
+ rfc6587_message_size:
+ type: boolean
+ structured_data_field:
+ type: string
+ type:
+ enum:
+ - out_file
+ - json
+ - ltsv
+ - csv
+ - msgpack
+ - hash
+ - single_value
+ type: string
+ type: object
+ fqdn:
+ type: string
+ host:
+ type: string
+ insecure:
+ type: boolean
+ port:
+ type: integer
+ private_key_passphrase:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ private_key_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ transport:
+ type: string
+ trusted_ca_path:
+ properties:
+ mountFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ value:
+ type: string
+ valueFrom:
+ properties:
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ verify_fqdn:
+ type: boolean
+ version:
+ type: string
+ required:
+ - host
+ type: object
+ type: object
+ status:
+ properties:
+ active:
+ type: boolean
+ problems:
+ items:
+ type: string
+ type: array
+ problemsCount:
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/.helmignore b/charts/rancher-logging/100.1.4+up3.17.7/.helmignore
new file mode 100644
index 000000000..50af03172
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/.helmignore
@@ -0,0 +1,22 @@
+# 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/
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/Chart.yaml b/charts/rancher-logging/100.1.4+up3.17.7/Chart.yaml
new file mode 100644
index 000000000..a8082da67
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/Chart.yaml
@@ -0,0 +1,25 @@
+annotations:
+ catalog.cattle.io/auto-install: rancher-logging-crd=match
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/deploys-on-os: windows
+ catalog.cattle.io/display-name: Logging
+ catalog.cattle.io/kube-version: '>= 1.16.0-0 < 1.25.0-0'
+ catalog.cattle.io/namespace: cattle-logging-system
+ catalog.cattle.io/permits-os: linux,windows
+ catalog.cattle.io/provides-gvr: logging.banzaicloud.io.clusterflow/v1beta1
+ catalog.cattle.io/rancher-version: '>= 2.6.0-0 < 2.7.0-0'
+ catalog.cattle.io/release-name: rancher-logging
+ catalog.cattle.io/type: cluster-tool
+ catalog.cattle.io/ui-component: logging
+ catalog.cattle.io/upstream-version: 3.17.7
+apiVersion: v1
+appVersion: 3.17.7
+description: Collects and filter logs using highly configurable CRDs. Powered by Banzai
+ Cloud Logging Operator.
+icon: https://charts.rancher.io/assets/logos/logging.svg
+keywords:
+- logging
+- monitoring
+- security
+name: rancher-logging
+version: 100.1.4+up3.17.7
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/README.md b/charts/rancher-logging/100.1.4+up3.17.7/README.md
new file mode 100644
index 000000000..61c537c07
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/README.md
@@ -0,0 +1,132 @@
+
+# Logging operator Chart
+
+[Logging operator](https://github.com/banzaicloud/logging-operator) Managed centralized logging component fluentd and fluent-bit instance on cluster.
+
+## tl;dr:
+
+```bash
+$ helm repo add banzaicloud-stable https://kubernetes-charts.banzaicloud.com
+$ helm repo update
+$ helm install banzaicloud-stable/logging-operator
+```
+
+## Introduction
+
+This chart bootstraps a [Logging Operator](https://github.com/banzaicloud/logging-operator) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
+
+## Prerequisites
+
+- Kubernetes 1.8+ with Beta APIs enabled
+
+## Installing the Chart
+
+To install the chart with the release name `my-release`:
+
+```bash
+$ helm install --name my-release banzaicloud-stable/logging-operator
+```
+
+### CRDs
+Use `createCustomResource=false` with Helm v3 to avoid trying to create CRDs from the `crds` folder and from templates at the same time.
+
+The command deploys **Logging operator** on the Kubernetes cluster with the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
+
+## Uninstalling the Chart
+
+To uninstall/delete the `my-release` deployment:
+
+```bash
+$ helm delete my-release
+```
+
+The command removes all Kubernetes components associated with the chart and deletes the release.
+
+## Configuration
+
+The following tables lists the configurable parameters of the logging-operator chart and their default values.
+
+| Parameter | Description | Default |
+| --------------------------------------------------- | ------------------------------------------------------ |-----------------------------------------------------------------------|
+| `image.repository` | Container image repository | `ghcr.io/banzaicloud/logging-operator` |
+| `image.tag` | Container image tag | `3.17.7` |
+| `image.pullPolicy` | Container pull policy | `IfNotPresent` |
+| `nameOverride` | Override name of app | `` |
+| `fullnameOverride` | Override full name of app | `` |
+| `namespaceOverride` | Override namespace of app | `` |
+| `watchNamespace` | Namespace to watch for LoggingOperator CRD | `` |
+| `rbac.enabled` | Create rbac service account and roles | `true` |
+| `rbac.psp.enabled` | Must be used with `rbac.enabled` true. If true, creates & uses RBAC resources required in the cluster with [Pod Security Policies](https://kubernetes.io/docs/concepts/policy/pod-security-policy/) enabled. | `false` |
+| `priorityClassName` | Operator priorityClassName | `{}` |
+| `affinity` | Node Affinity | `{}` |
+| `resources` | CPU/Memory resource requests/limits | `{}` |
+| `tolerations` | Node Tolerations | `[]` |
+| `nodeSelector` | Define which Nodes the Pods are scheduled on. | `{}` |
+| `podLabels` | Define custom labels for logging-operator pods | `{}` |
+| `annotations` | Define annotations for logging-operator pods | `{}` |
+| `podSecurityContext` | Pod SecurityContext for Logging operator. [More info](https://kubernetes.io/docs/concepts/policy/security-context/) | `{"runAsNonRoot": true, "runAsUser": 1000, "fsGroup": 2000}` |
+| `securityContext` | Container SecurityContext for Logging operator. [More info](https://kubernetes.io/docs/concepts/policy/security-context/) | `{"allowPrivilegeEscalation": false, "readOnlyRootFilesystem": true}` |
+| `createCustomResource` | Create CRDs. | `true` |
+| `monitoring.serviceMonitor.enabled` | Create Prometheus Operator servicemonitor. | `false` |
+| `serviceAccount.annotations` | Define annotations for logging-operator ServiceAccount | `{}` |
+| `global.seLinux.enabled` | Add seLinuxOptions to Logging resources, requires the [rke2-selinux RPM](https://github.com/rancher/rke2-selinux/releases) | `false` |
+
+Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example:
+
+```bash
+$ helm install --name my-release -f values.yaml banzaicloud-stable/logging-operator
+```
+
+> **Tip**: You can use the default [values.yaml](values.yaml)
+
+## Installing Fluentd and Fluent-bit via logging
+
+The previous chart does **not** install `logging` resource to deploy Fluentd and Fluent-bit on cluster. To install them please use the [Logging Operator Logging](https://github.com/banzaicloud/logging-operator/tree/master/charts/logging-operator-logging) chart.
+
+## tl;dr:
+
+```bash
+$ helm repo add banzaicloud-stable https://kubernetes-charts.banzaicloud.com
+$ helm repo update
+$ helm install banzaicloud-stable/logging-operator-logging
+```
+
+## Configuration
+
+The following tables lists the configurable parameters of the logging-operator-logging chart and their default values.
+## tl;dr:
+
+```bash
+$ helm repo add banzaicloud-stable https://kubernetes-charts.banzaicloud.com
+$ helm repo update
+$ helm install banzaicloud-stable/logging-operator-logging
+```
+
+## Configuration
+
+The following tables lists the configurable parameters of the logging-operator-logging chart and their default values.
+
+| Parameter | Description | Default |
+| --------------------------------------------------- | ------------------------------------------------------ |------------------------------------------------------------|
+| `tls.enabled` | Enabled TLS communication between components | true |
+| `tls.fluentdSecretName` | Specified secret name, which contain tls certs | This will overwrite automatic Helm certificate generation. |
+| `tls.fluentbitSecretName` | Specified secret name, which contain tls certs | This will overwrite automatic Helm certificate generation. |
+| `tls.sharedKey` | Shared key between nodes (fluentd-fluentbit) | [autogenerated] |
+| `fluentbit.enabled` | Install fluent-bit | true |
+| `fluentbit.namespace` | Specified fluentbit installation namespace | same as operator namespace |
+| `fluentbit.image.tag` | Fluentbit container image tag | `1.9.3` |
+| `fluentbit.image.repository` | Fluentbit container image repository | `fluent/fluent-bit` |
+| `fluentbit.image.pullPolicy` | Fluentbit container pull policy | `IfNotPresent` |
+| `fluentd.enabled` | Install fluentd | true |
+| `fluentd.image.tag` | Fluentd container image tag | `v1.14.6-alpine-5` |
+| `fluentd.image.repository` | Fluentd container image repository | `ghcr.io/banzaicloud/fluentd` |
+| `fluentd.image.pullPolicy` | Fluentd container pull policy | `IfNotPresent` |
+| `fluentd.volumeModImage.tag` | Fluentd volumeModImage container image tag | `latest` |
+| `fluentd.volumeModImage.repository` | Fluentd volumeModImage container image repository | `busybox` |
+| `fluentd.volumeModImage.pullPolicy` | Fluentd volumeModImage container pull policy | `IfNotPresent` |
+| `fluentd.configReloaderImage.tag` | Fluentd configReloaderImage container image tag | `v0.2.2` |
+| `fluentd.configReloaderImage.repository` | Fluentd configReloaderImage container image repository | `jimmidyson/configmap-reload` |
+| `fluentd.configReloaderImage.pullPolicy` | Fluentd configReloaderImage container pull policy | `IfNotPresent` |
+| `fluentd.fluentdPvcSpec.accessModes` | Fluentd persistence volume access modes | `[ReadWriteOnce]` |
+| `fluentd.fluentdPvcSpec.resources.requests.storage` | Fluentd persistence volume size | `21Gi` |
+| `fluentd.fluentdPvcSpec.storageClassName` | Fluentd persistence volume storageclass | `"""` |
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/app-readme.md b/charts/rancher-logging/100.1.4+up3.17.7/app-readme.md
new file mode 100644
index 000000000..3b4d49310
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/app-readme.md
@@ -0,0 +1,27 @@
+# Rancher Logging
+
+This chart is based off of the upstream [Banzai Logging Operator](https://banzaicloud.com/docs/one-eye/logging-operator/) chart. The chart deploys a logging operator and CRDs, which allows users to configure complex logging pipelines with a few simple custom resources. There are two levels of logging, which allow you to collect all logs in a cluster or from a single namespace.
+
+For more information on how to use the feature, refer to our [docs](https://rancher.com/docs/rancher/v2.x/en/logging/v2.5/).
+
+## Namespace-level logging
+
+To collect logs from a single namespace, users create flows and these flows are connected to outputs or cluster outputs.
+
+## Cluster-level logging
+
+To collect logs from an entire cluster, users create cluster flows and cluster outputs.
+
+## CRDs
+
+- [Cluster Flow](https://banzaicloud.com/docs/one-eye/logging-operator/crds/v1beta1/clusterflow_types/) - A cluster flow is a CRD (`ClusterFlow`) that defines what logs to collect from the entire cluster. The cluster flow must be deployed in the same namespace as the logging operator.
+- [Cluster Output](https://banzaicloud.com/docs/one-eye/logging-operator/crds/v1beta1/clusteroutput_types/) - A cluster output is a CRD (`ClusterOutput`) that defines how to connect to logging providers so they can start collecting logs. The cluster output must be deployed in the same namespace as the logging operator. The convenience of using a cluster output is that either a cluster flow or flow can send logs to those providers without needing to define specific outputs in each namespace for each flow.
+- [Flow](https://banzaicloud.com/docs/one-eye/logging-operator/crds/v1beta1/flow_types/) - A flow is a CRD (`Flow`) that defines what logs to collect from the namespace that it is deployed in.
+- [Output](https://banzaicloud.com/docs/one-eye/logging-operator/crds/v1beta1/output_types/) - An output is a CRD (`Output`) that defines how to connect to logging providers so logs can be sent to the provider.
+
+For more information on how to configure the Helm chart, refer to the Helm README.
+
+## Systemd Configuration
+Some kubernetes distributions log to journald. In order to collect these logs the `systemdLogPath` needs to be defined. While the `/run/log/journal` directory is used by default, some Linux distributions do not default to this path. For example Ubuntu defaults to `/var/log/journal`. To determine your `systemdLogPath` run `cat /etc/systemd/journald.conf | grep -E ^\#?Storage | cut -d"=" -f2` on one of your nodes. If `persistent` is returned your `systemdLogPath` should be `/var/log/journal`. If `volatile` is returned `systemdLogPath` should be `/run/log/journal`. If `auto` is returned check if `/var/log/journal` exists, and if it does then use `/var/log/journal`, otherwise use `/run/log/journal`.
+
+If any value not described here is returned, Rancher Logging will not be able to collect control plane logs. To address this issue set `Storage=volatile` in journald.conf, reboot your machine, and set `systemdLogPath` to `/run/log/journal`.
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/NOTES.txt b/charts/rancher-logging/100.1.4+up3.17.7/templates/NOTES.txt
new file mode 100644
index 000000000..e69de29bb
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/_generic_logging.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/_generic_logging.yaml
new file mode 100644
index 000000000..4389bd951
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/_generic_logging.yaml
@@ -0,0 +1,116 @@
+{{- define "logging-operator.logging.tpl" -}}
+apiVersion: logging.banzaicloud.io/v1beta1
+kind: Logging
+metadata:
+ namespace: {{ .Release.Namespace }}
+ labels:
+{{ include "logging-operator.labels" . | indent 4 }}
+spec:
+ controlNamespace: {{ .Release.Namespace }}
+ fluentbit:
+ image:
+ repository: {{ template "logging-operator.fluentbitImageRepository" . }}
+ tag: {{ template "logging-operator.fluentbitImageTag" . }}
+ {{- if not .Values.disablePvc }}
+ {{- with .Values.fluentbit.bufferStorage }}
+ bufferStorage: {{- toYaml . | nindent 6 }}
+ {{- end }}
+ {{- with .Values.fluentbit.bufferStorageVolume }}
+ bufferStorageVolume: {{- toYaml . | nindent 6 }}
+ {{- end }}
+ {{- end }}
+ {{- if or .Values.global.psp.enabled .Values.global.seLinux.enabled }}
+ security:
+ {{- end }}
+ {{- if .Values.global.psp.enabled }}
+ podSecurityPolicyCreate: true
+ roleBasedAccessControlCreate: true
+ {{- end }}
+ {{- if .Values.global.seLinux.enabled }}
+ securityContext:
+ seLinuxOptions:
+ type: rke_logreader_t
+ {{- end }}
+ {{- if or .Values.fluentbit.inputTail.Buffer_Chunk_Size .Values.fluentbit.inputTail.Buffer_Max_Size .Values.fluentbit.inputTail.Mem_Buf_Limit .Values.fluentbit.inputTail.Multiline_Flush .Values.fluentbit.inputTail.Skip_Long_Lines }}
+ inputTail:
+ {{- if .Values.fluentbit.inputTail.Buffer_Chunk_Size }}
+ Buffer_Chunk_Size: {{ .Values.fluentbit.inputTail.Buffer_Chunk_Size | toString }}
+ {{- end }}
+ {{- if .Values.fluentbit.inputTail.Buffer_Max_Size }}
+ Buffer_Max_Size: {{ .Values.fluentbit.inputTail.Buffer_Max_Size | toString }}
+ {{- end }}
+ {{- if .Values.fluentbit.inputTail.Mem_Buf_Limit }}
+ Mem_Buf_Limit: {{ .Values.fluentbit.inputTail.Mem_Buf_Limit | toString }}
+ {{- end }}
+ {{- if .Values.fluentbit.inputTail.Multiline_Flush }}
+ Multiline_Flush: {{ .Values.fluentbit.inputTail.Multiline_Flush | toString | quote }}
+ {{- end }}
+ {{- if .Values.fluentbit.inputTail.Skip_Long_Lines }}
+ Skip_Long_Lines: {{ .Values.fluentbit.inputTail.Skip_Long_Lines | toString | quote }}
+ {{- end }}
+ {{- end }}
+ {{- with (concat (.Values.tolerations) (.Values.fluentbit.tolerations)) }}
+ tolerations: {{- toYaml . | nindent 6 }}
+ {{- end }}
+ {{- with .Values.nodeSelector }}
+ nodeSelector: {{- toYaml . | nindent 6 }}
+ {{- end }}
+ {{- with .Values.fluentbit.resources }}
+ resources: {{- toYaml . | nindent 6 }}
+ {{- end }}
+ fluentd:
+ image:
+ repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentd.repository }}
+ tag: {{ .Values.images.fluentd.tag }}
+ configReloaderImage:
+ repository: {{ template "system_default_registry" . }}{{ .Values.images.config_reloader.repository }}
+ tag: {{ .Values.images.config_reloader.tag }}
+ {{- with .Values.fluentd.bufferStorageVolume }}
+ bufferStorageVolume: {{- toYaml . | nindent 6 }}
+ {{- end }}
+ disablePvc: {{ .Values.disablePvc }}
+ {{- if .Values.fluentd.replicas }}
+ scaling:
+ replicas: {{ .Values.fluentd.replicas }}
+ {{- end }}
+ {{- if .Values.global.psp.enabled }}
+ security:
+ podSecurityPolicyCreate: true
+ roleBasedAccessControlCreate: true
+ {{- end }}
+ {{- with (default .Values.tolerations .Values.fluentd.tolerations) }}
+ tolerations: {{- toYaml . | nindent 6 }}
+ {{- end }}
+ {{- with (default .Values.nodeSelector .Values.fluentd.nodeSelector) }}
+ nodeSelector: {{- toYaml . | nindent 6 }}
+ {{- end }}
+ {{- with .Values.fluentd.resources }}
+ resources: {{- toYaml . | nindent 6 }}
+ {{- end }}
+ {{- with .Values.fluentd.livenessProbe }}
+ livenessProbe: {{- toYaml . | nindent 6 }}
+ {{- end }}
+{{- end -}}
+
+{{- define "logging-operator.util.merge.logging" -}}
+{{/* Top context to expose fields like `.Release` and `.Values` */}}
+{{- $top := first . -}}
+
+{{/* tpl is the template specific to the logging implementation */}}
+{{- $tpl := fromYaml (include (index . 1) $top) | default (dict ) -}}
+
+{{/* Generic is the shared rancher logging setttings from `_generic_logging.yaml` */}}
+{{- $generic := fromYaml (include (index . 2) $top) | default (dict ) -}}
+
+{{/* values are from the values.yaml */}}
+{{- $values := $top.Values.loggingOverlay | default (dict ) -}}
+
+####### {{$generic}}
+
+{{/* the sources are merge right to left meaning tpl is the highest prcedence and values is the lowest */}}
+{{- toYaml (merge $tpl $values $generic) -}}
+{{- end -}}
+
+{{- define "logging-operator.logging" -}}
+{{- include "logging-operator.util.merge.logging" (append . "logging-operator.logging.tpl") -}}
+{{- end -}}
\ No newline at end of file
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/_helpers.tpl b/charts/rancher-logging/100.1.4+up3.17.7/templates/_helpers.tpl
new file mode 100644
index 000000000..7f070904c
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/_helpers.tpl
@@ -0,0 +1,179 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "logging-operator.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- 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 "logging-operator.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Provides the namespace the chart will be installed in using the builtin .Release.Namespace,
+or, if provided, a manually overwritten namespace value.
+*/}}
+{{- define "logging-operator.namespace" -}}
+{{- if .Values.namespaceOverride -}}
+{{ .Values.namespaceOverride -}}
+{{- else -}}
+{{ .Release.Namespace }}
+{{- end -}}
+{{- end -}}
+
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "logging-operator.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Common labels
+*/}}
+{{- define "logging-operator.labels" -}}
+app.kubernetes.io/name: {{ include "logging-operator.name" . }}
+helm.sh/chart: {{ include "logging-operator.chart" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end -}}
+
+{{- define "system_default_registry" -}}
+{{- if .Values.global.cattle.systemDefaultRegistry -}}
+{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
+{{- else -}}
+{{- "" -}}
+{{- end -}}
+{{- end -}}
+
+{{- define "windowsEnabled" }}
+{{- if not (kindIs "invalid" .Values.global.cattle.windows) }}
+{{- if not (kindIs "invalid" .Values.global.cattle.windows.enabled) }}
+{{- if .Values.global.cattle.windows.enabled }}
+true
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+{{- define "windowsPathPrefix" -}}
+{{- trimSuffix "/" (default "c:\\" .Values.global.cattle.rkeWindowsPathPrefix | replace "\\" "/" | replace "//" "/" | replace "c:" "C:") -}}
+{{- end -}}
+
+{{- define "windowsKubernetesFilter" -}}
+{{- printf "kubernetes.%s" ((include "windowsPathPrefix" .) | replace ":" "" | replace "/" ".") -}}
+{{- end -}}
+
+{{- define "windowsInputTailMount" -}}
+{{- (include "windowsPathPrefix" .) | replace "C:" "" -}}
+{{- end -}}
+
+{{/*
+Set the controlplane selector based on kubernetes distribution
+*/}}
+{{- define "controlplaneSelector" -}}
+{{- $master := or .Values.additionalLoggingSources.rke2.enabled .Values.additionalLoggingSources.k3s.enabled -}}
+{{- $defaultSelector := $master | ternary (dict "node-role.kubernetes.io/master" "true") (dict "node-role.kubernetes.io/controlplane" "true") -}}
+{{ default $defaultSelector .Values.additionalLoggingSources.kubeAudit.nodeSelector | toYaml }}
+{{- end -}}
+
+{{/*
+Set kube-audit file path prefix based on distribution
+*/}}
+{{- define "kubeAuditPathPrefix" -}}
+{{- if .Values.additionalLoggingSources.rke.enabled -}}
+{{ default "/var/log/kube-audit" .Values.additionalLoggingSources.kubeAudit.pathPrefix }}
+{{- else if .Values.additionalLoggingSources.rke2.enabled -}}
+{{ default "/var/lib/rancher/rke2/server/logs" .Values.additionalLoggingSources.kubeAudit.pathPrefix }}
+{{- else -}}
+{{ required "Directory PathPrefix of the kube-audit location is required" .Values.additionalLoggingSources.kubeAudit.pathPrefix }}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Set kube-audit file name based on distribution
+*/}}
+{{- define "kubeAuditFilename" -}}
+{{- if .Values.additionalLoggingSources.rke.enabled -}}
+{{ default "audit-log.json" .Values.additionalLoggingSources.kubeAudit.auditFilename }}
+{{- else if .Values.additionalLoggingSources.rke2.enabled -}}
+{{ default "audit.log" .Values.additionalLoggingSources.kubeAudit.auditFilename }}
+{{- else -}}
+{{ required "Filename of the kube-audit log is required" .Values.additionalLoggingSources.kubeAudit.auditFilename }}
+{{- end -}}
+{{- end -}}
+
+{{/*
+A shared list of custom parsers for the vairous fluentbit pods rancher creates
+*/}}
+{{- define "logging-operator.parsers" -}}
+[PARSER]
+ Name klog
+ Format regex
+ Regex ^(?[IWEF])(?\d{4} \d{2}:\d{2}:\d{2}).\d{6} +?(?\d+) (?.+):(?\d+)] (?.+)
+ Time_Key timestamp
+ Time_Format %m%d %T
+
+[PARSER]
+ Name rancher
+ Format regex
+ Regex ^time="(?.+)" level=(?.+) msg="(?.+)"$
+ Time_Key timestamp
+ Time_Format %FT%H:%M:%S
+[PARSER]
+ Name etcd
+ Format json
+ Time_Key timestamp
+ Time_Format %FT%H:%M:%S.%L
+{{- end -}}
+
+{{/*
+Set kubernetes log options if they are configured
+*/}}
+{{- define "requireFilterKubernetes" -}}
+{{- if or .Values.fluentbit.filterKubernetes.Merge_Log .Values.fluentbit.filterKubernetes.Merge_Log_Key .Values.fluentbit.filterKubernetes.Merge_Trim .Values.fluentbit.filterKubernetes.Merge_Parser -}}
+true
+{{- end -}}
+{{- end -}}
+
+{{/*Fluent Bit Image Repository */}}
+{{- define "logging-operator.fluentbitImageRepository" -}}
+{{- if .Values.debug -}}
+{{ template "system_default_registry" . }}{{ .Values.images.fluentbit_debug.repository }}
+{{- else -}}
+{{ template "system_default_registry" . }}{{ .Values.images.fluentbit.repository }}
+{{- end -}}
+{{- end -}}
+
+{{/*Fluent Bit Image Tag */}}
+{{- define "logging-operator.fluentbitImageTag" -}}
+{{- if .Values.debug -}}
+{{ .Values.images.fluentbit_debug.tag }}
+{{- else -}}
+{{ .Values.images.fluentbit.tag }}
+{{- end -}}
+{{- end -}}
+
+{{/*Fluent Bit Image */}}
+{{- define "logging-operator.fluentbitImage" -}}
+{{ template "logging-operator.fluentbitImageRepository" . }}:{{ template "logging-operator.fluentbitImageTag" . }}
+{{- end -}}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/clusterrole.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/clusterrole.yaml
new file mode 100644
index 000000000..a5d7a85c2
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/clusterrole.yaml
@@ -0,0 +1,318 @@
+{{- if .Values.rbac.enabled }}
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ creationTimestamp: null
+ name: {{ template "logging-operator.fullname" . }}
+rules:
+- apiGroups:
+ - ""
+ resources:
+ - configmaps
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - ""
+ resources:
+ - configmaps
+ - secrets
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - ""
+ resources:
+ - endpoints
+ - namespaces
+ - nodes
+ - nodes/proxy
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - ""
+ resources:
+ - events
+ verbs:
+ - create
+ - get
+ - list
+ - watch
+- apiGroups:
+ - ""
+ resources:
+ - persistentvolumeclaims
+ - pods
+ - serviceaccounts
+ - services
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - ""
+ resources:
+ - serviceaccounts
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - ""
+ - events.k8s.io
+ resources:
+ - events
+ verbs:
+ - create
+ - get
+ - list
+ - watch
+- apiGroups:
+ - apps
+ resources:
+ - daemonsets
+ - replicasets
+ - statefulsets
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - apps
+ - extensions
+ resources:
+ - daemonsets
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - apps
+ - extensions
+ resources:
+ - deployments
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - apps
+ - extensions
+ resources:
+ - statefulsets
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - batch
+ resources:
+ - jobs
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - coordination.k8s.io
+ resources:
+ - leases
+ verbs:
+ - '*'
+- apiGroups:
+ - events.k8s.io
+ resources:
+ - events
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - extensions
+ - networking.k8s.io
+ resources:
+ - ingresses
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - extensions
+ - policy
+ resources:
+ - podsecuritypolicies
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - use
+ - watch
+- apiGroups:
+ - logging-extensions.banzaicloud.io
+ resources:
+ - eventtailers
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - logging-extensions.banzaicloud.io
+ resources:
+ - eventtailers/status
+ verbs:
+ - get
+ - patch
+ - update
+- apiGroups:
+ - logging-extensions.banzaicloud.io
+ resources:
+ - hosttailers
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - logging-extensions.banzaicloud.io
+ resources:
+ - hosttailers/status
+ verbs:
+ - get
+ - patch
+ - update
+- apiGroups:
+ - logging.banzaicloud.io
+ resources:
+ - clusterflows
+ - clusteroutputs
+ - flows
+ - loggings
+ - outputs
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - logging.banzaicloud.io
+ resources:
+ - clusterflows/status
+ - clusteroutputs/status
+ - flows/status
+ - loggings/status
+ - outputs/status
+ verbs:
+ - get
+ - patch
+ - update
+- apiGroups:
+ - monitoring.coreos.com
+ resources:
+ - prometheusrules
+ - servicemonitors
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - rbac.authorization.k8s.io
+ resources:
+ - clusterrolebindings
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - rbac.authorization.k8s.io
+ resources:
+ - clusterrolebindings
+ - clusterroles
+ - rolebindings
+ - roles
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+- apiGroups:
+ - rbac.authorization.k8s.io
+ resources:
+ - clusterroles
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/clusterrolebinding.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/clusterrolebinding.yaml
new file mode 100644
index 000000000..89d17d094
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/clusterrolebinding.yaml
@@ -0,0 +1,18 @@
+{{- if .Values.rbac.enabled }}
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ template "logging-operator.fullname" . }}
+ labels:
+{{ include "logging-operator.labels" . | indent 4 }}
+subjects:
+ - kind: ServiceAccount
+ name: {{ template "logging-operator.fullname" . }}
+ namespace: {{ include "logging-operator.namespace" . }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ template "logging-operator.fullname" . }}
+
+ {{- end }}
\ No newline at end of file
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/crds.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/crds.yaml
new file mode 100644
index 000000000..f573652d0
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/crds.yaml
@@ -0,0 +1,6 @@
+{{- if .Values.createCustomResource -}}
+{{- range $path, $bytes := .Files.Glob "crds/*.yaml" }}
+{{ $.Files.Get $path }}
+---
+{{- end }}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/deployment.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/deployment.yaml
new file mode 100644
index 000000000..ac7312ab4
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/deployment.yaml
@@ -0,0 +1,69 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "logging-operator.fullname" . }}
+ namespace: {{ include "logging-operator.namespace" . }}
+ labels:
+{{ include "logging-operator.labels" . | indent 4 }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: {{ include "logging-operator.name" . }}
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: {{ include "logging-operator.name" . }}
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ {{- with .Values.podLabels }}
+ {{ toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.annotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ {{- if .Values.priorityClassName }}
+ priorityClassName: {{ .Values.priorityClassName }}
+ {{- end }}
+ {{- with .Values.imagePullSecrets }}
+ imagePullSecrets:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ args:
+ {{- range .Values.extraArgs }}
+ - {{ . }}
+ {{- end }}
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ resources:
+ {{- toYaml .Values.resources | nindent 12 }}
+ ports:
+ - name: http
+ containerPort: {{ .Values.http.port }}
+
+ {{- if .Values.securityContext }}
+ securityContext: {{ toYaml .Values.securityContext | nindent 12 }}
+ {{- end }}
+ {{- if .Values.podSecurityContext }}
+ securityContext: {{ toYaml .Values.podSecurityContext | nindent 8 }}
+ {{- end }}
+
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- if .Values.rbac.enabled }}
+ serviceAccountName: {{ include "logging-operator.fullname" . }}
+ {{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/aks/logging.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/aks/logging.yaml
new file mode 100644
index 000000000..54bb73250
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/aks/logging.yaml
@@ -0,0 +1,18 @@
+{{- define "logging-operator.logging.aks" -}}
+{{- $logPath := "/var/log/azure/kubelet-status.log" -}}
+metadata:
+ name: {{ .Release.Name }}-aks
+spec:
+ fluentbit:
+ disableKubernetesFilter: true
+ extraVolumeMounts:
+ - source: {{ $logPath }}
+ destination: {{ $logPath }}
+ readOnly: true
+ inputTail:
+ Tag: "aks"
+ Path: {{ $logPath }}
+{{- end -}}
+{{- if .Values.additionalLoggingSources.aks.enabled }}
+{{- include "logging-operator.logging" (list . "logging-operator.logging.aks") -}}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/eks/logging.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/eks/logging.yaml
new file mode 100644
index 000000000..2ba7860b1
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/eks/logging.yaml
@@ -0,0 +1,19 @@
+{{- define "logging-operator.logging.eks" -}}
+{{- $logPath := "/var/log/messages" -}}
+metadata:
+ name: {{ .Release.Name }}-eks
+spec:
+ fluentbit:
+ disableKubernetesFilter: true
+ extraVolumeMounts:
+ - source: {{ $logPath }}
+ destination: {{ $logPath }}
+ readOnly: true
+ inputTail:
+ Tag: "eks"
+ Path: {{ $logPath }}
+ Parser: "syslog"
+{{- end -}}
+{{- if .Values.additionalLoggingSources.eks.enabled }}
+{{- include "logging-operator.logging" (list . "logging-operator.logging.eks") -}}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/gke/logging.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/gke/logging.yaml
new file mode 100644
index 000000000..6c834b12e
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/gke/logging.yaml
@@ -0,0 +1,18 @@
+{{- define "logging-operator.logging.gke" -}}
+{{- $logPath := "/var/log/kube-proxy.log" -}}
+metadata:
+ name: {{ .Release.Name }}-gke
+spec:
+ fluentbit:
+ disableKubernetesFilter: true
+ extraVolumeMounts:
+ - source: {{ $logPath }}
+ destination: {{ $logPath }}
+ readOnly: true
+ inputTail:
+ Tag: "gke"
+ Path: {{ $logPath }}
+{{- end -}}
+{{- if .Values.additionalLoggingSources.gke.enabled }}
+{{- include "logging-operator.logging" (list . "logging-operator.logging.gke") -}}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/k3s/configmap.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/k3s/configmap.yaml
new file mode 100644
index 000000000..aa454c8ad
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/k3s/configmap.yaml
@@ -0,0 +1,57 @@
+{{- if and .Values.additionalLoggingSources.k3s.enabled (eq .Values.additionalLoggingSources.k3s.container_engine "systemd") }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ .Release.Name }}-k3s
+ labels:
+{{ include "logging-operator.labels" . | indent 4 }}
+data:
+ fluent-bit.conf: |
+ [SERVICE]
+ Flush 1
+ Grace 5
+ Daemon Off
+ Log_Level info
+ Coro_Stack_Size 24576
+ Parsers_File parsers.conf
+
+ [INPUT]
+ Name systemd
+ Tag k3s
+ Path {{ .Values.systemdLogPath }}
+ Systemd_Filter _SYSTEMD_UNIT=k3s.service
+ {{- if .Values.additionalLoggingSources.k3s.stripUnderscores }}
+ Strip_Underscores On
+ {{- end }}
+ Systemd_Filter _SYSTEMD_UNIT=k3s-agent.service
+
+ [FILTER]
+ Name parser
+ Match *
+ Key_Name MESSAGE
+ Parser klog
+ Reserve_Data On
+
+ [FILTER]
+ Name parser
+ Match *
+ Key_Name MESSAGE
+ Parser rancher
+ Reserve_Data On
+
+ [FILTER]
+ Name parser
+ Match *
+ Key_Name MESSAGE
+ Parser etcd
+ Reserve_Data On
+
+ [OUTPUT]
+ Name forward
+ Match *
+ Host {{ .Release.Name }}-root-fluentd.{{ .Release.Namespace }}.svc
+ Port 24240
+ Retry_Limit False
+ parsers.conf: |
+{{ include "logging-operator.parsers" . | indent 4 }}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/k3s/daemonset.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/k3s/daemonset.yaml
new file mode 100644
index 000000000..5b391d15e
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/k3s/daemonset.yaml
@@ -0,0 +1,110 @@
+{{- if and .Values.additionalLoggingSources.k3s.enabled (eq .Values.additionalLoggingSources.k3s.container_engine "systemd") }}
+apiVersion: apps/v1
+kind: DaemonSet
+metadata:
+ name: "{{ .Release.Name }}-k3s-journald-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+spec:
+ selector:
+ matchLabels:
+ name: {{ .Release.Name }}-k3s-journald-aggregator
+ template:
+ metadata:
+ annotations:
+ checksum/config: {{ include (print $.Template.BasePath "/loggings/k3s/configmap.yaml") . | sha256sum }}
+ name: "{{ .Release.Name }}-k3s-journald-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+ labels:
+ name: {{ .Release.Name }}-k3s-journald-aggregator
+ spec:
+ containers:
+ - name: fluentbit
+ image: "{{ template "logging-operator.fluentbitImage" . }}"
+ {{- if .Values.global.seLinux.enabled }}
+ securityContext:
+ seLinuxOptions:
+ type: rke_logreader_t
+ {{- end }}
+ volumeMounts:
+ - mountPath: /fluent-bit/etc/
+ name: config
+ - mountPath: {{ .Values.systemdLogPath | default "/var/log/journal" }}
+ name: journal
+ readOnly: true
+ - mountPath: /etc/machine-id
+ name: machine-id
+ readOnly: true
+ {{- with .Values.tolerations }}
+ tolerations: {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.nodeSelector }}
+ nodeSelector: {{- toYaml . | nindent 8 }}
+ {{- end }}
+ serviceAccountName: "{{ .Release.Name }}-k3s-journald-aggregator"
+ volumes:
+ - name: config
+ configMap:
+ name: "{{ .Release.Name }}-k3s"
+ - name: journal
+ hostPath:
+ path: {{ .Values.systemdLogPath | default "/var/log/journal" }}
+ - name: machine-id
+ hostPath:
+ path: /etc/machine-id
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: "{{ .Release.Name }}-k3s-journald-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+{{- if .Values.global.psp.enabled }}
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: "{{ .Release.Name }}-k3s-journald-aggregator"
+rules:
+ - apiGroups:
+ - policy
+ resourceNames:
+ - "{{ .Release.Name }}-k3s-journald-aggregator"
+ resources:
+ - podsecuritypolicies
+ verbs:
+ - use
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: "{{ .Release.Name }}-k3s-journald-aggregator"
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: "{{ .Release.Name }}-k3s-journald-aggregator"
+subjects:
+ - kind: ServiceAccount
+ name: "{{ .Release.Name }}-k3s-journald-aggregator"
+---
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: "{{ .Release.Name }}-k3s-journald-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+spec:
+ allowPrivilegeEscalation: false
+ fsGroup:
+ rule: RunAsAny
+ readOnlyRootFilesystem: true
+ runAsUser:
+ rule: RunAsAny
+ seLinux:
+ rule: RunAsAny
+ supplementalGroups:
+ rule: RunAsAny
+ volumes:
+ - configMap
+ - emptyDir
+ - secret
+ - hostPath
+{{- end }}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/k3s/logging-k3s-openrc.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/k3s/logging-k3s-openrc.yaml
new file mode 100644
index 000000000..963cf3ac4
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/k3s/logging-k3s-openrc.yaml
@@ -0,0 +1,19 @@
+{{- define "logging-operator.logging.k3s-openrc" -}}
+{{- $logPath := "/var/log/k3s.log" -}}
+metadata:
+ name: {{ .Release.Name }}-k3s
+spec:
+ fluentbit:
+ disableKubernetesFilter: true
+ extraVolumeMounts:
+ - source: {{ $logPath }}
+ destination: {{ $logPath }}
+ readOnly: true
+ inputTail:
+ Tag: "k3s"
+ Path: {{ $logPath }}
+ Path_Key: filename
+{{- end -}}
+{{- if and .Values.additionalLoggingSources.k3s.enabled (eq .Values.additionalLoggingSources.k3s.container_engine "openrc")}}
+{{- include "logging-operator.logging" (list . "logging-operator.logging.k3s-openrc") -}}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/kube-audit/logging.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/kube-audit/logging.yaml
new file mode 100644
index 000000000..3edf96b79
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/kube-audit/logging.yaml
@@ -0,0 +1,24 @@
+{{- define "logging-operator.logging.kube-audit" -}}
+metadata:
+ name: {{ .Release.Name }}-kube-audit
+spec:
+ {{- if .Values.additionalLoggingSources.kubeAudit.loggingRef }}
+ loggingRef: {{ .Values.additionalLoggingSources.kubeAudit.loggingRef }}
+ {{- end }}
+ fluentbit:
+ disableKubernetesFilter: true
+ extraVolumeMounts:
+ - source: {{ template "kubeAuditPathPrefix" . }}
+ destination: "/kube-audit-logs"
+ readOnly: true
+ inputTail:
+ Tag: {{ .Values.additionalLoggingSources.kubeAudit.fluentbit.logTag }}
+ Path: /kube-audit-logs/{{ template "kubeAuditFilename" . }}
+ Parser: json
+ {{- with (concat (.Values.tolerations) (.Values.fluentbit.tolerations) (.Values.additionalLoggingSources.kubeAudit.fluentbit.tolerations)) }}
+ tolerations: {{- toYaml . | nindent 6 }}
+ {{- end }}
+{{- end -}}
+{{- if .Values.additionalLoggingSources.kubeAudit.enabled }}
+{{- include "logging-operator.logging" (list . "logging-operator.logging.kube-audit") -}}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke/configmap.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke/configmap.yaml
new file mode 100644
index 000000000..252572a4e
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke/configmap.yaml
@@ -0,0 +1,29 @@
+{{- if .Values.additionalLoggingSources.rke.enabled }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ .Release.Name }}-rke
+ labels:
+{{ include "logging-operator.labels" . | indent 4 }}
+data:
+ fluent-bit.conf: |
+ [SERVICE]
+ Log_Level {{ .Values.additionalLoggingSources.rke.fluentbit.log_level }}
+ Parsers_File parsers.conf
+
+ [INPUT]
+ Tag rke
+ Name tail
+ Path_Key filename
+ Parser docker
+ DB /tail-db/tail-containers-state.db
+ Mem_Buf_Limit {{ .Values.additionalLoggingSources.rke.fluentbit.mem_buffer_limit }}
+ Path /var/lib/rancher/rke/log/*.log
+
+ [OUTPUT]
+ Name forward
+ Match *
+ Host {{ .Release.Name }}-root-fluentd.{{ .Release.Namespace }}.svc
+ Port 24240
+ Retry_Limit False
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke/daemonset.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke/daemonset.yaml
new file mode 100644
index 000000000..fd38fc1e0
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke/daemonset.yaml
@@ -0,0 +1,122 @@
+{{- if .Values.additionalLoggingSources.rke.enabled }}
+{{- $containers := printf "%s/containers/" (default "/var/lib/docker" .Values.global.dockerRootDirectory) }}
+apiVersion: apps/v1
+kind: DaemonSet
+metadata:
+ name: "{{ .Release.Name }}-rke-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+spec:
+ selector:
+ matchLabels:
+ name: {{ .Release.Name }}-rke-aggregator
+ template:
+ metadata:
+ name: "{{ .Release.Name }}-rke-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+ labels:
+ name: {{ .Release.Name }}-rke-aggregator
+ spec:
+ containers:
+ - name: fluentbit
+ image: "{{ template "logging-operator.fluentbitImage" . }}"
+ volumeMounts:
+ - mountPath: /var/lib/rancher/rke/log/
+ name: indir
+ - mountPath: {{ $containers }}
+ name: containers
+ - mountPath: /tail-db
+ name: positiondb
+ - mountPath: /fluent-bit/etc/fluent-bit.conf
+ name: config
+ subPath: fluent-bit.conf
+ {{- if .Values.global.seLinux.enabled }}
+ securityContext:
+ seLinuxOptions:
+ type: rke_logreader_t
+ {{- end }}
+ volumes:
+ - name: indir
+ hostPath:
+ path: /var/lib/rancher/rke/log/
+ type: DirectoryOrCreate
+ - name: containers
+ hostPath:
+ path: {{ $containers }}
+ type: DirectoryOrCreate
+ - name: positiondb
+ emptyDir: {}
+ - name: config
+ configMap:
+ name: "{{ .Release.Name }}-rke"
+ serviceAccountName: "{{ .Release.Name }}-rke-aggregator"
+ {{- $total_tolerations := concat (.Values.tolerations) (.Values.fluentbit.tolerations) }}
+ {{- with $total_tolerations }}
+ tolerations: {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.nodeSelector }}
+ nodeSelector: {{- toYaml . | nindent 8 }}
+ {{- end }}
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: "{{ .Release.Name }}-rke-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+{{- if .Values.global.psp.enabled }}
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: "{{ .Release.Name }}-rke-aggregator"
+rules:
+ - apiGroups:
+ - policy
+ resourceNames:
+ - "{{ .Release.Name }}-rke-aggregator"
+ resources:
+ - podsecuritypolicies
+ verbs:
+ - use
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: "{{ .Release.Name }}-rke-aggregator"
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: "{{ .Release.Name }}-rke-aggregator"
+subjects:
+ - kind: ServiceAccount
+ name: "{{ .Release.Name }}-rke-aggregator"
+---
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: "{{ .Release.Name }}-rke-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+spec:
+ allowPrivilegeEscalation: false
+ allowedHostPaths:
+ - pathPrefix: {{ $containers }}
+ readOnly: false
+ - pathPrefix: /var/lib/rancher/rke/log/
+ readOnly: false
+ - pathPrefix: /var/lib/rancher/logging/
+ readOnly: false
+ fsGroup:
+ rule: RunAsAny
+ readOnlyRootFilesystem: true
+ runAsUser:
+ rule: RunAsAny
+ seLinux:
+ rule: RunAsAny
+ supplementalGroups:
+ rule: RunAsAny
+ volumes:
+ - configMap
+ - emptyDir
+ - secret
+ - hostPath
+{{- end }}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke2/configmap.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke2/configmap.yaml
new file mode 100644
index 000000000..3ca20be22
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke2/configmap.yaml
@@ -0,0 +1,69 @@
+{{- if .Values.additionalLoggingSources.rke2.enabled }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ .Release.Name }}-rke2
+ labels:
+{{ include "logging-operator.labels" . | indent 4 }}
+data:
+ fluent-bit.conf: |
+ [SERVICE]
+ Flush 1
+ Grace 5
+ Daemon Off
+ Log_Level info
+ Coro_Stack_Size 24576
+ Parsers_File parsers.conf
+
+ [INPUT]
+ Name systemd
+ Tag rke2
+ Path {{ .Values.systemdLogPath }}
+ Systemd_Filter _SYSTEMD_UNIT=rke2-server.service
+ Systemd_Filter _SYSTEMD_UNIT=rke2-agent.service
+ {{- if .Values.additionalLoggingSources.rke2.stripUnderscores }}
+ Strip_Underscores On
+ {{- end }}
+
+ [INPUT]
+ Name tail
+ Tag rke2
+ Path /var/lib/rancher/rke2/agent/logs/kubelet.log
+
+ [FILTER]
+ Name parser
+ Match *
+ Key_Name log
+ Parser klog
+ Reserve_Data On
+
+ [FILTER]
+ Name parser
+ Match *
+ Key_Name MESSAGE
+ Parser klog
+ Reserve_Data On
+
+ [FILTER]
+ Name parser
+ Match *
+ Key_Name MESSAGE
+ Parser rancher
+ Reserve_Data On
+
+ [FILTER]
+ Name parser
+ Match *
+ Key_Name MESSAGE
+ Parser etcd
+ Reserve_Data On
+
+ [OUTPUT]
+ Name forward
+ Match *
+ Host {{ .Release.Name }}-root-fluentd.{{ .Release.Namespace }}.svc
+ Port 24240
+ Retry_Limit False
+ parsers.conf: |
+{{ include "logging-operator.parsers" . | indent 4 }}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke2/daemonset.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke2/daemonset.yaml
new file mode 100644
index 000000000..23a91f9df
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/rke2/daemonset.yaml
@@ -0,0 +1,116 @@
+{{- if .Values.additionalLoggingSources.rke2.enabled }}
+apiVersion: apps/v1
+kind: DaemonSet
+metadata:
+ name: "{{ .Release.Name }}-rke2-journald-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+spec:
+ selector:
+ matchLabels:
+ name: {{ .Release.Name }}-rke2-journald-aggregator
+ template:
+ metadata:
+ annotations:
+ checksum/config: {{ include (print $.Template.BasePath "/loggings/rke2/configmap.yaml") . | sha256sum }}
+ name: "{{ .Release.Name }}-rke2-journald-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+ labels:
+ name: {{ .Release.Name }}-rke2-journald-aggregator
+ spec:
+ containers:
+ - name: fluentbit
+ image: "{{ template "logging-operator.fluentbitImage" . }}"
+ {{- if .Values.global.seLinux.enabled }}
+ securityContext:
+ seLinuxOptions:
+ type: rke_logreader_t
+ {{- end }}
+ volumeMounts:
+ - mountPath: /fluent-bit/etc/
+ name: config
+ - mountPath: {{ .Values.systemdLogPath | default "/var/log/journal" }}
+ name: journal
+ readOnly: true
+ - mountPath: "/var/lib/rancher/rke2/agent/logs/kubelet.log"
+ name: kubelet
+ readOnly: true
+ - mountPath: /etc/machine-id
+ name: machine-id
+ readOnly: true
+ {{- with .Values.tolerations }}
+ tolerations: {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.nodeSelector }}
+ nodeSelector: {{- toYaml . | nindent 8 }}
+ {{- end }}
+ serviceAccountName: "{{ .Release.Name }}-rke2-journald-aggregator"
+ volumes:
+ - name: config
+ configMap:
+ name: "{{ .Release.Name }}-rke2"
+ - name: journal
+ hostPath:
+ path: {{ .Values.systemdLogPath | default "/var/log/journal" }}
+ - name: kubelet
+ hostPath:
+ path: "/var/lib/rancher/rke2/agent/logs/kubelet.log"
+ - name: machine-id
+ hostPath:
+ path: /etc/machine-id
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: "{{ .Release.Name }}-rke2-journald-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+{{- if .Values.global.psp.enabled }}
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: "{{ .Release.Name }}-rke2-journald-aggregator"
+rules:
+ - apiGroups:
+ - policy
+ resourceNames:
+ - "{{ .Release.Name }}-rke2-journald-aggregator"
+ resources:
+ - podsecuritypolicies
+ verbs:
+ - use
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: "{{ .Release.Name }}-rke2-journald-aggregator"
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: "{{ .Release.Name }}-rke2-journald-aggregator"
+subjects:
+ - kind: ServiceAccount
+ name: "{{ .Release.Name }}-rke2-journald-aggregator"
+---
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: "{{ .Release.Name }}-rke2-journald-aggregator"
+ namespace: "{{ .Release.Namespace }}"
+spec:
+ allowPrivilegeEscalation: false
+ fsGroup:
+ rule: RunAsAny
+ readOnlyRootFilesystem: true
+ runAsUser:
+ rule: RunAsAny
+ seLinux:
+ rule: RunAsAny
+ supplementalGroups:
+ rule: RunAsAny
+ volumes:
+ - configMap
+ - emptyDir
+ - secret
+ - hostPath
+{{- end }}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/root/logging.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/root/logging.yaml
new file mode 100644
index 000000000..d88159106
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/loggings/root/logging.yaml
@@ -0,0 +1,82 @@
+{{- define "logging-operator.logging.root" -}}
+{{- $containerLogPath := printf "%s/containers/" (default "/var/lib/docker" .Values.global.dockerRootDirectory) }}
+metadata:
+ name: "{{ .Release.Name }}-root"
+spec:
+ {{- if (include "windowsEnabled" .) }}
+ nodeAgents:
+ - name: win-agent
+ profile: windows
+ nodeAgentFluentbit:
+ daemonSet:
+ spec:
+ template:
+ spec:
+ containers:
+ - image: {{ template "system_default_registry" . }}{{ .Values.images.nodeagent_fluentbit.repository }}:{{ .Values.images.nodeagent_fluentbit.tag }}
+ name: fluent-bit
+ tls:
+ enabled: {{ .Values.nodeAgents.tls.enabled | default false }}
+ {{- if .Values.additionalLoggingSources.rke.enabled }}
+ - name: win-agent-rke
+ profile: windows
+ nodeAgentFluentbit:
+ filterKubernetes:
+ Kube_Tag_Prefix: "{{ template "windowsKubernetesFilter" . }}.var.lib.rancher.rke.log."
+ inputTail:
+ Path: "{{ template "windowsPathPrefix" . }}/var/lib/rancher/rke/log"
+ {{- if .Values.fluentbit.inputTail.Buffer_Chunk_Size }}
+ Buffer_Chunk_Size: {{ .Values.fluentbit.inputTail.Buffer_Chunk_Size | toString }}
+ {{- end }}
+ {{- if .Values.fluentbit.inputTail.Buffer_Max_Size }}
+ Buffer_Max_Size: {{ .Values.fluentbit.inputTail.Buffer_Max_Size | toString }}
+ {{- end }}
+ {{- if .Values.fluentbit.inputTail.Mem_Buf_Limit }}
+ Mem_Buf_Limit: {{ .Values.fluentbit.inputTail.Mem_Buf_Limit | toString }}
+ {{- end }}
+ {{- if .Values.fluentbit.inputTail.Multiline_Flush }}
+ Multiline_Flush: {{ .Values.fluentbit.inputTail.Multiline_Flush | toString | quote }}
+ {{- end }}
+ {{- if .Values.fluentbit.inputTail.Skip_Long_Lines }}
+ Skip_Long_Lines: {{ .Values.fluentbit.inputTail.Skip_Long_Lines | toString | quote }}
+ {{- end }}
+ extraVolumeMounts:
+ - source: "{{ template "windowsInputTailMount" . }}/var/lib/rancher/rke/log"
+ destination: "{{ template "windowsInputTailMount" . }}/var/lib/rancher/rke/log"
+ readOnly: true
+ daemonSet:
+ spec:
+ template:
+ spec:
+ containers:
+ - image: "{{ template "system_default_registry" . }}{{ .Values.images.nodeagent_fluentbit.repository }}:{{ .Values.images.nodeagent_fluentbit.tag }}"
+ name: fluent-bit
+ tls:
+ enabled: {{ .Values.nodeAgents.tls.enabled | default false }}
+ {{- end }}
+ {{- end }}
+ fluentbit:
+ {{- if .Values.global.dockerRootDirectory }}
+ mountPath: {{ $containerLogPath }}
+ extraVolumeMounts:
+ - source: {{ $containerLogPath }}
+ destination: {{ $containerLogPath }}
+ readOnly: true
+ {{- end }}
+ {{- if (include "requireFilterKubernetes" .) }}
+ filterKubernetes:
+ {{- if .Values.fluentbit.filterKubernetes.Merge_Log }}
+ Merge_Log: "{{ .Values.fluentbit.filterKubernetes.Merge_Log }}"
+ {{- end }}
+ {{- if .Values.fluentbit.filterKubernetes.Merge_Log_Key }}
+ Merge_Log_Key: "{{ .Values.fluentbit.filterKubernetes.Merge_Log_Key }}"
+ {{- end }}
+ {{- if .Values.fluentbit.filterKubernetes.Merge_Log_Trim }}
+ Merge_Log_Trim: "{{ .Values.fluentbit.filterKubernetes.Merge_Log_Trim }}"
+ {{- end }}
+ {{- if .Values.fluentbit.filterKubernetes.Merge_Parser }}
+ Merge_Parser: "{{ .Values.fluentbit.filterKubernetes.Merge_Parser }}"
+ {{- end }}
+ {{- end }}
+{{- end -}}
+{{- include "logging-operator.logging" (list . "logging-operator.logging.root") -}}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/psp.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/psp.yaml
new file mode 100644
index 000000000..46b2071ef
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/psp.yaml
@@ -0,0 +1,34 @@
+{{ if and .Values.rbac.enabled .Values.rbac.psp.enabled }}
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: psp.logging-operator
+ namespace: {{ include "logging-operator.namespace" . }}
+ annotations:
+{{- if .Values.rbac.psp.annotations }}
+{{ toYaml .Values.rbac.psp.annotations | indent 4 }}
+{{- end }}
+ labels:
+{{ include "logging-operator.labels" . | indent 4 }}
+spec:
+ readOnlyRootFilesystem: true
+ privileged: false
+ allowPrivilegeEscalation: false
+ runAsUser:
+ rule: MustRunAsNonRoot
+ fsGroup:
+ rule: MustRunAs
+ ranges:
+ - min: 1
+ max: 65535
+ supplementalGroups:
+ rule: MustRunAs
+ ranges:
+ - min: 1
+ max: 65535
+ seLinux:
+ rule: RunAsAny
+ volumes:
+ - secret
+ - configMap
+{{ end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/service.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/service.yaml
new file mode 100644
index 000000000..f419ae2c4
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/service.yaml
@@ -0,0 +1,20 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "logging-operator.fullname" . }}
+ namespace: {{ include "logging-operator.namespace" . }}
+ labels:
+{{ include "logging-operator.labels" . | indent 4 }}
+spec:
+ type: ClusterIP
+ {{- with .Values.http.service.clusterIP }}
+ clusterIP: {{ . }}
+ {{- end }}
+ ports:
+ - port: {{ .Values.http.port }}
+ targetPort: http
+ protocol: TCP
+ name: http
+ selector:
+ app.kubernetes.io/name: {{ include "logging-operator.name" . }}
+ app.kubernetes.io/instance: {{ .Release.Name }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/serviceMonitor.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/serviceMonitor.yaml
new file mode 100644
index 000000000..1bb762cde
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/serviceMonitor.yaml
@@ -0,0 +1,30 @@
+{{ if .Values.monitoring.serviceMonitor.enabled }}
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+ name: {{ include "logging-operator.fullname" . }}
+ namespace: {{ include "logging-operator.namespace" . }}
+ labels:
+{{ include "logging-operator.labels" . | indent 4 }}
+{{- with .Values.monitoring.serviceMonitor.additionalLabels }}
+ {{- toYaml . | nindent 4 }}
+{{- end }}
+spec:
+ selector:
+ matchLabels:
+{{ include "logging-operator.labels" . | indent 6 }}
+ endpoints:
+ - port: http
+ path: /metrics
+ {{- with .Values.monitoring.serviceMonitor.metricsRelabelings }}
+ metricRelabelings:
+ {{- toYaml . | nindent 6 }}
+ {{- end }}
+ {{- with .Values.monitoring.serviceMonitor.relabelings }}
+ relabelings:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ namespaceSelector:
+ matchNames:
+ - {{ include "logging-operator.namespace" . }}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/serviceaccount.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/serviceaccount.yaml
new file mode 100644
index 000000000..bb97cf108
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/serviceaccount.yaml
@@ -0,0 +1,14 @@
+{{- if .Values.rbac.enabled }}
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ template "logging-operator.fullname" . }}
+ namespace: {{ include "logging-operator.namespace" . }}
+ labels:
+{{ include "logging-operator.labels" . | indent 4 }}
+{{- with .Values.serviceAccount.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/userroles.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/userroles.yaml
new file mode 100644
index 000000000..f4136b09a
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/userroles.yaml
@@ -0,0 +1,35 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: "logging-admin"
+ labels:
+ rbac.authorization.k8s.io/aggregate-to-admin: "true"
+rules:
+ - apiGroups:
+ - "logging.banzaicloud.io"
+ resources:
+ - flows
+ - outputs
+ verbs:
+ - "*"
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: "logging-view"
+ labels:
+ rbac.authorization.k8s.io/aggregate-to-admin: "true"
+ rbac.authorization.k8s.io/aggregate-to-view: "true"
+ rbac.authorization.k8s.io/aggregate-to-edit: "true"
+rules:
+ - apiGroups:
+ - "logging.banzaicloud.io"
+ resources:
+ - flows
+ - outputs
+ - clusterflows
+ - clusteroutputs
+ verbs:
+ - get
+ - list
+ - watch
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/validate-install-crd.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/validate-install-crd.yaml
new file mode 100644
index 000000000..77fc8047c
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/validate-install-crd.yaml
@@ -0,0 +1,20 @@
+#{{- if gt (len (lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "")) 0 -}}
+# {{- $found := dict -}}
+# {{- set $found "logging-extensions.banzaicloud.io/v1alpha1/EventTailer" false -}}
+# {{- set $found "logging-extensions.banzaicloud.io/v1alpha1/HostTailer" false -}}
+# {{- set $found "logging.banzaicloud.io/v1alpha1/ClusterFlow" false -}}
+# {{- set $found "logging.banzaicloud.io/v1alpha1/ClusterOutput" false -}}
+# {{- set $found "logging.banzaicloud.io/v1alpha1/Flow" false -}}
+# {{- set $found "logging.banzaicloud.io/v1alpha1/Logging" false -}}
+# {{- set $found "logging.banzaicloud.io/v1alpha1/Output" false -}}
+# {{- range .Capabilities.APIVersions -}}
+# {{- if hasKey $found (toString .) -}}
+# {{- set $found (toString .) true -}}
+# {{- end -}}
+# {{- end -}}
+# {{- range $_, $exists := $found -}}
+# {{- if (eq $exists false) -}}
+# {{- required "Required CRDs are missing. Please install the corresponding CRD chart before installing this chart." "" -}}
+# {{- end -}}
+# {{- end -}}
+#{{- end -}}
\ No newline at end of file
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/templates/validate-install.yaml b/charts/rancher-logging/100.1.4+up3.17.7/templates/validate-install.yaml
new file mode 100644
index 000000000..bd624cc4b
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/templates/validate-install.yaml
@@ -0,0 +1,5 @@
+#{{- if .Values.global.dockerRootDirectory }}
+#{{- if or (hasSuffix "/containers" .Values.global.dockerRootDirectory) (hasSuffix "/" .Values.global.dockerRootDirectory) }}
+#{{- required "global.dockerRootDirectory must not end with suffix: '/' or '/containers'" "" -}}
+#{{- end }}
+#{{- end }}
diff --git a/charts/rancher-logging/100.1.4+up3.17.7/values.yaml b/charts/rancher-logging/100.1.4+up3.17.7/values.yaml
new file mode 100644
index 000000000..4618387f2
--- /dev/null
+++ b/charts/rancher-logging/100.1.4+up3.17.7/values.yaml
@@ -0,0 +1,244 @@
+# Default values for logging-operator.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+replicaCount: 1
+
+image:
+ repository: rancher/mirrored-banzaicloud-logging-operator
+ tag: 3.17.7
+ pullPolicy: IfNotPresent
+
+extraArgs:
+ - -enable-leader-election=true
+imagePullSecrets: []
+nameOverride: ""
+fullnameOverride: ""
+namespaceOverride: ""
+
+## Pod custom labels
+##
+podLabels: {}
+
+annotations: {}
+
+## Deploy CRDs used by Logging Operator.
+##
+createCustomResource: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ # limits:
+ # cpu: 100m
+ # memory: 128Mi
+ # requests:
+ # cpu: 100m
+ # memory: 128Mi
+
+nodeSelector:
+ kubernetes.io/os: linux
+
+tolerations:
+ - key: cattle.io/os
+ operator: "Equal"
+ value: "linux"
+ effect: NoSchedule
+
+affinity: {}
+
+http:
+ # http listen port number
+ port: 8080
+ # Service definition for query http service
+ service:
+ type: ClusterIP
+ clusterIP: None
+ # Annotations to query http service
+ annotations: {}
+ # Labels to query http service
+ labels: {}
+
+# These "rbac" settings match the upstream defaults. For only using psp in the overlay files, which
+# include the default Logging CRs created, see the "global.psp" setting. To enable psp for the entire
+# chart, enable both "rbac.psp" and "global.psp" (this may require further changes to the chart).
+rbac:
+ enabled: true
+ psp:
+ enabled: true
+ annotations:
+ seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default,runtime/default'
+ seccomp.security.alpha.kubernetes.io/defaultProfileName: 'runtime/default'
+ ## Specify pod annotations
+ ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
+ ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
+ ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
+
+
+
+## SecurityContext holds pod-level security attributes and common container settings.
+## This defaults to non root user with uid 1000 and gid 2000. *v1.PodSecurityContext false
+## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
+##
+podSecurityContext: {}
+# runAsNonRoot: true
+# runAsUser: 1000
+# fsGroup: 2000
+securityContext: {}
+# allowPrivilegeEscalation: false
+# readOnlyRootFilesystem: true
+ # capabilities:
+ # drop: ["ALL"]
+
+## Operator priorityClassName
+##
+priorityClassName: {}
+
+monitoring:
+ # Create a Prometheus Operator ServiceMonitor object
+ serviceMonitor:
+ enabled: false
+ additionalLabels: {}
+ metricRelabelings: []
+ relabelings: []
+
+serviceAccount:
+ annotations: {}
+
+###################################
+# Rancher Logging Operator Values #
+###################################
+
+# Enable debug to use fluent-bit images that allow exec
+debug: false
+
+# Disable persistent volumes for buffers
+disablePvc: true
+
+# If your additional logging sources collect logs from systemd configure the systemd log path here
+systemdLogPath: "/run/log/journal"
+
+global:
+ cattle:
+ systemDefaultRegistry: ""
+ # Uncomment the below two lines to either enable or disable Windows logging. If this chart is
+ # installed via the Rancher UI, it will set this value to "true" if the cluster is a Windows
+ # cluster. In that scenario, if you would like to disable Windows logging on Windows clusters,
+ # set the value below to "false".
+ # windows:
+ # enabled: true
+
+ # Change the "dockerRootDirectory" if the default Docker directory has changed.
+ dockerRootDirectory: ""
+
+ # This psp setting differs from the upstream "rbac.psp" by only enabling psp settings for the
+ # overlay files, which include the Logging CRs created, whereas the upstream "rbac.psp" affects the
+ # logging operator.
+ psp:
+ enabled: true
+
+ rkeWindowsPathPrefix: "c:\\"
+
+ seLinux:
+ enabled: false
+
+images:
+ config_reloader:
+ repository: rancher/mirrored-jimmidyson-configmap-reload
+ tag: v0.4.0
+ fluentbit:
+ repository: rancher/mirrored-fluent-fluent-bit
+ tag: 1.9.3
+ nodeagent_fluentbit:
+ os: "windows"
+ repository: rancher/fluent-bit
+ tag: 1.8.9
+ fluentbit_debug:
+ repository: rancher/mirrored-fluent-fluent-bit
+ tag: 1.9.3-debug
+ fluentd:
+ repository: rancher/mirrored-banzaicloud-fluentd
+ tag: v1.14.6-alpine-5
+
+additionalLoggingSources:
+ rke:
+ enabled: false
+ fluentbit:
+ log_level: "info"
+ mem_buffer_limit: "5MB"
+ rke2:
+ enabled: false
+ stripUnderscores: false
+ k3s:
+ enabled: false
+ container_engine: "systemd"
+ stripUnderscores: false
+ aks:
+ enabled: false
+ eks:
+ enabled: false
+ gke:
+ enabled: false
+ kubeAudit:
+ auditFilename: ""
+ enabled: false
+ pathPrefix: ""
+ fluentbit:
+ logTag: kube-audit
+ tolerations:
+ - key: node-role.kubernetes.io/controlplane
+ value: "true"
+ effect: NoSchedule
+ - key: node-role.kubernetes.io/etcd
+ value: "true"
+ effect: NoExecute
+
+# configures node agent options for windows node agents
+nodeAgents:
+ tls:
+ enabled: false
+
+# These settings apply to every Logging CR, including vendor Logging CRs enabled in "additionalLoggingSources".
+# Changing these affects every Logging CR installed.
+fluentd:
+ bufferStorageVolume: {}
+ livenessProbe:
+ tcpSocket:
+ port: 24240
+ initialDelaySeconds: 30
+ periodSeconds: 15
+ nodeSelector: {}
+ resources: {}
+ tolerations: {}
+fluentbit:
+ inputTail:
+ Buffer_Chunk_Size: ""
+ Buffer_Max_Size: ""
+ Mem_Buf_Limit: ""
+ Multiline_Flush: ""
+ Skip_Long_Lines: ""
+ resources: {}
+ tolerations:
+ - key: node-role.kubernetes.io/controlplane
+ value: "true"
+ effect: NoSchedule
+ - key: node-role.kubernetes.io/etcd
+ value: "true"
+ effect: NoExecute
+ filterKubernetes:
+ Merge_Log: ""
+ Merge_Log_Key: ""
+ Merge_Log_Trim: ""
+ Merge_Parser: ""
+
+# DO NOT SET THIS UNLESS YOU KNOW WHAT YOU ARE DOING.
+# Setting fields on this object can break rancher logging or cause unexpected behavior. It is intended to be used if you
+# need to configure functionality not exposed by rancher logging. It is highly recommended you check the `app-readme.md`
+# for the functionality you need before modifying this object.
+
+# this object will be merged with every logging CR created by this chart. Any fields that collide with fields from the
+# settings above will be overridden. Any fields that collide with fields set in the files in `templates/loggings` will
+# be ignored.
+loggingOverlay: {}
diff --git a/charts/rancher-monitoring-crd/100.2.0+up40.1.2/Chart.yaml b/charts/rancher-monitoring-crd/100.2.0+up40.1.2/Chart.yaml
new file mode 100644
index 000000000..96aed8bb8
--- /dev/null
+++ b/charts/rancher-monitoring-crd/100.2.0+up40.1.2/Chart.yaml
@@ -0,0 +1,10 @@
+annotations:
+ catalog.cattle.io/certified: rancher
+ catalog.cattle.io/hidden: "true"
+ catalog.cattle.io/namespace: cattle-monitoring-system
+ catalog.cattle.io/release-name: rancher-monitoring-crd
+apiVersion: v1
+description: Installs the CRDs for rancher-monitoring.
+name: rancher-monitoring-crd
+type: application
+version: 100.2.0+up40.1.2
diff --git a/charts/rancher-monitoring-crd/100.2.0+up40.1.2/README.md b/charts/rancher-monitoring-crd/100.2.0+up40.1.2/README.md
new file mode 100644
index 000000000..e0b63e026
--- /dev/null
+++ b/charts/rancher-monitoring-crd/100.2.0+up40.1.2/README.md
@@ -0,0 +1,24 @@
+# rancher-monitoring-crd
+A Rancher chart that installs the CRDs used by rancher-monitoring.
+
+## How does this chart work?
+
+This chart marshalls all of the CRD files placed in the `crd-manifest` directory into a ConfigMap that is installed onto a cluster alongside relevant RBAC (ServiceAccount, ClusterRoleBinding, ClusterRole, and PodSecurityPolicy).
+
+Once the relevant dependent resourcees are installed / upgraded / rolled back, this chart executes a post-install / post-upgrade / post-rollback Job that:
+- Patches any existing versions of the CRDs contained within the `crd-manifest` on the cluster to set `spec.preserveUnknownFields=false`; this step is required since, based on [Kubernetes docs](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#field-pruning) and a [known workaround](https://github.com/kubernetes-sigs/controller-tools/issues/476#issuecomment-691519936), such CRDs cannot be upgraded normally from `apiextensions.k8s.io/v1beta1` to `apiextensions.k8s.io/v1`.
+- Runs a `kubectl apply` on the CRDs that are contained within the crd-manifest ConfigMap to upgrade CRDs in the cluster
+
+On an uninstall, this chart executes a separate post-delete Job that:
+- Patches any existing versions of the CRDs contained within `crd-manifest` on the cluster to set `metadata.finalizers=[]`
+- Runs a `kubectl delete` on the CRDs that are contained within the crd-manifest ConfigMap to clean up the CRDs from the cluster
+
+Note: If the relevant CRDs already existed in the cluster at the time of install, this chart will absorb ownership of the lifecycle of those CRDs; therefore, on a `helm uninstall`, those CRDs will also be removed from the cluster alongside this chart.
+
+## Why can't we just place the CRDs in the templates/ directory of the main chart?
+
+In Helm today, you cannot declare a CRD and declare a resource of that CRD's kind in templates/ without encountering a failure on render.
+
+## [Helm 3] Why can't we just place the CRDs in the crds/ directory of the main chart?
+
+The Helm 3 `crds/` directory only supports the installation of CRDs, but does not support the upgrade and removal of CRDs, unlike what this chart facilitiates.
\ No newline at end of file
diff --git a/charts/rancher-monitoring-crd/100.2.0+up40.1.2/crd-manifest/crd-alertmanagerconfigs.yaml b/charts/rancher-monitoring-crd/100.2.0+up40.1.2/crd-manifest/crd-alertmanagerconfigs.yaml
new file mode 100644
index 000000000..7863a2bc8
--- /dev/null
+++ b/charts/rancher-monitoring-crd/100.2.0+up40.1.2/crd-manifest/crd-alertmanagerconfigs.yaml
@@ -0,0 +1,4475 @@
+# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.59.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.9.2
+ creationTimestamp: null
+ name: alertmanagerconfigs.monitoring.coreos.com
+spec:
+ group: monitoring.coreos.com
+ names:
+ categories:
+ - prometheus-operator
+ kind: AlertmanagerConfig
+ listKind: AlertmanagerConfigList
+ plural: alertmanagerconfigs
+ shortNames:
+ - amcfg
+ singular: alertmanagerconfig
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: AlertmanagerConfig defines a namespaced AlertmanagerConfig to
+ be aggregated across multiple namespaces configuring one Alertmanager cluster.
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: AlertmanagerConfigSpec is a specification of the desired
+ behavior of the Alertmanager configuration. By definition, the Alertmanager
+ configuration only applies to alerts for which the `namespace` label
+ is equal to the namespace of the AlertmanagerConfig resource.
+ properties:
+ inhibitRules:
+ description: List of inhibition rules. The rules will only apply to
+ alerts matching the resource’s namespace.
+ items:
+ description: InhibitRule defines an inhibition rule that allows
+ to mute alerts when other alerts are already firing. See https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule
+ properties:
+ equal:
+ description: Labels that must have an equal value in the source
+ and target alert for the inhibition to take effect.
+ items:
+ type: string
+ type: array
+ sourceMatch:
+ description: Matchers for which one or more alerts have to exist
+ for the inhibition to take effect. The operator enforces that
+ the alert matches the resource’s namespace.
+ items:
+ description: Matcher defines how to match on alert's labels.
+ properties:
+ matchType:
+ description: Match operation available with AlertManager
+ >= v0.22.0 and takes precedence over Regex (deprecated)
+ if non-empty.
+ enum:
+ - '!='
+ - =
+ - =~
+ - '!~'
+ type: string
+ name:
+ description: Label to match.
+ minLength: 1
+ type: string
+ regex:
+ description: Whether to match on equality (false) or regular-expression
+ (true). Deprecated as of AlertManager >= v0.22.0 where
+ a user should use MatchType instead.
+ type: boolean
+ value:
+ description: Label value to match.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ targetMatch:
+ description: Matchers that have to be fulfilled in the alerts
+ to be muted. The operator enforces that the alert matches
+ the resource’s namespace.
+ items:
+ description: Matcher defines how to match on alert's labels.
+ properties:
+ matchType:
+ description: Match operation available with AlertManager
+ >= v0.22.0 and takes precedence over Regex (deprecated)
+ if non-empty.
+ enum:
+ - '!='
+ - =
+ - =~
+ - '!~'
+ type: string
+ name:
+ description: Label to match.
+ minLength: 1
+ type: string
+ regex:
+ description: Whether to match on equality (false) or regular-expression
+ (true). Deprecated as of AlertManager >= v0.22.0 where
+ a user should use MatchType instead.
+ type: boolean
+ value:
+ description: Label value to match.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ type: object
+ type: array
+ muteTimeIntervals:
+ description: List of MuteTimeInterval specifying when the routes should
+ be muted.
+ items:
+ description: MuteTimeInterval specifies the periods in time when
+ notifications will be muted
+ properties:
+ name:
+ description: Name of the time interval
+ type: string
+ timeIntervals:
+ description: TimeIntervals is a list of TimeInterval
+ items:
+ description: TimeInterval describes intervals of time
+ properties:
+ daysOfMonth:
+ description: DaysOfMonth is a list of DayOfMonthRange
+ items:
+ description: DayOfMonthRange is an inclusive range of
+ days of the month beginning at 1
+ properties:
+ end:
+ description: End of the inclusive range
+ maximum: 31
+ minimum: -31
+ type: integer
+ start:
+ description: Start of the inclusive range
+ maximum: 31
+ minimum: -31
+ type: integer
+ type: object
+ type: array
+ months:
+ description: Months is a list of MonthRange
+ items:
+ description: MonthRange is an inclusive range of months
+ of the year beginning in January Months can be specified
+ by name (e.g 'January') by numerical month (e.g '1')
+ or as an inclusive range (e.g 'January:March', '1:3',
+ '1:March')
+ pattern: ^((?i)january|february|march|april|may|june|july|august|september|october|november|december|[1-12])(?:((:((?i)january|february|march|april|may|june|july|august|september|october|november|december|[1-12]))$)|$)
+ type: string
+ type: array
+ times:
+ description: Times is a list of TimeRange
+ items:
+ description: TimeRange defines a start and end time
+ in 24hr format
+ properties:
+ endTime:
+ description: EndTime is the end time in 24hr format.
+ pattern: ^((([01][0-9])|(2[0-3])):[0-5][0-9])$|(^24:00$)
+ type: string
+ startTime:
+ description: StartTime is the start time in 24hr
+ format.
+ pattern: ^((([01][0-9])|(2[0-3])):[0-5][0-9])$|(^24:00$)
+ type: string
+ type: object
+ type: array
+ weekdays:
+ description: Weekdays is a list of WeekdayRange
+ items:
+ description: WeekdayRange is an inclusive range of days
+ of the week beginning on Sunday Days can be specified
+ by name (e.g 'Sunday') or as an inclusive range (e.g
+ 'Monday:Friday')
+ pattern: ^((?i)sun|mon|tues|wednes|thurs|fri|satur)day(?:((:(sun|mon|tues|wednes|thurs|fri|satur)day)$)|$)
+ type: string
+ type: array
+ years:
+ description: Years is a list of YearRange
+ items:
+ description: YearRange is an inclusive range of years
+ pattern: ^2\d{3}(?::2\d{3}|$)
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ type: array
+ receivers:
+ description: List of receivers.
+ items:
+ description: Receiver defines one or more notification integrations.
+ properties:
+ emailConfigs:
+ description: List of Email configurations.
+ items:
+ description: EmailConfig configures notifications via Email.
+ properties:
+ authIdentity:
+ description: The identity to use for authentication.
+ type: string
+ authPassword:
+ description: The secret's key that contains the password
+ to use for authentication. The secret needs to be in
+ the same namespace as the AlertmanagerConfig object
+ and accessible by the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ authSecret:
+ description: The secret's key that contains the CRAM-MD5
+ secret. The secret needs to be in the same namespace
+ as the AlertmanagerConfig object and accessible by the
+ Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ authUsername:
+ description: The username to use for authentication.
+ type: string
+ from:
+ description: The sender address.
+ type: string
+ headers:
+ description: Further headers email header key/value pairs.
+ Overrides any headers previously set by the notification
+ implementation.
+ items:
+ description: KeyValue defines a (key, value) tuple.
+ properties:
+ key:
+ description: Key of the tuple.
+ minLength: 1
+ type: string
+ value:
+ description: Value of the tuple.
+ type: string
+ required:
+ - key
+ - value
+ type: object
+ type: array
+ hello:
+ description: The hostname to identify to the SMTP server.
+ type: string
+ html:
+ description: The HTML body of the email notification.
+ type: string
+ requireTLS:
+ description: The SMTP TLS requirement. Note that Go does
+ not support unencrypted connections to remote SMTP endpoints.
+ type: boolean
+ sendResolved:
+ description: Whether or not to notify about resolved alerts.
+ type: boolean
+ smarthost:
+ description: The SMTP host and port through which emails
+ are sent. E.g. example.com:25
+ type: string
+ text:
+ description: The text body of the email notification.
+ type: string
+ tlsConfig:
+ description: TLS configuration
+ properties:
+ ca:
+ description: Struct containing the CA cert to use
+ for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use for
+ the targets.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ cert:
+ description: Struct containing the client cert file
+ for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use for
+ the targets.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keySecret:
+ description: Secret containing the client key file
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ serverName:
+ description: Used to verify the hostname for the targets.
+ type: string
+ type: object
+ to:
+ description: The email address to send notifications to.
+ type: string
+ type: object
+ type: array
+ name:
+ description: Name of the receiver. Must be unique across all
+ items from the list.
+ minLength: 1
+ type: string
+ opsgenieConfigs:
+ description: List of OpsGenie configurations.
+ items:
+ description: OpsGenieConfig configures notifications via OpsGenie.
+ See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config
+ properties:
+ actions:
+ description: Comma separated list of actions that will
+ be available for the alert.
+ type: string
+ apiKey:
+ description: The secret's key that contains the OpsGenie
+ API key. The secret needs to be in the same namespace
+ as the AlertmanagerConfig object and accessible by the
+ Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ apiURL:
+ description: The URL to send OpsGenie API requests to.
+ type: string
+ description:
+ description: Description of the incident.
+ type: string
+ details:
+ description: A set of arbitrary key/value pairs that provide
+ further detail about the incident.
+ items:
+ description: KeyValue defines a (key, value) tuple.
+ properties:
+ key:
+ description: Key of the tuple.
+ minLength: 1
+ type: string
+ value:
+ description: Value of the tuple.
+ type: string
+ required:
+ - key
+ - value
+ type: object
+ type: array
+ entity:
+ description: Optional field that can be used to specify
+ which domain alert is related to.
+ type: string
+ httpConfig:
+ description: HTTP client configuration.
+ properties:
+ authorization:
+ description: Authorization header configuration for
+ the client. This is mutually exclusive with BasicAuth
+ and is only available starting from Alertmanager
+ v0.22+.
+ properties:
+ credentials:
+ description: The secret's key that contains the
+ credentials of the request
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type:
+ description: Set the authentication type. Defaults
+ to Bearer, Basic will cause an error
+ type: string
+ type: object
+ basicAuth:
+ description: BasicAuth for the client. This is mutually
+ exclusive with Authorization. If both are defined,
+ BasicAuth takes precedence.
+ properties:
+ password:
+ description: The secret in the service monitor
+ namespace that contains the password for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ username:
+ description: The secret in the service monitor
+ namespace that contains the username for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ bearerTokenSecret:
+ description: The secret's key that contains the bearer
+ token to be used by the client for authentication.
+ The secret needs to be in the same namespace as
+ the AlertmanagerConfig object and accessible by
+ the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ followRedirects:
+ description: FollowRedirects specifies whether the
+ client should follow HTTP 3xx redirects.
+ type: boolean
+ oauth2:
+ description: OAuth2 client credentials used to fetch
+ a token for the targets.
+ properties:
+ clientId:
+ description: The secret or configmap containing
+ the OAuth2 client id
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientSecret:
+ description: The secret containing the OAuth2
+ client secret
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ additionalProperties:
+ type: string
+ description: Parameters to append to the token
+ URL
+ type: object
+ scopes:
+ description: OAuth2 scopes used for the token
+ request
+ items:
+ type: string
+ type: array
+ tokenUrl:
+ description: The URL to fetch the token from
+ minLength: 1
+ type: string
+ required:
+ - clientId
+ - clientSecret
+ - tokenUrl
+ type: object
+ proxyURL:
+ description: Optional proxy URL.
+ type: string
+ tlsConfig:
+ description: TLS configuration for the client.
+ properties:
+ ca:
+ description: Struct containing the CA cert to
+ use for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ cert:
+ description: Struct containing the client cert
+ file for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keySecret:
+ description: Secret containing the client key
+ file for the targets.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ serverName:
+ description: Used to verify the hostname for the
+ targets.
+ type: string
+ type: object
+ type: object
+ message:
+ description: Alert text limited to 130 characters.
+ type: string
+ note:
+ description: Additional alert note.
+ type: string
+ priority:
+ description: Priority level of alert. Possible values
+ are P1, P2, P3, P4, and P5.
+ type: string
+ responders:
+ description: List of responders responsible for notifications.
+ items:
+ description: OpsGenieConfigResponder defines a responder
+ to an incident. One of `id`, `name` or `username`
+ has to be defined.
+ properties:
+ id:
+ description: ID of the responder.
+ type: string
+ name:
+ description: Name of the responder.
+ type: string
+ type:
+ description: Type of responder.
+ enum:
+ - team
+ - teams
+ - user
+ - escalation
+ - schedule
+ minLength: 1
+ type: string
+ username:
+ description: Username of the responder.
+ type: string
+ required:
+ - type
+ type: object
+ type: array
+ sendResolved:
+ description: Whether or not to notify about resolved alerts.
+ type: boolean
+ source:
+ description: Backlink to the sender of the notification.
+ type: string
+ tags:
+ description: Comma separated list of tags attached to
+ the notifications.
+ type: string
+ updateAlerts:
+ description: Whether to update message and description
+ of the alert in OpsGenie if it already exists By default,
+ the alert is never updated in OpsGenie, the new message
+ only appears in activity log.
+ type: boolean
+ type: object
+ type: array
+ pagerdutyConfigs:
+ description: List of PagerDuty configurations.
+ items:
+ description: PagerDutyConfig configures notifications via
+ PagerDuty. See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config
+ properties:
+ class:
+ description: The class/type of the event.
+ type: string
+ client:
+ description: Client identification.
+ type: string
+ clientURL:
+ description: Backlink to the sender of notification.
+ type: string
+ component:
+ description: The part or component of the affected system
+ that is broken.
+ type: string
+ description:
+ description: Description of the incident.
+ type: string
+ details:
+ description: Arbitrary key/value pairs that provide further
+ detail about the incident.
+ items:
+ description: KeyValue defines a (key, value) tuple.
+ properties:
+ key:
+ description: Key of the tuple.
+ minLength: 1
+ type: string
+ value:
+ description: Value of the tuple.
+ type: string
+ required:
+ - key
+ - value
+ type: object
+ type: array
+ group:
+ description: A cluster or grouping of sources.
+ type: string
+ httpConfig:
+ description: HTTP client configuration.
+ properties:
+ authorization:
+ description: Authorization header configuration for
+ the client. This is mutually exclusive with BasicAuth
+ and is only available starting from Alertmanager
+ v0.22+.
+ properties:
+ credentials:
+ description: The secret's key that contains the
+ credentials of the request
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type:
+ description: Set the authentication type. Defaults
+ to Bearer, Basic will cause an error
+ type: string
+ type: object
+ basicAuth:
+ description: BasicAuth for the client. This is mutually
+ exclusive with Authorization. If both are defined,
+ BasicAuth takes precedence.
+ properties:
+ password:
+ description: The secret in the service monitor
+ namespace that contains the password for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ username:
+ description: The secret in the service monitor
+ namespace that contains the username for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ bearerTokenSecret:
+ description: The secret's key that contains the bearer
+ token to be used by the client for authentication.
+ The secret needs to be in the same namespace as
+ the AlertmanagerConfig object and accessible by
+ the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ followRedirects:
+ description: FollowRedirects specifies whether the
+ client should follow HTTP 3xx redirects.
+ type: boolean
+ oauth2:
+ description: OAuth2 client credentials used to fetch
+ a token for the targets.
+ properties:
+ clientId:
+ description: The secret or configmap containing
+ the OAuth2 client id
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientSecret:
+ description: The secret containing the OAuth2
+ client secret
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ additionalProperties:
+ type: string
+ description: Parameters to append to the token
+ URL
+ type: object
+ scopes:
+ description: OAuth2 scopes used for the token
+ request
+ items:
+ type: string
+ type: array
+ tokenUrl:
+ description: The URL to fetch the token from
+ minLength: 1
+ type: string
+ required:
+ - clientId
+ - clientSecret
+ - tokenUrl
+ type: object
+ proxyURL:
+ description: Optional proxy URL.
+ type: string
+ tlsConfig:
+ description: TLS configuration for the client.
+ properties:
+ ca:
+ description: Struct containing the CA cert to
+ use for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ cert:
+ description: Struct containing the client cert
+ file for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keySecret:
+ description: Secret containing the client key
+ file for the targets.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ serverName:
+ description: Used to verify the hostname for the
+ targets.
+ type: string
+ type: object
+ type: object
+ pagerDutyImageConfigs:
+ description: A list of image details to attach that provide
+ further detail about an incident.
+ items:
+ description: PagerDutyImageConfig attaches images to
+ an incident
+ properties:
+ alt:
+ description: Alt is the optional alternative text
+ for the image.
+ type: string
+ href:
+ description: Optional URL; makes the image a clickable
+ link.
+ type: string
+ src:
+ description: Src of the image being attached to
+ the incident
+ type: string
+ type: object
+ type: array
+ pagerDutyLinkConfigs:
+ description: A list of link details to attach that provide
+ further detail about an incident.
+ items:
+ description: PagerDutyLinkConfig attaches text links
+ to an incident
+ properties:
+ alt:
+ description: Text that describes the purpose of
+ the link, and can be used as the link's text.
+ type: string
+ href:
+ description: Href is the URL of the link to be attached
+ type: string
+ type: object
+ type: array
+ routingKey:
+ description: The secret's key that contains the PagerDuty
+ integration key (when using Events API v2). Either this
+ field or `serviceKey` needs to be defined. The secret
+ needs to be in the same namespace as the AlertmanagerConfig
+ object and accessible by the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ sendResolved:
+ description: Whether or not to notify about resolved alerts.
+ type: boolean
+ serviceKey:
+ description: The secret's key that contains the PagerDuty
+ service key (when using integration type "Prometheus").
+ Either this field or `routingKey` needs to be defined.
+ The secret needs to be in the same namespace as the
+ AlertmanagerConfig object and accessible by the Prometheus
+ Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ severity:
+ description: Severity of the incident.
+ type: string
+ url:
+ description: The URL to send requests to.
+ type: string
+ type: object
+ type: array
+ pushoverConfigs:
+ description: List of Pushover configurations.
+ items:
+ description: PushoverConfig configures notifications via Pushover.
+ See https://prometheus.io/docs/alerting/latest/configuration/#pushover_config
+ properties:
+ expire:
+ description: How long your notification will continue
+ to be retried for, unless the user acknowledges the
+ notification.
+ pattern: ^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$
+ type: string
+ html:
+ description: Whether notification message is HTML or plain
+ text.
+ type: boolean
+ httpConfig:
+ description: HTTP client configuration.
+ properties:
+ authorization:
+ description: Authorization header configuration for
+ the client. This is mutually exclusive with BasicAuth
+ and is only available starting from Alertmanager
+ v0.22+.
+ properties:
+ credentials:
+ description: The secret's key that contains the
+ credentials of the request
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type:
+ description: Set the authentication type. Defaults
+ to Bearer, Basic will cause an error
+ type: string
+ type: object
+ basicAuth:
+ description: BasicAuth for the client. This is mutually
+ exclusive with Authorization. If both are defined,
+ BasicAuth takes precedence.
+ properties:
+ password:
+ description: The secret in the service monitor
+ namespace that contains the password for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ username:
+ description: The secret in the service monitor
+ namespace that contains the username for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ bearerTokenSecret:
+ description: The secret's key that contains the bearer
+ token to be used by the client for authentication.
+ The secret needs to be in the same namespace as
+ the AlertmanagerConfig object and accessible by
+ the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ followRedirects:
+ description: FollowRedirects specifies whether the
+ client should follow HTTP 3xx redirects.
+ type: boolean
+ oauth2:
+ description: OAuth2 client credentials used to fetch
+ a token for the targets.
+ properties:
+ clientId:
+ description: The secret or configmap containing
+ the OAuth2 client id
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientSecret:
+ description: The secret containing the OAuth2
+ client secret
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ additionalProperties:
+ type: string
+ description: Parameters to append to the token
+ URL
+ type: object
+ scopes:
+ description: OAuth2 scopes used for the token
+ request
+ items:
+ type: string
+ type: array
+ tokenUrl:
+ description: The URL to fetch the token from
+ minLength: 1
+ type: string
+ required:
+ - clientId
+ - clientSecret
+ - tokenUrl
+ type: object
+ proxyURL:
+ description: Optional proxy URL.
+ type: string
+ tlsConfig:
+ description: TLS configuration for the client.
+ properties:
+ ca:
+ description: Struct containing the CA cert to
+ use for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ cert:
+ description: Struct containing the client cert
+ file for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keySecret:
+ description: Secret containing the client key
+ file for the targets.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ serverName:
+ description: Used to verify the hostname for the
+ targets.
+ type: string
+ type: object
+ type: object
+ message:
+ description: Notification message.
+ type: string
+ priority:
+ description: Priority, see https://pushover.net/api#priority
+ type: string
+ retry:
+ description: How often the Pushover servers will send
+ the same notification to the user. Must be at least
+ 30 seconds.
+ pattern: ^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$
+ type: string
+ sendResolved:
+ description: Whether or not to notify about resolved alerts.
+ type: boolean
+ sound:
+ description: The name of one of the sounds supported by
+ device clients to override the user's default sound
+ choice
+ type: string
+ title:
+ description: Notification title.
+ type: string
+ token:
+ description: The secret's key that contains the registered
+ application’s API token, see https://pushover.net/apps.
+ The secret needs to be in the same namespace as the
+ AlertmanagerConfig object and accessible by the Prometheus
+ Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ url:
+ description: A supplementary URL shown alongside the message.
+ type: string
+ urlTitle:
+ description: A title for supplementary URL, otherwise
+ just the URL is shown
+ type: string
+ userKey:
+ description: The secret's key that contains the recipient
+ user’s user key. The secret needs to be in the same
+ namespace as the AlertmanagerConfig object and accessible
+ by the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: array
+ slackConfigs:
+ description: List of Slack configurations.
+ items:
+ description: SlackConfig configures notifications via Slack.
+ See https://prometheus.io/docs/alerting/latest/configuration/#slack_config
+ properties:
+ actions:
+ description: A list of Slack actions that are sent with
+ each notification.
+ items:
+ description: SlackAction configures a single Slack action
+ that is sent with each notification. See https://api.slack.com/docs/message-attachments#action_fields
+ and https://api.slack.com/docs/message-buttons for
+ more information.
+ properties:
+ confirm:
+ description: SlackConfirmationField protect users
+ from destructive actions or particularly distinguished
+ decisions by asking them to confirm their button
+ click one more time. See https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields
+ for more information.
+ properties:
+ dismissText:
+ type: string
+ okText:
+ 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
+ apiURL:
+ description: The secret's key that contains the Slack
+ webhook URL. The secret needs to be in the same namespace
+ as the AlertmanagerConfig object and accessible by the
+ Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ callbackId:
+ type: string
+ channel:
+ description: The channel or user to send notifications
+ to.
+ type: string
+ color:
+ type: string
+ fallback:
+ type: string
+ fields:
+ description: A list of Slack fields that are sent with
+ each notification.
+ items:
+ description: SlackField configures a single Slack field
+ that is sent with each notification. Each field must
+ contain a title, value, and optionally, a boolean
+ value to indicate if the field is short enough to
+ be displayed next to other fields designated as short.
+ See https://api.slack.com/docs/message-attachments#fields
+ for more information.
+ properties:
+ short:
+ type: boolean
+ title:
+ minLength: 1
+ type: string
+ value:
+ minLength: 1
+ type: string
+ required:
+ - title
+ - value
+ type: object
+ type: array
+ footer:
+ type: string
+ httpConfig:
+ description: HTTP client configuration.
+ properties:
+ authorization:
+ description: Authorization header configuration for
+ the client. This is mutually exclusive with BasicAuth
+ and is only available starting from Alertmanager
+ v0.22+.
+ properties:
+ credentials:
+ description: The secret's key that contains the
+ credentials of the request
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type:
+ description: Set the authentication type. Defaults
+ to Bearer, Basic will cause an error
+ type: string
+ type: object
+ basicAuth:
+ description: BasicAuth for the client. This is mutually
+ exclusive with Authorization. If both are defined,
+ BasicAuth takes precedence.
+ properties:
+ password:
+ description: The secret in the service monitor
+ namespace that contains the password for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ username:
+ description: The secret in the service monitor
+ namespace that contains the username for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ bearerTokenSecret:
+ description: The secret's key that contains the bearer
+ token to be used by the client for authentication.
+ The secret needs to be in the same namespace as
+ the AlertmanagerConfig object and accessible by
+ the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ followRedirects:
+ description: FollowRedirects specifies whether the
+ client should follow HTTP 3xx redirects.
+ type: boolean
+ oauth2:
+ description: OAuth2 client credentials used to fetch
+ a token for the targets.
+ properties:
+ clientId:
+ description: The secret or configmap containing
+ the OAuth2 client id
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientSecret:
+ description: The secret containing the OAuth2
+ client secret
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ additionalProperties:
+ type: string
+ description: Parameters to append to the token
+ URL
+ type: object
+ scopes:
+ description: OAuth2 scopes used for the token
+ request
+ items:
+ type: string
+ type: array
+ tokenUrl:
+ description: The URL to fetch the token from
+ minLength: 1
+ type: string
+ required:
+ - clientId
+ - clientSecret
+ - tokenUrl
+ type: object
+ proxyURL:
+ description: Optional proxy URL.
+ type: string
+ tlsConfig:
+ description: TLS configuration for the client.
+ properties:
+ ca:
+ description: Struct containing the CA cert to
+ use for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ cert:
+ description: Struct containing the client cert
+ file for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keySecret:
+ description: Secret containing the client key
+ file for the targets.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ serverName:
+ description: Used to verify the hostname for the
+ targets.
+ type: string
+ type: object
+ type: object
+ iconEmoji:
+ type: string
+ iconURL:
+ type: string
+ imageURL:
+ type: string
+ linkNames:
+ type: boolean
+ mrkdwnIn:
+ items:
+ type: string
+ type: array
+ pretext:
+ type: string
+ sendResolved:
+ description: Whether or not to notify about resolved alerts.
+ type: boolean
+ shortFields:
+ type: boolean
+ text:
+ type: string
+ thumbURL:
+ type: string
+ title:
+ type: string
+ titleLink:
+ type: string
+ username:
+ type: string
+ type: object
+ type: array
+ snsConfigs:
+ description: List of SNS configurations
+ items:
+ description: SNSConfig configures notifications via AWS SNS.
+ See https://prometheus.io/docs/alerting/latest/configuration/#sns_configs
+ properties:
+ apiURL:
+ description: The SNS API URL i.e. https://sns.us-east-2.amazonaws.com.
+ If not specified, the SNS API URL from the SNS SDK will
+ be used.
+ type: string
+ attributes:
+ additionalProperties:
+ type: string
+ description: SNS message attributes.
+ type: object
+ httpConfig:
+ description: HTTP client configuration.
+ properties:
+ authorization:
+ description: Authorization header configuration for
+ the client. This is mutually exclusive with BasicAuth
+ and is only available starting from Alertmanager
+ v0.22+.
+ properties:
+ credentials:
+ description: The secret's key that contains the
+ credentials of the request
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type:
+ description: Set the authentication type. Defaults
+ to Bearer, Basic will cause an error
+ type: string
+ type: object
+ basicAuth:
+ description: BasicAuth for the client. This is mutually
+ exclusive with Authorization. If both are defined,
+ BasicAuth takes precedence.
+ properties:
+ password:
+ description: The secret in the service monitor
+ namespace that contains the password for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ username:
+ description: The secret in the service monitor
+ namespace that contains the username for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ bearerTokenSecret:
+ description: The secret's key that contains the bearer
+ token to be used by the client for authentication.
+ The secret needs to be in the same namespace as
+ the AlertmanagerConfig object and accessible by
+ the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ followRedirects:
+ description: FollowRedirects specifies whether the
+ client should follow HTTP 3xx redirects.
+ type: boolean
+ oauth2:
+ description: OAuth2 client credentials used to fetch
+ a token for the targets.
+ properties:
+ clientId:
+ description: The secret or configmap containing
+ the OAuth2 client id
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientSecret:
+ description: The secret containing the OAuth2
+ client secret
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ additionalProperties:
+ type: string
+ description: Parameters to append to the token
+ URL
+ type: object
+ scopes:
+ description: OAuth2 scopes used for the token
+ request
+ items:
+ type: string
+ type: array
+ tokenUrl:
+ description: The URL to fetch the token from
+ minLength: 1
+ type: string
+ required:
+ - clientId
+ - clientSecret
+ - tokenUrl
+ type: object
+ proxyURL:
+ description: Optional proxy URL.
+ type: string
+ tlsConfig:
+ description: TLS configuration for the client.
+ properties:
+ ca:
+ description: Struct containing the CA cert to
+ use for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ cert:
+ description: Struct containing the client cert
+ file for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keySecret:
+ description: Secret containing the client key
+ file for the targets.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ serverName:
+ description: Used to verify the hostname for the
+ targets.
+ type: string
+ type: object
+ type: object
+ message:
+ description: The message content of the SNS notification.
+ type: string
+ phoneNumber:
+ description: Phone number if message is delivered via
+ SMS in E.164 format. If you don't specify this value,
+ you must specify a value for the TopicARN or TargetARN.
+ type: string
+ sendResolved:
+ description: Whether or not to notify about resolved alerts.
+ type: boolean
+ sigv4:
+ description: Configures AWS's Signature Verification 4
+ signing process to sign requests.
+ properties:
+ accessKey:
+ description: AccessKey is the AWS API key. If blank,
+ the environment variable `AWS_ACCESS_KEY_ID` is
+ used.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ profile:
+ description: Profile is the named AWS profile used
+ to authenticate.
+ type: string
+ region:
+ description: Region is the AWS region. If blank, the
+ region from the default credentials chain used.
+ type: string
+ roleArn:
+ description: RoleArn is the named AWS profile used
+ to authenticate.
+ type: string
+ secretKey:
+ description: SecretKey is the AWS API secret. If blank,
+ the environment variable `AWS_SECRET_ACCESS_KEY`
+ is used.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ subject:
+ description: Subject line when the message is delivered
+ to email endpoints.
+ type: string
+ targetARN:
+ description: The mobile platform endpoint ARN if message
+ is delivered via mobile notifications. If you don't
+ specify this value, you must specify a value for the
+ topic_arn or PhoneNumber.
+ type: string
+ topicARN:
+ description: SNS topic ARN, i.e. arn:aws:sns:us-east-2:698519295917:My-Topic
+ If you don't specify this value, you must specify a
+ value for the PhoneNumber or TargetARN.
+ type: string
+ type: object
+ type: array
+ telegramConfigs:
+ description: List of Telegram configurations.
+ items:
+ description: TelegramConfig configures notifications via Telegram.
+ See https://prometheus.io/docs/alerting/latest/configuration/#telegram_config
+ properties:
+ apiURL:
+ description: The Telegram API URL i.e. https://api.telegram.org.
+ If not specified, default API URL will be used.
+ type: string
+ botToken:
+ description: Telegram bot token The secret needs to be
+ in the same namespace as the AlertmanagerConfig object
+ and accessible by the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ chatID:
+ description: The Telegram chat ID.
+ format: int64
+ type: integer
+ disableNotifications:
+ description: Disable telegram notifications
+ type: boolean
+ httpConfig:
+ description: HTTP client configuration.
+ properties:
+ authorization:
+ description: Authorization header configuration for
+ the client. This is mutually exclusive with BasicAuth
+ and is only available starting from Alertmanager
+ v0.22+.
+ properties:
+ credentials:
+ description: The secret's key that contains the
+ credentials of the request
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type:
+ description: Set the authentication type. Defaults
+ to Bearer, Basic will cause an error
+ type: string
+ type: object
+ basicAuth:
+ description: BasicAuth for the client. This is mutually
+ exclusive with Authorization. If both are defined,
+ BasicAuth takes precedence.
+ properties:
+ password:
+ description: The secret in the service monitor
+ namespace that contains the password for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ username:
+ description: The secret in the service monitor
+ namespace that contains the username for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ bearerTokenSecret:
+ description: The secret's key that contains the bearer
+ token to be used by the client for authentication.
+ The secret needs to be in the same namespace as
+ the AlertmanagerConfig object and accessible by
+ the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ followRedirects:
+ description: FollowRedirects specifies whether the
+ client should follow HTTP 3xx redirects.
+ type: boolean
+ oauth2:
+ description: OAuth2 client credentials used to fetch
+ a token for the targets.
+ properties:
+ clientId:
+ description: The secret or configmap containing
+ the OAuth2 client id
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientSecret:
+ description: The secret containing the OAuth2
+ client secret
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ additionalProperties:
+ type: string
+ description: Parameters to append to the token
+ URL
+ type: object
+ scopes:
+ description: OAuth2 scopes used for the token
+ request
+ items:
+ type: string
+ type: array
+ tokenUrl:
+ description: The URL to fetch the token from
+ minLength: 1
+ type: string
+ required:
+ - clientId
+ - clientSecret
+ - tokenUrl
+ type: object
+ proxyURL:
+ description: Optional proxy URL.
+ type: string
+ tlsConfig:
+ description: TLS configuration for the client.
+ properties:
+ ca:
+ description: Struct containing the CA cert to
+ use for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ cert:
+ description: Struct containing the client cert
+ file for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keySecret:
+ description: Secret containing the client key
+ file for the targets.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ serverName:
+ description: Used to verify the hostname for the
+ targets.
+ type: string
+ type: object
+ type: object
+ message:
+ description: Message template
+ type: string
+ parseMode:
+ description: Parse mode for telegram message
+ enum:
+ - MarkdownV2
+ - Markdown
+ - HTML
+ type: string
+ sendResolved:
+ description: Whether to notify about resolved alerts.
+ type: boolean
+ type: object
+ type: array
+ victoropsConfigs:
+ description: List of VictorOps configurations.
+ items:
+ description: VictorOpsConfig configures notifications via
+ VictorOps. See https://prometheus.io/docs/alerting/latest/configuration/#victorops_config
+ properties:
+ apiKey:
+ description: The secret's key that contains the API key
+ to use when talking to the VictorOps API. The secret
+ needs to be in the same namespace as the AlertmanagerConfig
+ object and accessible by the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ apiUrl:
+ description: The VictorOps API URL.
+ type: string
+ customFields:
+ description: Additional custom fields for notification.
+ items:
+ description: KeyValue defines a (key, value) tuple.
+ properties:
+ key:
+ description: Key of the tuple.
+ minLength: 1
+ type: string
+ value:
+ description: Value of the tuple.
+ type: string
+ required:
+ - key
+ - value
+ type: object
+ type: array
+ entityDisplayName:
+ description: Contains summary of the alerted problem.
+ type: string
+ httpConfig:
+ description: The HTTP client's configuration.
+ properties:
+ authorization:
+ description: Authorization header configuration for
+ the client. This is mutually exclusive with BasicAuth
+ and is only available starting from Alertmanager
+ v0.22+.
+ properties:
+ credentials:
+ description: The secret's key that contains the
+ credentials of the request
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type:
+ description: Set the authentication type. Defaults
+ to Bearer, Basic will cause an error
+ type: string
+ type: object
+ basicAuth:
+ description: BasicAuth for the client. This is mutually
+ exclusive with Authorization. If both are defined,
+ BasicAuth takes precedence.
+ properties:
+ password:
+ description: The secret in the service monitor
+ namespace that contains the password for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ username:
+ description: The secret in the service monitor
+ namespace that contains the username for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ bearerTokenSecret:
+ description: The secret's key that contains the bearer
+ token to be used by the client for authentication.
+ The secret needs to be in the same namespace as
+ the AlertmanagerConfig object and accessible by
+ the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ followRedirects:
+ description: FollowRedirects specifies whether the
+ client should follow HTTP 3xx redirects.
+ type: boolean
+ oauth2:
+ description: OAuth2 client credentials used to fetch
+ a token for the targets.
+ properties:
+ clientId:
+ description: The secret or configmap containing
+ the OAuth2 client id
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientSecret:
+ description: The secret containing the OAuth2
+ client secret
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ additionalProperties:
+ type: string
+ description: Parameters to append to the token
+ URL
+ type: object
+ scopes:
+ description: OAuth2 scopes used for the token
+ request
+ items:
+ type: string
+ type: array
+ tokenUrl:
+ description: The URL to fetch the token from
+ minLength: 1
+ type: string
+ required:
+ - clientId
+ - clientSecret
+ - tokenUrl
+ type: object
+ proxyURL:
+ description: Optional proxy URL.
+ type: string
+ tlsConfig:
+ description: TLS configuration for the client.
+ properties:
+ ca:
+ description: Struct containing the CA cert to
+ use for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ cert:
+ description: Struct containing the client cert
+ file for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keySecret:
+ description: Secret containing the client key
+ file for the targets.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ serverName:
+ description: Used to verify the hostname for the
+ targets.
+ type: string
+ type: object
+ type: object
+ messageType:
+ description: Describes the behavior of the alert (CRITICAL,
+ WARNING, INFO).
+ type: string
+ monitoringTool:
+ description: The monitoring tool the state message is
+ from.
+ type: string
+ routingKey:
+ description: A key used to map the alert to a team.
+ type: string
+ sendResolved:
+ description: Whether or not to notify about resolved alerts.
+ type: boolean
+ stateMessage:
+ description: Contains long explanation of the alerted
+ problem.
+ type: string
+ type: object
+ type: array
+ webhookConfigs:
+ description: List of webhook configurations.
+ items:
+ description: WebhookConfig configures notifications via a
+ generic receiver supporting the webhook payload. See https://prometheus.io/docs/alerting/latest/configuration/#webhook_config
+ properties:
+ httpConfig:
+ description: HTTP client configuration.
+ properties:
+ authorization:
+ description: Authorization header configuration for
+ the client. This is mutually exclusive with BasicAuth
+ and is only available starting from Alertmanager
+ v0.22+.
+ properties:
+ credentials:
+ description: The secret's key that contains the
+ credentials of the request
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type:
+ description: Set the authentication type. Defaults
+ to Bearer, Basic will cause an error
+ type: string
+ type: object
+ basicAuth:
+ description: BasicAuth for the client. This is mutually
+ exclusive with Authorization. If both are defined,
+ BasicAuth takes precedence.
+ properties:
+ password:
+ description: The secret in the service monitor
+ namespace that contains the password for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ username:
+ description: The secret in the service monitor
+ namespace that contains the username for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ bearerTokenSecret:
+ description: The secret's key that contains the bearer
+ token to be used by the client for authentication.
+ The secret needs to be in the same namespace as
+ the AlertmanagerConfig object and accessible by
+ the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ followRedirects:
+ description: FollowRedirects specifies whether the
+ client should follow HTTP 3xx redirects.
+ type: boolean
+ oauth2:
+ description: OAuth2 client credentials used to fetch
+ a token for the targets.
+ properties:
+ clientId:
+ description: The secret or configmap containing
+ the OAuth2 client id
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientSecret:
+ description: The secret containing the OAuth2
+ client secret
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ additionalProperties:
+ type: string
+ description: Parameters to append to the token
+ URL
+ type: object
+ scopes:
+ description: OAuth2 scopes used for the token
+ request
+ items:
+ type: string
+ type: array
+ tokenUrl:
+ description: The URL to fetch the token from
+ minLength: 1
+ type: string
+ required:
+ - clientId
+ - clientSecret
+ - tokenUrl
+ type: object
+ proxyURL:
+ description: Optional proxy URL.
+ type: string
+ tlsConfig:
+ description: TLS configuration for the client.
+ properties:
+ ca:
+ description: Struct containing the CA cert to
+ use for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ cert:
+ description: Struct containing the client cert
+ file for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keySecret:
+ description: Secret containing the client key
+ file for the targets.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ serverName:
+ description: Used to verify the hostname for the
+ targets.
+ type: string
+ type: object
+ type: object
+ maxAlerts:
+ description: Maximum number of alerts to be sent per webhook
+ message. When 0, all alerts are included.
+ format: int32
+ minimum: 0
+ type: integer
+ sendResolved:
+ description: Whether or not to notify about resolved alerts.
+ type: boolean
+ url:
+ description: The URL to send HTTP POST requests to. `urlSecret`
+ takes precedence over `url`. One of `urlSecret` and
+ `url` should be defined.
+ type: string
+ urlSecret:
+ description: The secret's key that contains the webhook
+ URL to send HTTP requests to. `urlSecret` takes precedence
+ over `url`. One of `urlSecret` and `url` should be defined.
+ The secret needs to be in the same namespace as the
+ AlertmanagerConfig object and accessible by the Prometheus
+ Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ type: array
+ wechatConfigs:
+ description: List of WeChat configurations.
+ items:
+ description: WeChatConfig configures notifications via WeChat.
+ See https://prometheus.io/docs/alerting/latest/configuration/#wechat_config
+ properties:
+ agentID:
+ type: string
+ apiSecret:
+ description: The secret's key that contains the WeChat
+ API key. The secret needs to be in the same namespace
+ as the AlertmanagerConfig object and accessible by the
+ Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its key
+ must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ apiURL:
+ description: The WeChat API URL.
+ type: string
+ corpID:
+ description: The corp id for authentication.
+ type: string
+ httpConfig:
+ description: HTTP client configuration.
+ properties:
+ authorization:
+ description: Authorization header configuration for
+ the client. This is mutually exclusive with BasicAuth
+ and is only available starting from Alertmanager
+ v0.22+.
+ properties:
+ credentials:
+ description: The secret's key that contains the
+ credentials of the request
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type:
+ description: Set the authentication type. Defaults
+ to Bearer, Basic will cause an error
+ type: string
+ type: object
+ basicAuth:
+ description: BasicAuth for the client. This is mutually
+ exclusive with Authorization. If both are defined,
+ BasicAuth takes precedence.
+ properties:
+ password:
+ description: The secret in the service monitor
+ namespace that contains the password for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ username:
+ description: The secret in the service monitor
+ namespace that contains the username for authentication.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ bearerTokenSecret:
+ description: The secret's key that contains the bearer
+ token to be used by the client for authentication.
+ The secret needs to be in the same namespace as
+ the AlertmanagerConfig object and accessible by
+ the Prometheus Operator.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion, kind,
+ uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or its
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ followRedirects:
+ description: FollowRedirects specifies whether the
+ client should follow HTTP 3xx redirects.
+ type: boolean
+ oauth2:
+ description: OAuth2 client credentials used to fetch
+ a token for the targets.
+ properties:
+ clientId:
+ description: The secret or configmap containing
+ the OAuth2 client id
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientSecret:
+ description: The secret containing the OAuth2
+ client secret
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ additionalProperties:
+ type: string
+ description: Parameters to append to the token
+ URL
+ type: object
+ scopes:
+ description: OAuth2 scopes used for the token
+ request
+ items:
+ type: string
+ type: array
+ tokenUrl:
+ description: The URL to fetch the token from
+ minLength: 1
+ type: string
+ required:
+ - clientId
+ - clientSecret
+ - tokenUrl
+ type: object
+ proxyURL:
+ description: Optional proxy URL.
+ type: string
+ tlsConfig:
+ description: TLS configuration for the client.
+ properties:
+ ca:
+ description: Struct containing the CA cert to
+ use for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ cert:
+ description: Struct containing the client cert
+ file for the targets.
+ properties:
+ configMap:
+ description: ConfigMap containing data to
+ use for the targets.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ secret:
+ description: Secret containing data to use
+ for the targets.
+ properties:
+ key:
+ description: The key of the secret to
+ select from. Must be a valid secret
+ key.
+ type: string
+ name:
+ description: 'Name of the referent. More
+ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret
+ or its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keySecret:
+ description: Secret containing the client key
+ file for the targets.
+ properties:
+ key:
+ description: The key of the secret to select
+ from. Must be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info:
+ https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ TODO: Add other useful fields. apiVersion,
+ kind, uid?'
+ type: string
+ optional:
+ description: Specify whether the Secret or
+ its key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ serverName:
+ description: Used to verify the hostname for the
+ targets.
+ type: string
+ type: object
+ type: object
+ message:
+ description: API request data as defined by the WeChat
+ API.
+ type: string
+ messageType:
+ type: string
+ sendResolved:
+ description: Whether or not to notify about resolved alerts.
+ type: boolean
+ toParty:
+ type: string
+ toTag:
+ type: string
+ toUser:
+ type: string
+ type: object
+ type: array
+ required:
+ - name
+ type: object
+ type: array
+ route:
+ description: The Alertmanager route definition for alerts matching
+ the resource’s namespace. If present, it will be added to the generated
+ Alertmanager configuration as a first-level route.
+ properties:
+ continue:
+ description: Boolean indicating whether an alert should continue
+ matching subsequent sibling nodes. It will always be overridden
+ to true for the first-level route by the Prometheus operator.
+ type: boolean
+ groupBy:
+ description: List of labels to group by. Labels must not be repeated
+ (unique list). Special label "..." (aggregate by all possible
+ labels), if provided, must be the only element in the list.
+ items:
+ type: string
+ type: array
+ groupInterval:
+ description: 'How long to wait before sending an updated notification.
+ Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$`
+ Example: "5m"'
+ type: string
+ groupWait:
+ description: 'How long to wait before sending the initial notification.
+ Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$`
+ Example: "30s"'
+ type: string
+ matchers:
+ description: 'List of matchers that the alert’s labels should
+ match. For the first level route, the operator removes any existing
+ equality and regexp matcher on the `namespace` label and adds
+ a `namespace: