diff --git a/.github/workflows/release-chart.yml b/.github/workflows/release-chart.yml
index 5f71eef..705d8e1 100644
--- a/.github/workflows/release-chart.yml
+++ b/.github/workflows/release-chart.yml
@@ -149,6 +149,7 @@ jobs:
- name: sync image
run: |
+ sleep 300
DEPENDSIMAGE=$(kubectl get pods -n deepflow -o jsonpath={.items[*].spec.containers[*].image}|awk -F" " '{for(i=1;i<=NF;i++) print $i}' |grep -v deepflow|sort -u)
for SYNCIMAGE in $DEPENDSIMAGE
do
diff --git a/charts/deepflow/charts/byconity/Chart.yaml b/charts/deepflow/charts/byconity/Chart.yaml
new file mode 100644
index 0000000..0c5fe50
--- /dev/null
+++ b/charts/deepflow/charts/byconity/Chart.yaml
@@ -0,0 +1,32 @@
+apiVersion: v2
+name: byconity
+description: A Helm chart for Kubernetes
+
+# A chart can be either an 'application' or a 'library' chart.
+#
+# Application charts are a collection of templates that can be packaged into versioned archives
+# to be deployed.
+#
+# Library charts provide useful utilities or functions for the chart developer. They're included as
+# a dependency of application charts to inject those utilities and functions into the rendering
+# pipeline. Library charts do not define any templates and therefore cannot be deployed.
+type: application
+
+# This is the chart version. This version number should be incremented each time you make changes
+# to the chart and its templates, including the app version.
+# Versions are expected to follow Semantic Versioning (https://semver.org/)
+version: 0.1.0
+
+# This is the version number of the application being deployed. This version number should be
+# incremented each time you make changes to the application. Versions are not expected to
+# follow Semantic Versioning. They should reflect the version the application is using.
+# It is recommended to use it with quotes.
+appVersion: "1.16.0"
+
+dependencies:
+- name: hdfs
+ condition: hdfs.enabled
+ version: '*.*.*'
+- name: fdb-operator
+ condition: fdb-operator.enabled
+ version: '*.*.*'
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/Chart.yaml b/charts/deepflow/charts/byconity/charts/fdb-operator/Chart.yaml
new file mode 100644
index 0000000..dd54581
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/fdb-operator/Chart.yaml
@@ -0,0 +1,27 @@
+apiVersion: v2
+name: fdb-operator
+description: A Helm chart for foundationDB operator
+home: https://www.foundationdb.org/
+sources:
+- https://github.com/FoundationDB/fdb-kubernetes-operator/tree/master/helm/fdb-operator
+
+# A chart can be either an 'application' or a 'library' chart.
+#
+# Application charts are a collection of templates that can be packaged into versioned archives
+# to be deployed.
+#
+# Library charts provide useful utilities or functions for the chart developer. They're included as
+# a dependency of application charts to inject those utilities and functions into the rendering
+# pipeline. Library charts do not define any templates and therefore cannot be deployed.
+type: application
+
+# This is the chart version. This version number should be incremented each time you make changes
+# to the chart and its templates, including the app version.
+version: 0.2.0
+
+# This is the version number of the application being deployed. This version number should be
+# incremented each time you make changes to the application.
+appVersion: v1.9.0
+
+maintainers:
+ - name: "foundationdb-ci"
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/crds/apps.foundationdb.org_foundationdbbackups.yaml b/charts/deepflow/charts/byconity/charts/fdb-operator/crds/apps.foundationdb.org_foundationdbbackups.yaml
new file mode 100644
index 0000000..2fe8aae
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/fdb-operator/crds/apps.foundationdb.org_foundationdbbackups.yaml
@@ -0,0 +1,6612 @@
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.9.2
+ creationTimestamp: null
+ name: foundationdbbackups.apps.foundationdb.org
+spec:
+ group: apps.foundationdb.org
+ names:
+ kind: FoundationDBBackup
+ listKind: FoundationDBBackupList
+ plural: foundationdbbackups
+ shortNames:
+ - fdbbackup
+ singular: foundationdbbackup
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - description: Latest generation of the spec
+ jsonPath: .metadata.generation
+ name: Generation
+ type: integer
+ - description: Last reconciled generation of the spec
+ jsonPath: .status.generations.reconciled
+ name: Reconciled
+ type: integer
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ deprecated: true
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ accountName:
+ type: string
+ agentCount:
+ type: integer
+ allowTagOverride:
+ default: false
+ type: boolean
+ backupDeploymentMetadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ backupName:
+ type: string
+ backupState:
+ enum:
+ - Running
+ - Stopped
+ - Paused
+ type: string
+ blobStoreConfiguration:
+ properties:
+ accountName:
+ maxLength: 100
+ type: string
+ backupName:
+ maxLength: 1024
+ type: string
+ bucket:
+ maxLength: 63
+ minLength: 3
+ type: string
+ urlParameters:
+ items:
+ maxLength: 1024
+ type: string
+ maxItems: 100
+ type: array
+ required:
+ - accountName
+ type: object
+ bucket:
+ type: string
+ clusterName:
+ type: string
+ customParameters:
+ items:
+ maxLength: 100
+ type: string
+ maxItems: 100
+ type: array
+ podTemplateSpec:
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ podAffinity:
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ podAffinityTerm:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ os:
+ properties:
+ name:
+ type: string
+ required:
+ - name
+ 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
+ serviceAccount:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ maxSkew:
+ format: int32
+ type: integer
+ minDomains:
+ 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
+ x-kubernetes-map-type: atomic
+ user:
+ type: string
+ required:
+ - monitors
+ type: object
+ cinder:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ configMap:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ key:
+ type: string
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ required:
+ - key
+ - path
+ type: object
+ type: array
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ csi:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ nodePublishSecretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ readOnly:
+ type: boolean
+ volumeAttributes:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - driver
+ type: object
+ downwardAPI:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ required:
+ - driver
+ type: object
+ flocker:
+ properties:
+ datasetName:
+ type: string
+ datasetUUID:
+ type: string
+ type: object
+ gcePersistentDisk:
+ properties:
+ fsType:
+ type: string
+ partition:
+ format: int32
+ type: integer
+ pdName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - pdName
+ type: object
+ gitRepo:
+ properties:
+ directory:
+ type: string
+ repository:
+ type: string
+ revision:
+ type: string
+ required:
+ - repository
+ type: object
+ glusterfs:
+ properties:
+ endpoints:
+ type: string
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - endpoints
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ 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
+ x-kubernetes-map-type: atomic
+ targetPortal:
+ type: string
+ required:
+ - iqn
+ - lun
+ - targetPortal
+ type: object
+ name:
+ type: string
+ nfs:
+ properties:
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ server:
+ type: string
+ required:
+ - path
+ - server
+ type: object
+ persistentVolumeClaim:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ photonPersistentDisk:
+ properties:
+ fsType:
+ type: string
+ pdID:
+ type: string
+ required:
+ - pdID
+ type: object
+ portworxVolume:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ projected:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ sources:
+ items:
+ properties:
+ 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
+ x-kubernetes-map-type: atomic
+ downwardAPI:
+ properties:
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ serviceAccountToken:
+ properties:
+ audience:
+ type: string
+ expirationSeconds:
+ format: int64
+ type: integer
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ volumeName:
+ type: string
+ volumeNamespace:
+ type: string
+ type: object
+ vsphereVolume:
+ properties:
+ fsType:
+ type: string
+ storagePolicyID:
+ type: string
+ storagePolicyName:
+ type: string
+ volumePath:
+ type: string
+ required:
+ - volumePath
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ required:
+ - containers
+ type: object
+ type: object
+ snapshotPeriodSeconds:
+ type: integer
+ version:
+ type: string
+ required:
+ - clusterName
+ - version
+ type: object
+ status:
+ properties:
+ agentCount:
+ type: integer
+ backupDetails:
+ properties:
+ paused:
+ type: boolean
+ running:
+ type: boolean
+ snapshotTime:
+ type: integer
+ url:
+ type: string
+ type: object
+ deploymentConfigured:
+ type: boolean
+ generations:
+ properties:
+ needsBackupAgentUpdate:
+ format: int64
+ type: integer
+ needsBackupModification:
+ format: int64
+ type: integer
+ needsBackupPauseToggle:
+ format: int64
+ type: integer
+ needsBackupStart:
+ format: int64
+ type: integer
+ needsBackupStop:
+ format: int64
+ type: integer
+ reconciled:
+ format: int64
+ type: integer
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ - additionalPrinterColumns:
+ - description: Latest generation of the spec
+ jsonPath: .metadata.generation
+ name: Generation
+ type: integer
+ - description: Last reconciled generation of the spec
+ jsonPath: .status.generations.reconciled
+ name: Reconciled
+ type: integer
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ name: v1beta2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ agentCount:
+ type: integer
+ allowTagOverride:
+ default: false
+ type: boolean
+ backupDeploymentMetadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ backupState:
+ enum:
+ - Running
+ - Stopped
+ - Paused
+ type: string
+ blobStoreConfiguration:
+ properties:
+ accountName:
+ maxLength: 100
+ type: string
+ backupName:
+ maxLength: 1024
+ type: string
+ bucket:
+ maxLength: 63
+ minLength: 3
+ type: string
+ urlParameters:
+ items:
+ maxLength: 1024
+ type: string
+ maxItems: 100
+ type: array
+ required:
+ - accountName
+ type: object
+ clusterName:
+ type: string
+ customParameters:
+ items:
+ maxLength: 100
+ type: string
+ maxItems: 100
+ type: array
+ mainContainer:
+ properties:
+ enableLivenessProbe:
+ type: boolean
+ enableReadinessProbe:
+ type: boolean
+ enableTls:
+ type: boolean
+ imageConfigs:
+ items:
+ properties:
+ baseImage:
+ maxLength: 200
+ type: string
+ tag:
+ maxLength: 100
+ type: string
+ tagSuffix:
+ maxLength: 50
+ type: string
+ version:
+ maxLength: 20
+ type: string
+ type: object
+ maxItems: 100
+ type: array
+ peerVerificationRules:
+ maxLength: 10000
+ type: string
+ type: object
+ podTemplateSpec:
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ podAffinity:
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ podAffinityTerm:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ os:
+ properties:
+ name:
+ type: string
+ required:
+ - name
+ 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
+ serviceAccount:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ maxSkew:
+ format: int32
+ type: integer
+ minDomains:
+ 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
+ x-kubernetes-map-type: atomic
+ user:
+ type: string
+ required:
+ - monitors
+ type: object
+ cinder:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ configMap:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ key:
+ type: string
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ required:
+ - key
+ - path
+ type: object
+ type: array
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ csi:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ nodePublishSecretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ readOnly:
+ type: boolean
+ volumeAttributes:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - driver
+ type: object
+ downwardAPI:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ required:
+ - driver
+ type: object
+ flocker:
+ properties:
+ datasetName:
+ type: string
+ datasetUUID:
+ type: string
+ type: object
+ gcePersistentDisk:
+ properties:
+ fsType:
+ type: string
+ partition:
+ format: int32
+ type: integer
+ pdName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - pdName
+ type: object
+ gitRepo:
+ properties:
+ directory:
+ type: string
+ repository:
+ type: string
+ revision:
+ type: string
+ required:
+ - repository
+ type: object
+ glusterfs:
+ properties:
+ endpoints:
+ type: string
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - endpoints
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ 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
+ x-kubernetes-map-type: atomic
+ targetPortal:
+ type: string
+ required:
+ - iqn
+ - lun
+ - targetPortal
+ type: object
+ name:
+ type: string
+ nfs:
+ properties:
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ server:
+ type: string
+ required:
+ - path
+ - server
+ type: object
+ persistentVolumeClaim:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ photonPersistentDisk:
+ properties:
+ fsType:
+ type: string
+ pdID:
+ type: string
+ required:
+ - pdID
+ type: object
+ portworxVolume:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ projected:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ sources:
+ items:
+ properties:
+ 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
+ x-kubernetes-map-type: atomic
+ downwardAPI:
+ properties:
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ serviceAccountToken:
+ properties:
+ audience:
+ type: string
+ expirationSeconds:
+ format: int64
+ type: integer
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ volumeName:
+ type: string
+ volumeNamespace:
+ type: string
+ type: object
+ vsphereVolume:
+ properties:
+ fsType:
+ type: string
+ storagePolicyID:
+ type: string
+ storagePolicyName:
+ type: string
+ volumePath:
+ type: string
+ required:
+ - volumePath
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ required:
+ - containers
+ type: object
+ type: object
+ sidecarContainer:
+ properties:
+ enableLivenessProbe:
+ type: boolean
+ enableReadinessProbe:
+ type: boolean
+ enableTls:
+ type: boolean
+ imageConfigs:
+ items:
+ properties:
+ baseImage:
+ maxLength: 200
+ type: string
+ tag:
+ maxLength: 100
+ type: string
+ tagSuffix:
+ maxLength: 50
+ type: string
+ version:
+ maxLength: 20
+ type: string
+ type: object
+ maxItems: 100
+ type: array
+ peerVerificationRules:
+ maxLength: 10000
+ type: string
+ type: object
+ snapshotPeriodSeconds:
+ type: integer
+ version:
+ type: string
+ required:
+ - clusterName
+ - version
+ type: object
+ status:
+ properties:
+ agentCount:
+ type: integer
+ backupDetails:
+ properties:
+ paused:
+ type: boolean
+ running:
+ type: boolean
+ snapshotTime:
+ type: integer
+ url:
+ type: string
+ type: object
+ deploymentConfigured:
+ type: boolean
+ generations:
+ properties:
+ needsBackupAgentUpdate:
+ format: int64
+ type: integer
+ needsBackupModification:
+ format: int64
+ type: integer
+ needsBackupPauseToggle:
+ format: int64
+ type: integer
+ needsBackupStart:
+ format: int64
+ type: integer
+ needsBackupStop:
+ format: int64
+ type: integer
+ reconciled:
+ format: int64
+ type: integer
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/crds/apps.foundationdb.org_foundationdbclusters.yaml b/charts/deepflow/charts/byconity/charts/fdb-operator/crds/apps.foundationdb.org_foundationdbclusters.yaml
new file mode 100644
index 0000000..71c9e10
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/fdb-operator/crds/apps.foundationdb.org_foundationdbclusters.yaml
@@ -0,0 +1,13833 @@
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.9.2
+ creationTimestamp: null
+ name: foundationdbclusters.apps.foundationdb.org
+spec:
+ group: apps.foundationdb.org
+ names:
+ kind: FoundationDBCluster
+ listKind: FoundationDBClusterList
+ plural: foundationdbclusters
+ shortNames:
+ - fdb
+ singular: foundationdbcluster
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - description: Latest generation of the spec
+ jsonPath: .metadata.generation
+ name: Generation
+ type: integer
+ - description: Last reconciled generation of the spec
+ jsonPath: .status.generations.reconciled
+ name: Reconciled
+ type: integer
+ - description: Database available
+ jsonPath: .status.health.available
+ name: Available
+ type: boolean
+ - description: Database fully replicated
+ jsonPath: .status.health.fullReplication
+ name: FullReplication
+ type: boolean
+ - description: Running version
+ jsonPath: .status.runningVersion
+ name: Version
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ deprecated: true
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ automationOptions:
+ properties:
+ configureDatabase:
+ type: boolean
+ deletePods:
+ type: boolean
+ deletionMode:
+ default: Zone
+ enum:
+ - All
+ - Zone
+ - ProcessGroup
+ - None
+ type: string
+ enforceFullReplicationForDeletion:
+ type: boolean
+ ignorePendingPodsDuration:
+ format: int64
+ type: integer
+ ignoreTerminatingPodsSeconds:
+ type: integer
+ killProcesses:
+ type: boolean
+ maxConcurrentReplacements:
+ minimum: 0
+ type: integer
+ podUpdateStrategy:
+ default: ReplaceTransactionSystem
+ enum:
+ - Replace
+ - ReplaceTransactionSystem
+ - Delete
+ type: string
+ removalMode:
+ default: Zone
+ enum:
+ - All
+ - Zone
+ - ProcessGroup
+ - None
+ type: string
+ replacements:
+ properties:
+ enabled:
+ type: boolean
+ failureDetectionTimeSeconds:
+ type: integer
+ maxConcurrentReplacements:
+ default: 1
+ minimum: 0
+ type: integer
+ type: object
+ useNonBlockingExcludes:
+ type: boolean
+ waitBetweenRemovalsSeconds:
+ type: integer
+ type: object
+ automountServiceAccountToken:
+ type: boolean
+ buggify:
+ properties:
+ crashLoop:
+ items:
+ type: string
+ type: array
+ emptyMonitorConf:
+ type: boolean
+ noSchedule:
+ items:
+ type: string
+ type: array
+ type: object
+ configMap:
+ properties:
+ apiVersion:
+ type: string
+ binaryData:
+ additionalProperties:
+ format: byte
+ type: string
+ type: object
+ data:
+ additionalProperties:
+ type: string
+ type: object
+ immutable:
+ type: boolean
+ kind:
+ type: string
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: object
+ configured:
+ type: boolean
+ connectionString:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ coordinatorSelection:
+ items:
+ properties:
+ priority:
+ type: integer
+ processClass:
+ type: string
+ type: object
+ type: array
+ customParameters:
+ items:
+ maxLength: 100
+ type: string
+ maxItems: 100
+ type: array
+ dataCenter:
+ type: string
+ dataHall:
+ type: string
+ databaseConfiguration:
+ properties:
+ log_routers:
+ type: integer
+ log_spill:
+ type: integer
+ log_version:
+ type: integer
+ logs:
+ type: integer
+ proxies:
+ type: integer
+ redundancy_mode:
+ enum:
+ - single
+ - double
+ - triple
+ maxLength: 100
+ type: string
+ regions:
+ items:
+ properties:
+ datacenters:
+ items:
+ properties:
+ id:
+ type: string
+ priority:
+ type: integer
+ satellite:
+ maximum: 1
+ minimum: 0
+ type: integer
+ type: object
+ type: array
+ satellite_logs:
+ type: integer
+ satellite_redundancy_mode:
+ type: string
+ type: object
+ type: array
+ remote_logs:
+ type: integer
+ resolvers:
+ type: integer
+ storage:
+ type: integer
+ storage_engine:
+ default: ssd-2
+ enum:
+ - ssd
+ - ssd-1
+ - ssd-2
+ - memory
+ - memory-1
+ - memory-2
+ - ssd-redwood-1-experimental
+ - ssd-rocksdb-experimental
+ - memory-radixtree-beta
+ - custom
+ maxLength: 100
+ type: string
+ usable_regions:
+ type: integer
+ type: object
+ faultDomain:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ type: string
+ zoneCount:
+ type: integer
+ zoneIndex:
+ type: integer
+ type: object
+ ignoreUpgradabilityChecks:
+ type: boolean
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ instanceIDPrefix:
+ type: string
+ instancesToRemove:
+ items:
+ type: string
+ type: array
+ instancesToRemoveWithoutExclusion:
+ items:
+ type: string
+ type: array
+ labels:
+ properties:
+ filterOnOwnerReference:
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ processClassLabels:
+ items:
+ type: string
+ maxItems: 100
+ type: array
+ processGroupIDLabels:
+ items:
+ type: string
+ maxItems: 100
+ type: array
+ resourceLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ lockOptions:
+ properties:
+ denyList:
+ items:
+ properties:
+ allow:
+ type: boolean
+ id:
+ type: string
+ type: object
+ type: array
+ disableLocks:
+ type: boolean
+ lockDurationMinutes:
+ type: integer
+ lockKeyPrefix:
+ type: string
+ type: object
+ logGroup:
+ type: string
+ mainContainer:
+ properties:
+ enableLivenessProbe:
+ type: boolean
+ enableReadinessProbe:
+ type: boolean
+ enableTls:
+ type: boolean
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ imageConfigs:
+ items:
+ properties:
+ baseImage:
+ type: string
+ tag:
+ type: string
+ tagSuffix:
+ type: string
+ version:
+ type: string
+ type: object
+ type: array
+ imageName:
+ type: string
+ peerVerificationRules:
+ type: string
+ 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
+ minimumUptimeSecondsForBounce:
+ default: 600
+ minimum: 1
+ type: integer
+ nextInstanceID:
+ type: integer
+ partialConnectionString:
+ properties:
+ coordinators:
+ items:
+ type: string
+ type: array
+ databaseName:
+ type: string
+ generationID:
+ type: string
+ type: object
+ pendingRemovals:
+ additionalProperties:
+ type: string
+ type: object
+ podLabels:
+ additionalProperties:
+ type: string
+ type: object
+ 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
+ podTemplate:
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ podAffinity:
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ podAffinityTerm:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ os:
+ properties:
+ name:
+ type: string
+ required:
+ - name
+ 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
+ serviceAccount:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ maxSkew:
+ format: int32
+ type: integer
+ minDomains:
+ 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
+ x-kubernetes-map-type: atomic
+ user:
+ type: string
+ required:
+ - monitors
+ type: object
+ cinder:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ configMap:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ key:
+ type: string
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ required:
+ - key
+ - path
+ type: object
+ type: array
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ csi:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ nodePublishSecretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ readOnly:
+ type: boolean
+ volumeAttributes:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - driver
+ type: object
+ downwardAPI:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ required:
+ - driver
+ type: object
+ flocker:
+ properties:
+ datasetName:
+ type: string
+ datasetUUID:
+ type: string
+ type: object
+ gcePersistentDisk:
+ properties:
+ fsType:
+ type: string
+ partition:
+ format: int32
+ type: integer
+ pdName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - pdName
+ type: object
+ gitRepo:
+ properties:
+ directory:
+ type: string
+ repository:
+ type: string
+ revision:
+ type: string
+ required:
+ - repository
+ type: object
+ glusterfs:
+ properties:
+ endpoints:
+ type: string
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - endpoints
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ 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
+ x-kubernetes-map-type: atomic
+ targetPortal:
+ type: string
+ required:
+ - iqn
+ - lun
+ - targetPortal
+ type: object
+ name:
+ type: string
+ nfs:
+ properties:
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ server:
+ type: string
+ required:
+ - path
+ - server
+ type: object
+ persistentVolumeClaim:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ photonPersistentDisk:
+ properties:
+ fsType:
+ type: string
+ pdID:
+ type: string
+ required:
+ - pdID
+ type: object
+ portworxVolume:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ projected:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ sources:
+ items:
+ properties:
+ 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
+ x-kubernetes-map-type: atomic
+ downwardAPI:
+ properties:
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ serviceAccountToken:
+ properties:
+ audience:
+ type: string
+ expirationSeconds:
+ format: int64
+ type: integer
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ volumeName:
+ type: string
+ volumeNamespace:
+ type: string
+ type: object
+ vsphereVolume:
+ properties:
+ fsType:
+ type: string
+ storagePolicyID:
+ type: string
+ storagePolicyName:
+ type: string
+ volumePath:
+ type: string
+ required:
+ - volumePath
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ required:
+ - containers
+ type: object
+ type: object
+ processCounts:
+ properties:
+ backup:
+ type: integer
+ cluster_controller:
+ type: integer
+ coordinator:
+ type: integer
+ data_distributor:
+ type: integer
+ fast_restore:
+ type: integer
+ log:
+ type: integer
+ master:
+ type: integer
+ proxy:
+ type: integer
+ ratekeeper:
+ type: integer
+ resolution:
+ type: integer
+ resolver:
+ type: integer
+ router:
+ type: integer
+ stateless:
+ type: integer
+ storage:
+ type: integer
+ storage_cache:
+ type: integer
+ tester:
+ type: integer
+ transaction:
+ type: integer
+ unset:
+ type: integer
+ type: object
+ processGroupIDPrefix:
+ maxLength: 43
+ type: string
+ processGroupsToRemove:
+ items:
+ type: string
+ maxItems: 500
+ minItems: 0
+ type: array
+ processGroupsToRemoveWithoutExclusion:
+ items:
+ type: string
+ maxItems: 500
+ minItems: 0
+ type: array
+ processes:
+ additionalProperties:
+ properties:
+ allowTagOverride:
+ default: false
+ type: boolean
+ customParameters:
+ items:
+ maxLength: 100
+ type: string
+ maxItems: 100
+ type: array
+ podTemplate:
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ podAffinity:
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ podAffinityTerm:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ os:
+ properties:
+ name:
+ type: string
+ required:
+ - name
+ 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
+ serviceAccount:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ maxSkew:
+ format: int32
+ type: integer
+ minDomains:
+ 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
+ x-kubernetes-map-type: atomic
+ user:
+ type: string
+ required:
+ - monitors
+ type: object
+ cinder:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ configMap:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ key:
+ type: string
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ required:
+ - key
+ - path
+ type: object
+ type: array
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ csi:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ nodePublishSecretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ readOnly:
+ type: boolean
+ volumeAttributes:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - driver
+ type: object
+ downwardAPI:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ required:
+ - driver
+ type: object
+ flocker:
+ properties:
+ datasetName:
+ type: string
+ datasetUUID:
+ type: string
+ type: object
+ gcePersistentDisk:
+ properties:
+ fsType:
+ type: string
+ partition:
+ format: int32
+ type: integer
+ pdName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - pdName
+ type: object
+ gitRepo:
+ properties:
+ directory:
+ type: string
+ repository:
+ type: string
+ revision:
+ type: string
+ required:
+ - repository
+ type: object
+ glusterfs:
+ properties:
+ endpoints:
+ type: string
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - endpoints
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ 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
+ x-kubernetes-map-type: atomic
+ targetPortal:
+ type: string
+ required:
+ - iqn
+ - lun
+ - targetPortal
+ type: object
+ name:
+ type: string
+ nfs:
+ properties:
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ server:
+ type: string
+ required:
+ - path
+ - server
+ type: object
+ persistentVolumeClaim:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ photonPersistentDisk:
+ properties:
+ fsType:
+ type: string
+ pdID:
+ type: string
+ required:
+ - pdID
+ type: object
+ portworxVolume:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ projected:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ sources:
+ items:
+ properties:
+ 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
+ x-kubernetes-map-type: atomic
+ downwardAPI:
+ properties:
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ serviceAccountToken:
+ properties:
+ audience:
+ type: string
+ expirationSeconds:
+ format: int64
+ type: integer
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ volumeName:
+ type: string
+ volumeNamespace:
+ type: string
+ type: object
+ vsphereVolume:
+ properties:
+ fsType:
+ type: string
+ storagePolicyID:
+ type: string
+ storagePolicyName:
+ type: string
+ volumePath:
+ type: string
+ required:
+ - volumePath
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ required:
+ - containers
+ type: object
+ type: object
+ volumeClaim:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ status:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ allocatedResources:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ capacity:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ conditions:
+ items:
+ properties:
+ lastProbeTime:
+ format: date-time
+ type: string
+ lastTransitionTime:
+ format: date-time
+ type: string
+ message:
+ type: string
+ reason:
+ type: string
+ status:
+ type: string
+ type:
+ type: string
+ required:
+ - status
+ - type
+ type: object
+ type: array
+ phase:
+ type: string
+ resizeStatus:
+ type: string
+ type: object
+ type: object
+ volumeClaimTemplate:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ status:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ allocatedResources:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ capacity:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ conditions:
+ items:
+ properties:
+ lastProbeTime:
+ format: date-time
+ type: string
+ lastTransitionTime:
+ format: date-time
+ type: string
+ message:
+ type: string
+ reason:
+ type: string
+ status:
+ type: string
+ type:
+ type: string
+ required:
+ - status
+ - type
+ type: object
+ type: array
+ phase:
+ type: string
+ resizeStatus:
+ type: string
+ type: object
+ type: object
+ type: object
+ type: object
+ replaceInstancesWhenResourcesChange:
+ default: false
+ type: boolean
+ 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
+ routing:
+ properties:
+ dnsDomain:
+ maxLength: 253
+ minLength: 1
+ type: string
+ headlessService:
+ type: boolean
+ podIPFamily:
+ type: integer
+ publicIPSource:
+ type: string
+ useDNSInClusterFile:
+ type: boolean
+ type: object
+ runningVersion:
+ type: string
+ seedConnectionString:
+ type: string
+ services:
+ properties:
+ headless:
+ type: boolean
+ publicIPSource:
+ type: string
+ type: object
+ sidecarContainer:
+ properties:
+ enableLivenessProbe:
+ type: boolean
+ enableReadinessProbe:
+ type: boolean
+ enableTls:
+ type: boolean
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ imageConfigs:
+ items:
+ properties:
+ baseImage:
+ type: string
+ tag:
+ type: string
+ tagSuffix:
+ type: string
+ version:
+ type: string
+ type: object
+ type: array
+ imageName:
+ type: string
+ peerVerificationRules:
+ type: string
+ 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
+ sidecarVariables:
+ items:
+ type: string
+ type: array
+ sidecarVersion:
+ type: integer
+ sidecarVersions:
+ additionalProperties:
+ type: integer
+ type: object
+ skip:
+ default: false
+ type: boolean
+ storageClass:
+ type: string
+ storageServersPerPod:
+ type: integer
+ trustedCAs:
+ items:
+ type: string
+ type: array
+ updatePodsByReplacement:
+ type: boolean
+ useExplicitListenAddress:
+ type: boolean
+ useUnifiedImage:
+ type: boolean
+ version:
+ pattern: (\d+)\.(\d+)\.(\d+)
+ type: string
+ volumeClaim:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ status:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ allocatedResources:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ capacity:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ conditions:
+ items:
+ properties:
+ lastProbeTime:
+ format: date-time
+ type: string
+ lastTransitionTime:
+ format: date-time
+ type: string
+ message:
+ type: string
+ reason:
+ type: string
+ status:
+ type: string
+ type:
+ type: string
+ required:
+ - status
+ - type
+ type: object
+ type: array
+ phase:
+ type: string
+ resizeStatus:
+ type: string
+ type: object
+ type: object
+ volumeSize:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ user:
+ type: string
+ required:
+ - monitors
+ type: object
+ cinder:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ configMap:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ key:
+ type: string
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ required:
+ - key
+ - path
+ type: object
+ type: array
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ csi:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ nodePublishSecretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ readOnly:
+ type: boolean
+ volumeAttributes:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - driver
+ type: object
+ downwardAPI:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ required:
+ - driver
+ type: object
+ flocker:
+ properties:
+ datasetName:
+ type: string
+ datasetUUID:
+ type: string
+ type: object
+ gcePersistentDisk:
+ properties:
+ fsType:
+ type: string
+ partition:
+ format: int32
+ type: integer
+ pdName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - pdName
+ type: object
+ gitRepo:
+ properties:
+ directory:
+ type: string
+ repository:
+ type: string
+ revision:
+ type: string
+ required:
+ - repository
+ type: object
+ glusterfs:
+ properties:
+ endpoints:
+ type: string
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - endpoints
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ 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
+ x-kubernetes-map-type: atomic
+ targetPortal:
+ type: string
+ required:
+ - iqn
+ - lun
+ - targetPortal
+ type: object
+ name:
+ type: string
+ nfs:
+ properties:
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ server:
+ type: string
+ required:
+ - path
+ - server
+ type: object
+ persistentVolumeClaim:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ photonPersistentDisk:
+ properties:
+ fsType:
+ type: string
+ pdID:
+ type: string
+ required:
+ - pdID
+ type: object
+ portworxVolume:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ projected:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ sources:
+ items:
+ properties:
+ 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
+ x-kubernetes-map-type: atomic
+ downwardAPI:
+ properties:
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ serviceAccountToken:
+ properties:
+ audience:
+ type: string
+ expirationSeconds:
+ format: int64
+ type: integer
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ volumeName:
+ type: string
+ volumeNamespace:
+ type: string
+ type: object
+ vsphereVolume:
+ properties:
+ fsType:
+ type: string
+ storagePolicyID:
+ type: string
+ storagePolicyName:
+ type: string
+ volumePath:
+ type: string
+ required:
+ - volumePath
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ required:
+ - version
+ type: object
+ status:
+ properties:
+ configured:
+ type: boolean
+ connectionString:
+ type: string
+ databaseConfiguration:
+ properties:
+ log_routers:
+ type: integer
+ log_spill:
+ type: integer
+ log_version:
+ type: integer
+ logs:
+ type: integer
+ proxies:
+ type: integer
+ redundancy_mode:
+ enum:
+ - single
+ - double
+ - triple
+ maxLength: 100
+ type: string
+ regions:
+ items:
+ properties:
+ datacenters:
+ items:
+ properties:
+ id:
+ type: string
+ priority:
+ type: integer
+ satellite:
+ maximum: 1
+ minimum: 0
+ type: integer
+ type: object
+ type: array
+ satellite_logs:
+ type: integer
+ satellite_redundancy_mode:
+ type: string
+ type: object
+ type: array
+ remote_logs:
+ type: integer
+ resolvers:
+ type: integer
+ storage:
+ type: integer
+ storage_engine:
+ default: ssd-2
+ enum:
+ - ssd
+ - ssd-1
+ - ssd-2
+ - memory
+ - memory-1
+ - memory-2
+ - ssd-redwood-1-experimental
+ - ssd-rocksdb-experimental
+ - memory-radixtree-beta
+ - custom
+ maxLength: 100
+ type: string
+ usable_regions:
+ type: integer
+ type: object
+ failingPods:
+ items:
+ type: string
+ type: array
+ generations:
+ properties:
+ hasExtraListeners:
+ format: int64
+ type: integer
+ hasFailingPods:
+ format: int64
+ type: integer
+ hasPendingRemoval:
+ format: int64
+ type: integer
+ hasUnhealthyProcess:
+ format: int64
+ type: integer
+ missingDatabaseStatus:
+ format: int64
+ type: integer
+ needsBackupAgentUpdate:
+ format: int64
+ type: integer
+ needsBounce:
+ format: int64
+ type: integer
+ needsConfigurationChange:
+ format: int64
+ type: integer
+ needsCoordinatorChange:
+ format: int64
+ type: integer
+ needsGrow:
+ format: int64
+ type: integer
+ needsLockConfigurationChanges:
+ format: int64
+ type: integer
+ needsMonitorConfUpdate:
+ format: int64
+ type: integer
+ needsPodDeletion:
+ format: int64
+ type: integer
+ needsServiceUpdate:
+ format: int64
+ type: integer
+ needsShrink:
+ format: int64
+ type: integer
+ reconciled:
+ format: int64
+ type: integer
+ type: object
+ hasIncorrectConfigMap:
+ type: boolean
+ hasIncorrectServiceConfig:
+ type: boolean
+ hasListenIPsForAllPods:
+ type: boolean
+ health:
+ properties:
+ available:
+ type: boolean
+ dataMovementPriority:
+ type: integer
+ fullReplication:
+ type: boolean
+ healthy:
+ type: boolean
+ type: object
+ imageTypes:
+ items:
+ maxLength: 1024
+ type: string
+ maxItems: 10
+ type: array
+ incorrectPods:
+ items:
+ type: string
+ type: array
+ incorrectProcesses:
+ additionalProperties:
+ format: int64
+ type: integer
+ type: object
+ locks:
+ properties:
+ lockDenyList:
+ items:
+ type: string
+ type: array
+ type: object
+ missingProcesses:
+ additionalProperties:
+ format: int64
+ type: integer
+ type: object
+ needsNewCoordinators:
+ type: boolean
+ needsSidecarConfInConfigMap:
+ type: boolean
+ pendingRemovals:
+ additionalProperties:
+ properties:
+ address:
+ type: string
+ exclusionComplete:
+ type: boolean
+ exclusionStarted:
+ type: boolean
+ hadInstance:
+ type: boolean
+ podName:
+ type: string
+ type: object
+ type: object
+ processCounts:
+ properties:
+ backup:
+ type: integer
+ cluster_controller:
+ type: integer
+ coordinator:
+ type: integer
+ data_distributor:
+ type: integer
+ fast_restore:
+ type: integer
+ log:
+ type: integer
+ master:
+ type: integer
+ proxy:
+ type: integer
+ ratekeeper:
+ type: integer
+ resolution:
+ type: integer
+ resolver:
+ type: integer
+ router:
+ type: integer
+ stateless:
+ type: integer
+ storage:
+ type: integer
+ storage_cache:
+ type: integer
+ tester:
+ type: integer
+ transaction:
+ type: integer
+ unset:
+ type: integer
+ type: object
+ processGroups:
+ items:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ excluded:
+ type: boolean
+ exclusionSkipped:
+ type: boolean
+ exclusionTimestamp:
+ format: date-time
+ type: string
+ processClass:
+ type: string
+ processGroupConditions:
+ items:
+ properties:
+ timestamp:
+ format: int64
+ type: integer
+ type:
+ type: string
+ type: object
+ type: array
+ processGroupID:
+ type: string
+ removalTimestamp:
+ format: date-time
+ type: string
+ remove:
+ type: boolean
+ type: object
+ type: array
+ requiredAddresses:
+ properties:
+ nonTLS:
+ type: boolean
+ tls:
+ type: boolean
+ type: object
+ runningVersion:
+ type: string
+ storageServersPerDisk:
+ items:
+ type: integer
+ type: array
+ type: object
+ type: object
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ - additionalPrinterColumns:
+ - description: Latest generation of the spec
+ jsonPath: .metadata.generation
+ name: Generation
+ type: integer
+ - description: Last reconciled generation of the spec
+ jsonPath: .status.generations.reconciled
+ name: Reconciled
+ type: integer
+ - description: Database available
+ jsonPath: .status.health.available
+ name: Available
+ type: boolean
+ - description: Database fully replicated
+ jsonPath: .status.health.fullReplication
+ name: FullReplication
+ type: boolean
+ - description: Number of reconciled process groups
+ jsonPath: .status.reconciledProcessGroups
+ name: ReconciledProcessGroups
+ priority: 1
+ type: integer
+ - description: Desired number of process groups
+ jsonPath: .status.desiredProcessGroups
+ name: DesiredProcessGroups
+ priority: 1
+ type: integer
+ - description: Running version
+ jsonPath: .status.runningVersion
+ name: Version
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ name: v1beta2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ automationOptions:
+ properties:
+ configureDatabase:
+ type: boolean
+ deletionMode:
+ default: Zone
+ enum:
+ - All
+ - Zone
+ - ProcessGroup
+ - None
+ type: string
+ ignoreMissingProcessesSeconds:
+ type: integer
+ ignorePendingPodsDuration:
+ format: int64
+ type: integer
+ ignoreTerminatingPodsSeconds:
+ type: integer
+ killProcesses:
+ type: boolean
+ maintenanceModeOptions:
+ properties:
+ UseMaintenanceModeChecker:
+ type: boolean
+ maintenanceModeTimeSeconds:
+ type: integer
+ type: object
+ maxConcurrentReplacements:
+ minimum: 0
+ type: integer
+ podUpdateStrategy:
+ default: ReplaceTransactionSystem
+ enum:
+ - Replace
+ - ReplaceTransactionSystem
+ - Delete
+ type: string
+ removalMode:
+ default: Zone
+ enum:
+ - All
+ - Zone
+ - ProcessGroup
+ - None
+ type: string
+ replacements:
+ properties:
+ enabled:
+ type: boolean
+ failureDetectionTimeSeconds:
+ type: integer
+ maxConcurrentReplacements:
+ default: 1
+ minimum: 0
+ type: integer
+ type: object
+ useLocalitiesForExclusion:
+ type: boolean
+ useManagementAPI:
+ type: boolean
+ useNonBlockingExcludes:
+ type: boolean
+ waitBetweenRemovalsSeconds:
+ type: integer
+ type: object
+ buggify:
+ properties:
+ crashLoop:
+ items:
+ type: string
+ type: array
+ emptyMonitorConf:
+ type: boolean
+ noSchedule:
+ items:
+ type: string
+ type: array
+ type: object
+ configMap:
+ properties:
+ apiVersion:
+ type: string
+ binaryData:
+ additionalProperties:
+ format: byte
+ type: string
+ type: object
+ data:
+ additionalProperties:
+ type: string
+ type: object
+ immutable:
+ type: boolean
+ kind:
+ type: string
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: object
+ coordinatorSelection:
+ items:
+ properties:
+ priority:
+ type: integer
+ processClass:
+ type: string
+ type: object
+ type: array
+ dataCenter:
+ type: string
+ dataHall:
+ type: string
+ databaseConfiguration:
+ properties:
+ commit_proxies:
+ type: integer
+ excluded_servers:
+ items:
+ properties:
+ address:
+ maxLength: 48
+ type: string
+ locality:
+ maxLength: 200
+ type: string
+ type: object
+ maxItems: 1024
+ type: array
+ grv_proxies:
+ type: integer
+ log_routers:
+ type: integer
+ log_spill:
+ type: integer
+ log_version:
+ type: integer
+ logs:
+ type: integer
+ proxies:
+ type: integer
+ redundancy_mode:
+ enum:
+ - single
+ - double
+ - triple
+ maxLength: 100
+ type: string
+ regions:
+ items:
+ properties:
+ datacenters:
+ items:
+ properties:
+ id:
+ type: string
+ priority:
+ type: integer
+ satellite:
+ maximum: 1
+ minimum: 0
+ type: integer
+ type: object
+ type: array
+ satellite_logs:
+ type: integer
+ satellite_redundancy_mode:
+ maxLength: 100
+ type: string
+ type: object
+ type: array
+ remote_logs:
+ type: integer
+ resolvers:
+ type: integer
+ storage:
+ type: integer
+ storage_engine:
+ default: ssd-2
+ enum:
+ - ssd
+ - ssd-1
+ - ssd-2
+ - memory
+ - memory-1
+ - memory-2
+ - ssd-redwood-1-experimental
+ - ssd-rocksdb-experimental
+ - ssd-rocksdb-v1
+ - ssd-sharded-rocksdb
+ - memory-radixtree-beta
+ - custom
+ maxLength: 100
+ type: string
+ usable_regions:
+ type: integer
+ type: object
+ faultDomain:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ type: string
+ zoneCount:
+ type: integer
+ zoneIndex:
+ type: integer
+ type: object
+ ignoreUpgradabilityChecks:
+ type: boolean
+ labels:
+ properties:
+ filterOnOwnerReference:
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ processClassLabels:
+ items:
+ type: string
+ maxItems: 100
+ type: array
+ processGroupIDLabels:
+ items:
+ type: string
+ maxItems: 100
+ type: array
+ resourceLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ lockOptions:
+ properties:
+ denyList:
+ items:
+ properties:
+ allow:
+ type: boolean
+ id:
+ type: string
+ type: object
+ type: array
+ disableLocks:
+ type: boolean
+ lockDurationMinutes:
+ type: integer
+ lockKeyPrefix:
+ type: string
+ type: object
+ logGroup:
+ type: string
+ mainContainer:
+ properties:
+ enableLivenessProbe:
+ type: boolean
+ enableReadinessProbe:
+ type: boolean
+ enableTls:
+ type: boolean
+ imageConfigs:
+ items:
+ properties:
+ baseImage:
+ maxLength: 200
+ type: string
+ tag:
+ maxLength: 100
+ type: string
+ tagSuffix:
+ maxLength: 50
+ type: string
+ version:
+ maxLength: 20
+ type: string
+ type: object
+ maxItems: 100
+ type: array
+ peerVerificationRules:
+ maxLength: 10000
+ type: string
+ type: object
+ minimumUptimeSecondsForBounce:
+ default: 600
+ minimum: 1
+ type: integer
+ partialConnectionString:
+ properties:
+ coordinators:
+ items:
+ type: string
+ type: array
+ databaseName:
+ type: string
+ generationID:
+ type: string
+ type: object
+ processCounts:
+ properties:
+ backup:
+ type: integer
+ cluster_controller:
+ type: integer
+ commit_proxy:
+ type: integer
+ coordinator:
+ type: integer
+ data_distributor:
+ type: integer
+ fast_restore:
+ type: integer
+ grv_proxy:
+ type: integer
+ log:
+ type: integer
+ master:
+ type: integer
+ proxy:
+ type: integer
+ ratekeeper:
+ type: integer
+ resolution:
+ type: integer
+ router:
+ type: integer
+ stateless:
+ type: integer
+ storage:
+ type: integer
+ storage_cache:
+ type: integer
+ tester:
+ type: integer
+ transaction:
+ type: integer
+ unset:
+ type: integer
+ type: object
+ processGroupIDPrefix:
+ maxLength: 43
+ type: string
+ processGroupsToRemove:
+ items:
+ type: string
+ maxItems: 500
+ minItems: 0
+ type: array
+ processGroupsToRemoveWithoutExclusion:
+ items:
+ type: string
+ maxItems: 500
+ minItems: 0
+ type: array
+ processes:
+ additionalProperties:
+ properties:
+ customParameters:
+ items:
+ maxLength: 100
+ type: string
+ maxItems: 100
+ type: array
+ podTemplate:
+ properties:
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ podAffinity:
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ items:
+ properties:
+ podAffinityTerm:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ items:
+ properties:
+ configMapRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ prefix:
+ type: string
+ secretRef:
+ properties:
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ os:
+ properties:
+ name:
+ type: string
+ required:
+ - name
+ 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
+ serviceAccount:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ maxSkew:
+ format: int32
+ type: integer
+ minDomains:
+ 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
+ x-kubernetes-map-type: atomic
+ user:
+ type: string
+ required:
+ - monitors
+ type: object
+ cinder:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ secretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ configMap:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ key:
+ type: string
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ required:
+ - key
+ - path
+ type: object
+ type: array
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ x-kubernetes-map-type: atomic
+ csi:
+ properties:
+ driver:
+ type: string
+ fsType:
+ type: string
+ nodePublishSecretRef:
+ properties:
+ name:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ readOnly:
+ type: boolean
+ volumeAttributes:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - driver
+ type: object
+ downwardAPI:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ required:
+ - driver
+ type: object
+ flocker:
+ properties:
+ datasetName:
+ type: string
+ datasetUUID:
+ type: string
+ type: object
+ gcePersistentDisk:
+ properties:
+ fsType:
+ type: string
+ partition:
+ format: int32
+ type: integer
+ pdName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - pdName
+ type: object
+ gitRepo:
+ properties:
+ directory:
+ type: string
+ repository:
+ type: string
+ revision:
+ type: string
+ required:
+ - repository
+ type: object
+ glusterfs:
+ properties:
+ endpoints:
+ type: string
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - endpoints
+ - path
+ type: object
+ hostPath:
+ properties:
+ path:
+ type: string
+ type:
+ type: string
+ required:
+ - path
+ type: object
+ 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
+ x-kubernetes-map-type: atomic
+ targetPortal:
+ type: string
+ required:
+ - iqn
+ - lun
+ - targetPortal
+ type: object
+ name:
+ type: string
+ nfs:
+ properties:
+ path:
+ type: string
+ readOnly:
+ type: boolean
+ server:
+ type: string
+ required:
+ - path
+ - server
+ type: object
+ persistentVolumeClaim:
+ properties:
+ claimName:
+ type: string
+ readOnly:
+ type: boolean
+ required:
+ - claimName
+ type: object
+ photonPersistentDisk:
+ properties:
+ fsType:
+ type: string
+ pdID:
+ type: string
+ required:
+ - pdID
+ type: object
+ portworxVolume:
+ properties:
+ fsType:
+ type: string
+ readOnly:
+ type: boolean
+ volumeID:
+ type: string
+ required:
+ - volumeID
+ type: object
+ projected:
+ properties:
+ defaultMode:
+ format: int32
+ type: integer
+ sources:
+ items:
+ properties:
+ 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
+ x-kubernetes-map-type: atomic
+ downwardAPI:
+ properties:
+ items:
+ items:
+ properties:
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ mode:
+ format: int32
+ type: integer
+ path:
+ type: string
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - path
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ serviceAccountToken:
+ properties:
+ audience:
+ type: string
+ expirationSeconds:
+ format: int64
+ type: integer
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ type: object
+ type: array
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ volumeName:
+ type: string
+ volumeNamespace:
+ type: string
+ type: object
+ vsphereVolume:
+ properties:
+ fsType:
+ type: string
+ storagePolicyID:
+ type: string
+ storagePolicyName:
+ type: string
+ volumePath:
+ type: string
+ required:
+ - volumePath
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ required:
+ - containers
+ type: object
+ type: object
+ volumeClaimTemplate:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ finalizers:
+ items:
+ type: string
+ type: array
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ type: string
+ namespace:
+ type: string
+ 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
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ 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
+ x-kubernetes-map-type: atomic
+ storageClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ status:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ allocatedResources:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ capacity:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ conditions:
+ items:
+ properties:
+ lastProbeTime:
+ format: date-time
+ type: string
+ lastTransitionTime:
+ format: date-time
+ type: string
+ message:
+ type: string
+ reason:
+ type: string
+ status:
+ type: string
+ type:
+ type: string
+ required:
+ - status
+ - type
+ type: object
+ type: array
+ phase:
+ type: string
+ resizeStatus:
+ type: string
+ type: object
+ type: object
+ type: object
+ type: object
+ replaceInstancesWhenResourcesChange:
+ default: false
+ type: boolean
+ routing:
+ properties:
+ dnsDomain:
+ maxLength: 253
+ minLength: 1
+ type: string
+ headlessService:
+ type: boolean
+ podIPFamily:
+ type: integer
+ publicIPSource:
+ type: string
+ useDNSInClusterFile:
+ type: boolean
+ type: object
+ seedConnectionString:
+ type: string
+ sidecarContainer:
+ properties:
+ enableLivenessProbe:
+ type: boolean
+ enableReadinessProbe:
+ type: boolean
+ enableTls:
+ type: boolean
+ imageConfigs:
+ items:
+ properties:
+ baseImage:
+ maxLength: 200
+ type: string
+ tag:
+ maxLength: 100
+ type: string
+ tagSuffix:
+ maxLength: 50
+ type: string
+ version:
+ maxLength: 20
+ type: string
+ type: object
+ maxItems: 100
+ type: array
+ peerVerificationRules:
+ maxLength: 10000
+ type: string
+ type: object
+ sidecarVariables:
+ items:
+ type: string
+ type: array
+ skip:
+ default: false
+ type: boolean
+ storageServersPerPod:
+ type: integer
+ trustedCAs:
+ items:
+ type: string
+ type: array
+ useExplicitListenAddress:
+ type: boolean
+ useUnifiedImage:
+ type: boolean
+ version:
+ pattern: (\d+)\.(\d+)\.(\d+)
+ type: string
+ required:
+ - version
+ type: object
+ status:
+ properties:
+ configured:
+ type: boolean
+ connectionString:
+ type: string
+ databaseConfiguration:
+ properties:
+ commit_proxies:
+ type: integer
+ excluded_servers:
+ items:
+ properties:
+ address:
+ maxLength: 48
+ type: string
+ locality:
+ maxLength: 200
+ type: string
+ type: object
+ maxItems: 1024
+ type: array
+ grv_proxies:
+ type: integer
+ log_routers:
+ type: integer
+ log_spill:
+ type: integer
+ log_version:
+ type: integer
+ logs:
+ type: integer
+ proxies:
+ type: integer
+ redundancy_mode:
+ enum:
+ - single
+ - double
+ - triple
+ maxLength: 100
+ type: string
+ regions:
+ items:
+ properties:
+ datacenters:
+ items:
+ properties:
+ id:
+ type: string
+ priority:
+ type: integer
+ satellite:
+ maximum: 1
+ minimum: 0
+ type: integer
+ type: object
+ type: array
+ satellite_logs:
+ type: integer
+ satellite_redundancy_mode:
+ maxLength: 100
+ type: string
+ type: object
+ type: array
+ remote_logs:
+ type: integer
+ resolvers:
+ type: integer
+ storage:
+ type: integer
+ storage_engine:
+ default: ssd-2
+ enum:
+ - ssd
+ - ssd-1
+ - ssd-2
+ - memory
+ - memory-1
+ - memory-2
+ - ssd-redwood-1-experimental
+ - ssd-rocksdb-experimental
+ - ssd-rocksdb-v1
+ - ssd-sharded-rocksdb
+ - memory-radixtree-beta
+ - custom
+ maxLength: 100
+ type: string
+ usable_regions:
+ type: integer
+ type: object
+ desiredProcessGroups:
+ type: integer
+ generations:
+ properties:
+ hasExtraListeners:
+ format: int64
+ type: integer
+ hasPendingRemoval:
+ format: int64
+ type: integer
+ hasUnhealthyProcess:
+ format: int64
+ type: integer
+ missingDatabaseStatus:
+ format: int64
+ type: integer
+ needsBounce:
+ format: int64
+ type: integer
+ needsConfigurationChange:
+ format: int64
+ type: integer
+ needsCoordinatorChange:
+ format: int64
+ type: integer
+ needsGrow:
+ format: int64
+ type: integer
+ needsLockConfigurationChanges:
+ format: int64
+ type: integer
+ needsMonitorConfUpdate:
+ format: int64
+ type: integer
+ needsPodDeletion:
+ format: int64
+ type: integer
+ needsServiceUpdate:
+ format: int64
+ type: integer
+ needsShrink:
+ format: int64
+ type: integer
+ reconciled:
+ format: int64
+ type: integer
+ type: object
+ hasIncorrectConfigMap:
+ type: boolean
+ hasIncorrectServiceConfig:
+ type: boolean
+ hasListenIPsForAllPods:
+ type: boolean
+ health:
+ properties:
+ available:
+ type: boolean
+ dataMovementPriority:
+ type: integer
+ fullReplication:
+ type: boolean
+ healthy:
+ type: boolean
+ type: object
+ imageTypes:
+ items:
+ maxLength: 1024
+ type: string
+ maxItems: 10
+ type: array
+ locks:
+ properties:
+ lockDenyList:
+ items:
+ type: string
+ type: array
+ type: object
+ maintenanceModeInfo:
+ properties:
+ processGroups:
+ items:
+ type: string
+ type: array
+ startTimestamp:
+ format: date-time
+ type: string
+ zoneID:
+ type: string
+ type: object
+ needsNewCoordinators:
+ type: boolean
+ processGroups:
+ items:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ exclusionSkipped:
+ type: boolean
+ exclusionTimestamp:
+ format: date-time
+ type: string
+ processClass:
+ type: string
+ processGroupConditions:
+ items:
+ properties:
+ timestamp:
+ format: int64
+ type: integer
+ type:
+ type: string
+ type: object
+ type: array
+ processGroupID:
+ type: string
+ removalTimestamp:
+ format: date-time
+ type: string
+ type: object
+ type: array
+ reconciledProcessGroups:
+ type: integer
+ requiredAddresses:
+ properties:
+ nonTLS:
+ type: boolean
+ tls:
+ type: boolean
+ type: object
+ runningVersion:
+ type: string
+ storageServersPerDisk:
+ items:
+ type: integer
+ type: array
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/crds/apps.foundationdb.org_foundationdbrestores.yaml b/charts/deepflow/charts/byconity/charts/fdb-operator/crds/apps.foundationdb.org_foundationdbrestores.yaml
new file mode 100644
index 0000000..fb194d7
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/fdb-operator/crds/apps.foundationdb.org_foundationdbrestores.yaml
@@ -0,0 +1,166 @@
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.9.2
+ creationTimestamp: null
+ name: foundationdbrestores.apps.foundationdb.org
+spec:
+ group: apps.foundationdb.org
+ names:
+ kind: FoundationDBRestore
+ listKind: FoundationDBRestoreList
+ plural: foundationdbrestores
+ shortNames:
+ - fdbrestore
+ singular: foundationdbrestore
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ deprecated: true
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ backupURL:
+ type: string
+ blobStoreConfiguration:
+ properties:
+ accountName:
+ maxLength: 100
+ type: string
+ backupName:
+ maxLength: 1024
+ type: string
+ bucket:
+ maxLength: 63
+ minLength: 3
+ type: string
+ urlParameters:
+ items:
+ maxLength: 1024
+ type: string
+ maxItems: 100
+ type: array
+ required:
+ - accountName
+ type: object
+ customParameters:
+ items:
+ maxLength: 100
+ type: string
+ maxItems: 100
+ type: array
+ destinationClusterName:
+ type: string
+ keyRanges:
+ items:
+ properties:
+ end:
+ pattern: ^[A-Za-z0-9\/\\-]+$
+ type: string
+ start:
+ pattern: ^[A-Za-z0-9\/\\-]+$
+ type: string
+ required:
+ - end
+ - start
+ type: object
+ type: array
+ required:
+ - destinationClusterName
+ type: object
+ status:
+ properties:
+ running:
+ type: boolean
+ type: object
+ type: object
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ name: v1beta2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ blobStoreConfiguration:
+ properties:
+ accountName:
+ maxLength: 100
+ type: string
+ backupName:
+ maxLength: 1024
+ type: string
+ bucket:
+ maxLength: 63
+ minLength: 3
+ type: string
+ urlParameters:
+ items:
+ maxLength: 1024
+ type: string
+ maxItems: 100
+ type: array
+ required:
+ - accountName
+ type: object
+ customParameters:
+ items:
+ maxLength: 100
+ type: string
+ maxItems: 100
+ type: array
+ destinationClusterName:
+ type: string
+ keyRanges:
+ items:
+ properties:
+ end:
+ pattern: ^[A-Za-z0-9\/\\-]+$
+ type: string
+ start:
+ pattern: ^[A-Za-z0-9\/\\-]+$
+ type: string
+ required:
+ - end
+ - start
+ type: object
+ type: array
+ required:
+ - destinationClusterName
+ type: object
+ status:
+ properties:
+ running:
+ type: boolean
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/templates/NOTES.txt b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/NOTES.txt
new file mode 100644
index 0000000..ae0e2e2
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/NOTES.txt
@@ -0,0 +1,6 @@
+FoundationDB operator has been installed successfully.
+
+To see the logs of the operator you can use below command
+kubectl logs deployment/{{ include "fdb-operator.fullname" . }} -n {{ .Release.Namespace }} -f
+
+Thanks for trying out FoundationDB helm chart.
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/templates/_helpers.tpl b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/_helpers.tpl
new file mode 100644
index 0000000..5d9d5e1
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/_helpers.tpl
@@ -0,0 +1,60 @@
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "fdb-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 "fdb-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 -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "fdb-operator.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Common labels
+*/}}
+{{- define "fdb-operator.labels" -}}
+helm.sh/chart: {{ include "fdb-operator.chart" . }}
+{{ include "fdb-operator.selectorLabels" . }}
+app.kubernetes.io/version: {{ .Values.image.tag | trimPrefix "v" | quote }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "fdb-operator.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "fdb-operator.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Create the name of the service account
+*/}}
+{{- define "fdb-operator.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create -}}
+ {{ default (include "fdb-operator.fullname" .) .Values.serviceAccount.name }}
+{{- else -}}
+ {{ default "default" .Values.serviceAccount.name }}
+{{- end -}}
+{{- end -}}
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/templates/manager/deployment.yaml b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/manager/deployment.yaml
new file mode 100644
index 0000000..fb16763
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/manager/deployment.yaml
@@ -0,0 +1,120 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "fdb-operator.fullname" . }}
+ labels:
+ {{- include "fdb-operator.labels" . | nindent 4 }}
+ {{- with .Values.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ {{- with .Values.replicas }}
+ replicas: {{ . }}
+ {{- end }}
+ selector:
+ matchLabels:
+ {{- include "fdb-operator.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ labels:
+ {{- include "fdb-operator.selectorLabels" . | nindent 8 }}
+ {{- with .Values.podLabels }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ spec:
+ serviceAccountName: {{ include "fdb-operator.serviceAccountName" . }}
+ {{- with .Values.priorityClassName }}
+ priorityClassName: {{ . }}
+ {{- end }}
+ securityContext:
+ {{- toYaml .Values.securityContext | nindent 8 }}
+ terminationGracePeriodSeconds: 10
+ imagePullSecrets:
+ {{- with .Values.global.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ initContainers:
+ {{- $imageRepository := tpl $.Values.initContainerImage.repository . }}
+ {{- range $version, $params := $.Values.initContainers }}
+ - name: foundationdb-kubernetes-init-{{ $version | replace "." "-" }}
+ image: "{{ $imageRepository }}:{{ $params.image.tag }}"
+ imagePullPolicy: {{ $params.image.pullPolicy }}
+ args:
+ - "--copy-library"
+ - "{{ $version }}"
+ - "--copy-binary"
+ - "fdbcli"
+ - "--copy-binary"
+ - "fdbbackup"
+ - "--copy-binary"
+ - "fdbrestore"
+ - "--output-dir"
+ - "/var/output-files/{{ regexFind "^[0-9.]+" $params.image.tag }}"
+ - "--init-mode"
+ volumeMounts:
+ - name: fdb-binaries
+ mountPath: /var/output-files
+ resources:
+ {{- toYaml $.Values.initContainersResources | nindent 10 }}
+ securityContext:
+ {{- toYaml $.Values.initContainerSecurityContext | nindent 10 }}
+ {{- end }}
+ containers:
+ - name: manager
+ image: "{{ tpl $.Values.image.repository . }}:{{ tpl $.Values.image.tag . }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ command:
+ - /manager
+ {{- if not .Values.globalMode.enabled }}
+ env:
+ - name: WATCH_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ {{- end }}
+ ports:
+ - containerPort: 8080
+ name: metrics
+ volumeMounts:
+ - name: tmp
+ mountPath: /tmp
+ - name: logs
+ mountPath: /var/log/fdb
+ - name: fdb-binaries
+ mountPath: /usr/bin/fdb
+ securityContext:
+ {{- toYaml .Values.containerSecurityContext | nindent 10 }}
+ livenessProbe:
+ httpGet:
+ path: /metrics
+ port: metrics
+ resources:
+ {{- toYaml .Values.resources | nindent 10 }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ volumes:
+ - name: tmp
+ emptyDir: {}
+ - name: logs
+ emptyDir: {}
+ - name: fdb-binaries
+ emptyDir: {}
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/templates/rbac/rbac_role.yaml b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/rbac/rbac_role.yaml
new file mode 100644
index 0000000..4072606
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/rbac/rbac_role.yaml
@@ -0,0 +1,112 @@
+---
+apiVersion: rbac.authorization.k8s.io/v1
+{{- if .Values.globalMode.enabled }}
+kind: ClusterRole
+{{- else }}
+kind: Role
+{{- end }}
+metadata:
+ name: {{ include "fdb-operator.fullname" . }}
+ labels:
+ {{- include "fdb-operator.labels" . | nindent 4 }}
+rules:
+- apiGroups:
+ - ""
+ resources:
+ - pods
+ - configmaps
+ - persistentvolumeclaims
+ - events
+ verbs:
+ - get
+ - watch
+ - list
+ - create
+ - update
+ - patch
+ - delete
+- apiGroups:
+ - apps.foundationdb.org
+ resources:
+ - foundationdbclusters
+ - foundationdbbackups
+ - foundationdbrestores
+ verbs:
+ - get
+ - list
+ - watch
+ - create
+ - update
+ - patch
+ - delete
+- apiGroups:
+ - apps.foundationdb.org
+ resources:
+ - foundationdbclusters/status
+ - foundationdbbackups/status
+ - foundationdbrestores/status
+ verbs:
+ - get
+ - update
+ - patch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - list
+ - watch
+ - create
+ - update
+ - patch
+ - delete
+- apiGroups:
+ - ""
+ resources:
+ - secrets
+ verbs:
+ - get
+ - list
+ - watch
+ - create
+ - update
+ - patch
+ - delete
+- apiGroups:
+ - ""
+ resources:
+ - services
+ verbs:
+ - get
+ - list
+ - watch
+ - create
+ - update
+ - patch
+ - delete
+- apiGroups:
+ - apps
+ resources:
+ - deployments
+ verbs:
+ - get
+ - list
+ - watch
+ - create
+ - update
+ - patch
+ - delete
+- apiGroups:
+ - coordination.k8s.io
+ resources:
+ - leases
+ verbs:
+ - get
+ - list
+ - watch
+ - create
+ - update
+ - patch
+ - delete
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/templates/rbac/rbac_role_binding.yaml b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/rbac/rbac_role_binding.yaml
new file mode 100644
index 0000000..7a49789
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/rbac/rbac_role_binding.yaml
@@ -0,0 +1,25 @@
+---
+apiVersion: rbac.authorization.k8s.io/v1
+{{- if .Values.globalMode.enabled }}
+kind: ClusterRoleBinding
+{{- else }}
+kind: RoleBinding
+{{- end }}
+metadata:
+ name: {{ include "fdb-operator.fullname" . }}
+ labels:
+ {{- include "fdb-operator.labels" . | nindent 4 }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ {{- if .Values.globalMode.enabled }}
+ kind: ClusterRole
+ {{- else }}
+ kind: Role
+ {{- end }}
+ name: {{ include "fdb-operator.fullname" . }}
+subjects:
+- kind: ServiceAccount
+ name: {{ include "fdb-operator.serviceAccountName" . }}
+ {{- if .Values.globalMode.enabled }}
+ namespace: {{ .Release.Namespace }}
+ {{- end }}
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/templates/rbac/serviceaccount.yaml b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/rbac/serviceaccount.yaml
new file mode 100644
index 0000000..de763cb
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/rbac/serviceaccount.yaml
@@ -0,0 +1,17 @@
+---
+{{- if .Values.serviceAccount.create }}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ include "fdb-operator.serviceAccountName" . }}
+ labels:
+ {{- include "fdb-operator.labels" . | nindent 4 }}
+ {{- with .Values.serviceAccount.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+{{- with .Values.serviceAccount.imagePullSecrets }}
+imagePullSecrets:
+ {{- toYaml . | nindent 2 }}
+{{- end }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/templates/tests/test-connection.yaml b/charts/deepflow/charts/byconity/charts/fdb-operator/templates/tests/test-connection.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/charts/deepflow/charts/byconity/charts/fdb-operator/values.yaml b/charts/deepflow/charts/byconity/charts/fdb-operator/values.yaml
new file mode 100644
index 0000000..e2a5995
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/fdb-operator/values.yaml
@@ -0,0 +1,87 @@
+---
+image:
+ repository: foundationdb/fdb-kubernetes-operator
+ tag: v1.9.0
+ pullPolicy: IfNotPresent
+
+initContainerImage:
+ repository: foundationdb/foundationdb-kubernetes-sidecar
+initContainers:
+ 6.2:
+ image:
+ repository: foundationdb/foundationdb-kubernetes-sidecar
+ tag: 6.2.30-1
+ pullPolicy: IfNotPresent
+ 6.3:
+ image:
+ repository: foundationdb/foundationdb-kubernetes-sidecar
+ tag: 6.3.23-1
+ pullPolicy: IfNotPresent
+ 7.1:
+ image:
+ repository: foundationdb/foundationdb-kubernetes-sidecar
+ tag: 7.1.15-1
+ pullPolicy: IfNotPresent
+
+
+globalMode:
+ enabled: false
+
+replicas: null
+
+imagePullSecrets: []
+
+annotations: {}
+podAnnotations: {}
+podLabels: {}
+
+serviceAccount:
+ create: true
+ name: null
+ imagePullSecrets: []
+ annotations: {}
+
+priorityClassName: null
+
+securityContext:
+ runAsUser: 4059
+ runAsGroup: 4059
+ fsGroup: 4059
+
+containerSecurityContext:
+ allowPrivilegeEscalation: false
+ privileged: false
+ capabilities:
+ drop:
+ - all
+ readOnlyRootFilesystem: true
+
+nodeSelector: {}
+
+affinity: {}
+
+tolerations: {}
+
+resources:
+ limits:
+ cpu: 500m
+ memory: 256Mi
+ requests:
+ cpu: 500m
+ memory: 256Mi
+
+initContainersResources:
+ limits:
+ cpu: 10m
+ memory: 50Mi
+ requests:
+ cpu: 10m
+ memory: 50Mi
+
+initContainerSecurityContext:
+ allowPrivilegeEscalation: false
+ privileged: false
+ capabilities:
+ drop:
+ - all
+ readOnlyRootFilesystem: true
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/.helmignore b/charts/deepflow/charts/byconity/charts/hdfs/.helmignore
new file mode 100644
index 0000000..020db7c
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/.helmignore
@@ -0,0 +1,37 @@
+# Copyright 2020 Crown Copyright
+#
+# 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.
+
+# 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/deepflow/charts/byconity/charts/hdfs/Chart.yaml b/charts/deepflow/charts/byconity/charts/hdfs/Chart.yaml
new file mode 100644
index 0000000..6e0c5aa
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/Chart.yaml
@@ -0,0 +1,19 @@
+# Copyright 2020 Crown Copyright
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+apiVersion: v2
+name: hdfs
+description: Deploys the Hadoop Distributed File System (HDFS)
+type: application
+version: 1.0.0 # managed version
+appVersion: 3.2.2 # managed version
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/README.md b/charts/deepflow/charts/byconity/charts/hdfs/README.md
new file mode 100644
index 0000000..b889f39
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/README.md
@@ -0,0 +1,15 @@
+# HDFS Helm Chart
+
+The Hadoop Distributed File System (HDFS) is a distributed file system designed to run on commodity hardware. This Helm Chart can be used to deploy a HDFS instance onto a Kubernetes cluster.
+
+By default, this chart deploys:
+* a single name node, configured with 1 x 10GB data volume
+* 3 x data nodes, each configured with 2 x 10GB data volumes
+* configuration for a replication factor of 3
+
+
+## Deployment
+
+There are guides for deploying this chart on:
+* a local Kubernetes cluster, [using kind (Kubernetes IN Docker)](docs/kind-deployment.md)
+* an [AWS EKS cluster](docs/aws-eks-deployment.md)
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/docs/aws-eks-deployment.md b/charts/deepflow/charts/byconity/charts/hdfs/docs/aws-eks-deployment.md
new file mode 100644
index 0000000..1a81ed4
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/docs/aws-eks-deployment.md
@@ -0,0 +1,37 @@
+# Deploying HDFS on AWS EKS
+All scripts listed here are intended to be run from the kubernetes/hdfs folder
+
+First follow the [instructions here](../../docs/aws-eks-deployment.md) to provision and configure an [AWS EKS](https://aws.amazon.com/eks/) cluster that the HDFS Helm Chart can be deployed on.
+
+## Using ECR
+If you are hosting the container images in your AWS account, using ECR, then run the following commands to configure the Helm Chart to use them:
+
+```bash
+ACCOUNT=$(aws sts get-caller-identity --query Account --output text)
+[ "${REGION}" = "" ] && REGION=$(aws configure get region)
+[ "${REGION}" = "" ] && REGION=$(curl --silent -m 5 http://169.254.169.254/latest/dynamic/instance-identity/document | grep region | cut -d'"' -f 4)
+if [ "${REGION}" = "" ]; then
+ echo "Unable to detect AWS region, please set \$REGION"
+else
+ REPO_PREFIX="${ACCOUNT}.dkr.ecr.${REGION}.amazonaws.com/gchq"
+
+ EXTRA_HELM_ARGS=""
+ EXTRA_HELM_ARGS+="--set namenode.repository=${REPO_PREFIX}/hdfs "
+ EXTRA_HELM_ARGS+="--set datanode.repository=${REPO_PREFIX}/hdfs "
+ EXTRA_HELM_ARGS+="--set shell.repository=${REPO_PREFIX}/hdfs "
+fi
+```
+
+## Deploy Helm chart
+
+```bash
+export HADOOP_VERSION=${HADOOP_VERSION:-3.2.1}
+
+helm install hdfs . -f ./values-eks-alb.yaml \
+ ${EXTRA_HELM_ARGS} \
+ --set hdfs.namenode.tag=${HADOOP_VERSION} \
+ --set hdfs.datanode.tag=${HADOOP_VERSION} \
+ --set hdfs.shell.tag=${HADOOP_VERSION}
+
+helm test hdfs
+```
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/docs/kind-deployment.md b/charts/deepflow/charts/byconity/charts/hdfs/docs/kind-deployment.md
new file mode 100644
index 0000000..42c05fd
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/docs/kind-deployment.md
@@ -0,0 +1,45 @@
+# Deploying HDFS using kind
+All scripts listed here are intended to be run from the kubernetes/hdfs folder
+
+First follow the [instructions here](../../docs/kind-deployment.md) to provision and configure a local Kubernetes cluster, using [kind](https://kind.sigs.k8s.io/) (Kubernetes IN Docker), that the HDFS Helm Chart can be deployed on.
+
+## Deploying Helm charts
+
+```bash
+export HADOOP_VERSION=${HADOOP_VERSION:-3.2.1}
+
+helm install hdfs . \
+ --set hdfs.namenode.tag=${HADOOP_VERSION} \
+ --set hdfs.datanode.tag=${HADOOP_VERSION} \
+ --set hdfs.shell.tag=${HADOOP_VERSION}
+
+helm test hdfs
+```
+
+## Accessing Web UI (via `kubectl port-forward`)
+
+```
+kubectl port-forward svc/hdfs-namenodes 9870:9870
+```
+
+Then browse to: http://localhost:9870
+
+
+## Accessing Web UI (via [Nginx Ingress Controller](https://github.com/kubernetes/ingress-nginx))
+
+Register the FQDNs for each component in DNS e.g.
+```bash
+echo "127.0.0.1 hdfs.k8s.local" | sudo tee -a /etc/hosts
+```
+
+Update the HDFS deployment to route ingress based on FQDNs:
+```bash
+helm upgrade hdfs . -f ./values-host-based-ingress.yaml --reuse-values
+```
+
+Set up port forwarding to the nginx ingress controller:
+```bash
+sudo KUBECONFIG=$HOME/.kube/config kubectl port-forward -n ingress-nginx svc/ingress-nginx 80:80
+```
+
+Then browse to: http://hdfs.k8s.local
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/_helpers.tpl b/charts/deepflow/charts/byconity/charts/hdfs/templates/_helpers.tpl
new file mode 100644
index 0000000..e1c3afc
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/_helpers.tpl
@@ -0,0 +1,75 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "hdfs.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 "hdfs.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 "hdfs.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Common labels
+*/}}
+{{- define "hdfs.labels" -}}
+helm.sh/chart: {{ include "hdfs.chart" . }}
+{{ include "hdfs.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- if .Values.labels }}
+{{ toYaml .Values.labels }}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Selector labels
+*/}}
+{{- define "hdfs.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "hdfs.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end -}}
+
+{{- define "hdfs.namenode.volumes" -}}
+{{- $count := int . -}}
+{{- range $k, $v := until $count -}}
+{{- if gt $v 0 -}},{{- end -}}
+/data{{- $v -}}/dfs/name
+{{- end -}}
+{{- end -}}
+
+{{- define "hdfs.datanode.volumes" -}}
+{{- $count := int . -}}
+{{- range $k, $v := until $count -}}
+{{- if gt $v 0 -}},{{- end -}}
+/data{{- $v -}}/dfs/data
+{{- end -}}
+{{- end -}}
+
+{{- define "hdfs.namenodeServiceAccountName" -}}
+{{- default (printf "%s-namenode" (include "hdfs.fullname" .)) .Values.config.rackAwareness.serviceAccountName -}}
+{{- end -}}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/config.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/config.yaml
new file mode 100644
index 0000000..26650ad
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/config.yaml
@@ -0,0 +1,322 @@
+# Copyright 2020 Crown Copyright
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ template "hdfs.fullname" . }}
+ labels:
+{{ include "hdfs.labels" . | indent 4 }}
+data:
+ core-site.xml: |-
+
+
+
+
+ fs.defaultFS
+ hdfs://{{ template "hdfs.fullname" . }}-namenode-0.{{ template "hdfs.fullname" . }}-namenodes:{{ .Values.namenode.ports.clientRpc }}
+
+{{- range $k, $v := .Values.config.coreSite }}
+
+ {{$k}}
+ {{$v}}
+
+{{- end }}
+
+
+ hdfs-site.xml: |-
+
+
+
+
+ dfs.namenode.name.dir
+ {{- template "hdfs.namenode.volumes" .Values.namenode.dataVolumes.count -}}
+
+
+ dfs.datanode.data.dir
+ {{- template "hdfs.datanode.volumes" .Values.datanode.dataVolumes.count -}}
+
+{{- range $k, $v := .Values.config.hdfsSite }}
+
+ {{$k}}
+ {{$v}}
+
+{{- end }}
+{{- if .Values.config.rackAwareness }}
+{{- if .Values.config.rackAwareness.nodeTopologyLabel }}
+
+ net.topology.script.file.name
+ /scripts/resolve-rack.sh
+
+
+ net.topology.script.number.args
+ 1
+
+{{- end }}
+{{- end }}
+
+ dfs.namenode.rpc-address
+ {{ template "hdfs.fullname" . }}-namenode-0.{{ template "hdfs.fullname" . }}-namenodes:{{ .Values.namenode.ports.clientRpc }}
+
+
+ dfs.namenode.rpc-bind-host
+ 0.0.0.0
+
+
+ dfs.namenode.servicerpc-address
+ {{ template "hdfs.fullname" . }}-namenode-0.{{ template "hdfs.fullname" . }}-namenodes:{{ .Values.namenode.ports.serviceRpc }}
+
+
+ dfs.namenode.servicerpc-bind-host
+ 0.0.0.0
+
+
+ dfs.namenode.lifeline.rpc-address
+ {{ template "hdfs.fullname" . }}-namenode-0.{{ template "hdfs.fullname" . }}-namenodes:{{ .Values.namenode.ports.lifelineRpc }}
+
+
+ dfs.namenode.lifeline.rpc-bind-host
+ 0.0.0.0
+
+
+ dfs.namenode.http-address
+ 0.0.0.0:{{ .Values.namenode.ports.http }}
+
+
+ dfs.namenode.https-address
+ 0.0.0.0:{{ .Values.namenode.ports.https }}
+
+
+ dfs.datanode.http.address
+ 0.0.0.0:{{ .Values.datanode.ports.http }}
+
+
+ dfs.datanode.https.address
+ 0.0.0.0:{{ .Values.datanode.ports.https }}
+
+
+ dfs.datanode.address
+ 0.0.0.0:{{ .Values.datanode.ports.data }}
+
+
+ dfs.datanode.ipc.address
+ 0.0.0.0:{{ .Values.datanode.ports.ipc }}
+
+
+
+ hadoop-policy.xml: |-
+
+
+
+
+ security.client.protocol.acl
+ *
+ ACL for ClientProtocol, which is used by user code
+ via the DistributedFileSystem.
+ The ACL is a comma-separated list of user and group names. The user and
+ group list is separated by a blank. For e.g. "alice,bob users,wheel".
+ A special value of "*" means all users are allowed.
+
+
+
+ security.client.datanode.protocol.acl
+ *
+ ACL for ClientDatanodeProtocol, the client-to-datanode protocol
+ for block recovery.
+ The ACL is a comma-separated list of user and group names. The user and
+ group list is separated by a blank. For e.g. "alice,bob users,wheel".
+ A special value of "*" means all users are allowed.
+
+
+
+ security.datanode.protocol.acl
+ hadoop
+ ACL for DatanodeProtocol, which is used by datanodes to
+ communicate with the namenode.
+ The ACL is a comma-separated list of user and group names. The user and
+ group list is separated by a blank. For e.g. "alice,bob users,wheel".
+ A special value of "*" means all users are allowed.
+
+
+
+ security.inter.datanode.protocol.acl
+ hadoop
+ ACL for InterDatanodeProtocol, the inter-datanode protocol
+ for updating generation timestamp.
+ The ACL is a comma-separated list of user and group names. The user and
+ group list is separated by a blank. For e.g. "alice,bob users,wheel".
+ A special value of "*" means all users are allowed.
+
+
+
+ security.namenode.protocol.acl
+ hadoop
+ ACL for NamenodeProtocol, the protocol used by the secondary
+ namenode to communicate with the namenode.
+ The ACL is a comma-separated list of user and group names. The user and
+ group list is separated by a blank. For e.g. "alice,bob users,wheel".
+ A special value of "*" means all users are allowed.
+
+
+
+ security.admin.operations.protocol.acl
+ hadoop
+ ACL for AdminOperationsProtocol. Used for admin commands.
+ The ACL is a comma-separated list of user and group names. The user and
+ group list is separated by a blank. For e.g. "alice,bob users,wheel".
+ A special value of "*" means all users are allowed.
+
+
+
+ security.refresh.user.mappings.protocol.acl
+ hadoop
+ ACL for RefreshUserMappingsProtocol. Used to refresh
+ users mappings. The ACL is a comma-separated list of user and
+ group names. The user and group list is separated by a blank. For
+ e.g. "alice,bob users,wheel". A special value of "*" means all
+ users are allowed.
+
+
+
+ security.refresh.policy.protocol.acl
+ hadoop
+ ACL for RefreshAuthorizationPolicyProtocol, used by the
+ dfsadmin and mradmin commands to refresh the security policy in-effect.
+ The ACL is a comma-separated list of user and group names. The user and
+ group list is separated by a blank. For e.g. "alice,bob users,wheel".
+ A special value of "*" means all users are allowed.
+
+
+
+ security.ha.service.protocol.acl
+ hadoop
+ ACL for HAService protocol used by HAAdmin to manage the
+ active and stand-by states of namenode.
+
+
+
+ security.zkfc.protocol.acl
+ hadoop
+ ACL for access to the ZK Failover Controller
+
+
+
+
+ security.qjournal.service.protocol.acl
+ hadoop
+ ACL for QJournalProtocol, used by the NN to communicate with
+ JNs when using the QuorumJournalManager for edit logs.
+
+
+
+ security.interqjournal.service.protocol.acl
+ hadoop
+ ACL for InterQJournalProtocol, used by the JN to
+ communicate with other JN
+
+
+
+
+
+ log4j.properties: |-
+ # Define some default values that can be overridden by system properties
+ hadoop.root.logger=INFO,console
+ hadoop.log.dir=.
+ hadoop.log.file=hadoop.log
+
+ # Define the root logger to the system property "hadoop.root.logger"
+ log4j.rootLogger=${hadoop.root.logger}, EventCounter
+ # Logging Threshold
+ log4j.threshold=ALL
+
+ # Null Appender
+ log4j.appender.NullAppender=org.apache.log4j.varia.NullAppender
+
+ # Console Appender
+ log4j.appender.console=org.apache.log4j.ConsoleAppender
+ log4j.appender.console.target=System.err
+ log4j.appender.console.layout=org.apache.log4j.PatternLayout
+ log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
+
+ # HDFS block state change log from block manager
+ # Uncomment the following to log normal block state change
+ # messages from BlockManager in NameNode.
+ #log4j.logger.BlockStateChange=DEBUG
+
+ # Security appender
+ hadoop.security.logger=INFO,RFAS
+ hadoop.security.log.maxfilesize=256MB
+ hadoop.security.log.maxbackupindex=20
+ log4j.category.SecurityLogger=${hadoop.security.logger}
+ hadoop.security.log.file=security.audit
+ log4j.appender.RFAS=org.apache.log4j.RollingFileAppender
+ log4j.appender.RFAS.File=${hadoop.log.dir}/${hadoop.security.log.file}
+ log4j.appender.RFAS.layout=org.apache.log4j.PatternLayout
+ log4j.appender.RFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
+ log4j.appender.RFAS.MaxFileSize=${hadoop.security.log.maxfilesize}
+ log4j.appender.RFAS.MaxBackupIndex=${hadoop.security.log.maxbackupindex}
+
+ # hdfs audit logging
+ hdfs.audit.logger=INFO,RFAAUDIT
+ hdfs.audit.log.maxfilesize=256MB
+ hdfs.audit.log.maxbackupindex=20
+ log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=${hdfs.audit.logger}
+ log4j.additivity.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=false
+ log4j.appender.RFAAUDIT=org.apache.log4j.RollingFileAppender
+ log4j.appender.RFAAUDIT.File=${hadoop.log.dir}/hdfs-audit.log
+ log4j.appender.RFAAUDIT.layout=org.apache.log4j.PatternLayout
+ log4j.appender.RFAAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n
+ log4j.appender.RFAAUDIT.MaxFileSize=${hdfs.audit.log.maxfilesize}
+ log4j.appender.RFAAUDIT.MaxBackupIndex=${hdfs.audit.log.maxbackupindex}
+
+ # NameNode metrics logging.
+ # The default is to retain two namenode-metrics.log files up to 64MB each.
+ namenode.metrics.logger=INFO,NNMETRICSRFA
+ log4j.logger.NameNodeMetricsLog=${namenode.metrics.logger}
+ log4j.additivity.NameNodeMetricsLog=false
+ log4j.appender.NNMETRICSRFA=org.apache.log4j.RollingFileAppender
+ log4j.appender.NNMETRICSRFA.File=${hadoop.log.dir}/namenode-metrics.log
+ log4j.appender.NNMETRICSRFA.layout=org.apache.log4j.PatternLayout
+ log4j.appender.NNMETRICSRFA.layout.ConversionPattern=%d{ISO8601} %m%n
+ log4j.appender.NNMETRICSRFA.MaxBackupIndex=1
+ log4j.appender.NNMETRICSRFA.MaxFileSize=64MB
+
+ # DataNode metrics logging.
+ # The default is to retain two datanode-metrics.log files up to 64MB each.
+ datanode.metrics.logger=INFO,DNMETRICSRFA
+ log4j.logger.DataNodeMetricsLog=${datanode.metrics.logger}
+ log4j.additivity.DataNodeMetricsLog=false
+ log4j.appender.DNMETRICSRFA=org.apache.log4j.RollingFileAppender
+ log4j.appender.DNMETRICSRFA.File=${hadoop.log.dir}/datanode-metrics.log
+ log4j.appender.DNMETRICSRFA.layout=org.apache.log4j.PatternLayout
+ log4j.appender.DNMETRICSRFA.layout.ConversionPattern=%d{ISO8601} %m%n
+ log4j.appender.DNMETRICSRFA.MaxBackupIndex=1
+ log4j.appender.DNMETRICSRFA.MaxFileSize=64MB
+
+ # Custom Logging levels
+ #log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=DEBUG
+
+ # AWS SDK & S3A FileSystem
+ #log4j.logger.com.amazonaws=ERROR
+ log4j.logger.com.amazonaws.http.AmazonHttpClient=ERROR
+ #log4j.logger.org.apache.hadoop.fs.s3a.S3AFileSystem=WARN
+
+ # Event Counter Appender
+ # Sends counts of logging messages at different severity levels to Hadoop Metrics.
+ log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter
+
+ # Log levels of third-party libraries
+ log4j.logger.org.apache.commons.beanutils=WARN
+
+ log4j.logger.org.apache.hadoop.security.ForwardAuthentication=DEBUG
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/datanodes-netpol.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/datanodes-netpol.yaml
new file mode 100644
index 0000000..8af0324
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/datanodes-netpol.yaml
@@ -0,0 +1,43 @@
+# Copyright 2020 Crown Copyright
+#
+# 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.
+
+{{- if .Values.networkPolicy.enabled }}
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: {{ template "hdfs.fullname" . }}-datanodes
+ labels:
+ {{ include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: datanode
+spec:
+ podSelector:
+ matchLabels:
+ {{- include "hdfs.selectorLabels" . | nindent 6 }}
+ app.kubernetes.io/component: datanode
+ policyTypes:
+ - Ingress
+ ingress:
+ # Allow clients to access client RPC and HTTP servers
+ - ports:
+ - port: http
+ - port: https
+ - port: data-xfer
+ # Allow NameNode and DataNodes to access IPC Server
+ - from:
+ - podSelector:
+ matchLabels:
+ {{- include "hdfs.selectorLabels" . | nindent 10 }}
+ ports:
+ - port: ipc
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/datanodes-service.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/datanodes-service.yaml
new file mode 100644
index 0000000..4e4c254
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/datanodes-service.yaml
@@ -0,0 +1,31 @@
+# Copyright 2020 Crown Copyright
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ template "hdfs.fullname" . }}-datanodes
+ labels:
+ {{ include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: datanode
+spec:
+ type: ClusterIP
+ selector:
+ {{- include "hdfs.selectorLabels" . | nindent 4 }}
+ app.kubernetes.io/component: datanode
+ ports:
+ - name: http
+ protocol: TCP
+ port: 80
+ targetPort: http
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/datanodes.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/datanodes.yaml
new file mode 100644
index 0000000..ed11769
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/datanodes.yaml
@@ -0,0 +1,134 @@
+# Copyright 2020 Crown Copyright
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: {{ template "hdfs.fullname" . }}-datanode
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: datanode
+spec:
+ podManagementPolicy: Parallel
+ replicas: {{ .Values.datanode.nodeCount }}
+ serviceName: {{ template "hdfs.fullname" . }}-datanodes
+ selector:
+ matchLabels:
+ {{- include "hdfs.selectorLabels" . | nindent 6 }}
+ app.kubernetes.io/component: datanode
+ volumeClaimTemplates:
+{{- range $k, $v := until (int .Values.datanode.dataVolumes.count) }}
+ - metadata:
+ name: data{{$v}}
+ labels:
+ {{- include "hdfs.labels" $ | nindent 8 }}
+ spec:
+ {{- toYaml $.Values.datanode.dataVolumes.pvcTemplateSpec | nindent 6 }}
+{{- end }}
+ template:
+ metadata:
+ annotations:
+ checksum/config: {{ include (print $.Template.BasePath "/config.yaml") . | sha256sum }}
+ checksum/secrets: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }}
+ labels:
+ {{- include "hdfs.labels" . | nindent 8 }}
+ app.kubernetes.io/component: datanode
+ spec:
+ initContainers:
+ - name: wait-for-namenode-startup
+ image: {{ .Values.alpine.repository}}:{{ .Values.alpine.tag }}
+ imagePullPolicy: {{ .Values.alpine.imagePullPolicy }}
+ command: [
+ "/bin/sh",
+ "-c",
+ 'for i in $(seq 1 300); do nc -z -w3 {{ template "hdfs.fullname" . }}-namenode-0.{{ template "hdfs.fullname" . }}-namenodes:{{ .Values.namenode.ports.serviceRpc }} && exit 0 || sleep 1; done; exit 1'
+ ]
+ containers:
+ - name: datanode
+ image: {{ .Values.datanode.repository }}:{{ .Values.datanode.tag }}
+ imagePullPolicy: {{ .Values.datanode.imagePullPolicy }}
+ args:
+ - datanode
+ env:
+ - name: HADOOP_CONF_DIR
+ value: {{ .Values.config.path }}
+ {{- range $key, $value := .Values.datanode.extraEnvVars }}
+ - name: {{ $key | upper | replace "." "_" }}
+ value: {{ $value | quote }}
+ {{- end }}
+ volumeMounts:
+ - name: config
+ mountPath: {{ .Values.config.path }}
+ readOnly: true
+ - name: secrets
+ mountPath: {{ .Values.secrets.path }}
+ readOnly: true
+{{- range $k, $v := until (int .Values.datanode.dataVolumes.count) }}
+ - name: data{{$v}}
+ mountPath: /data{{$v}}
+{{- end }}
+ ports:
+ - name: http
+ containerPort: {{ .Values.datanode.ports.http }}
+ - name: https
+ containerPort: {{ .Values.datanode.ports.https }}
+ - name: data-xfer
+ containerPort: {{ .Values.datanode.ports.data }}
+ - name: ipc
+ containerPort: {{ .Values.datanode.ports.ipc }}
+ livenessProbe:
+ httpGet:
+ scheme: HTTP
+ port: http
+ path: /
+ initialDelaySeconds: 30
+ readinessProbe:
+ httpGet:
+ scheme: HTTP
+ port: http
+ path: /
+ initialDelaySeconds: 30
+ resources:
+ {{- toYaml .Values.datanode.resources | nindent 10 }}
+ volumes:
+ - name: config
+ configMap:
+ name: {{ template "hdfs.fullname" . }}
+ optional: false
+ - name: secrets
+ secret:
+ secretName: {{ template "hdfs.fullname" . }}
+ optional: false
+ {{- with .Values.datanode.securityContext }}
+ securityContext:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.datanode.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.datanode.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.datanode.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.datanode.imagePullSecrets }}
+ imagePullSecrets:
+ {{- range . }}
+ - name: {{ . }}
+ {{- end }}
+ {{- end }}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/ingress.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/ingress.yaml
new file mode 100644
index 0000000..d1cfba5
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/ingress.yaml
@@ -0,0 +1,55 @@
+{{- /*
+
+Copyright 2020 Crown Copyright
+
+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.
+
+*/ -}}
+{{- if .Values.ingress.enabled -}}
+{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
+apiVersion: networking.k8s.io/v1
+{{- else }}
+apiVersion: networking.k8s.io/v1beta1
+{{- end }}
+kind: Ingress
+metadata:
+ name: {{ template "hdfs.fullname" . }}
+ labels:
+ {{ include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: namenode
+ {{- with .Values.ingress.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ rules:
+ - http:
+ paths:
+ - path: {{ required "Ingress path required, please set: .Values.ingress.pathPrefix" .Values.ingress.pathPrefix }}
+{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
+ pathType: Prefix
+ backend:
+ service:
+ name: {{ template "hdfs.fullname" . }}-namenodes
+ port:
+ number: {{ .Values.namenode.ports.http }}
+{{- else }}
+ backend:
+ serviceName: {{ template "hdfs.fullname" . }}-namenodes
+ servicePort: {{ .Values.namenode.ports.http }}
+{{- end }}
+
+{{- if ne .Values.ingress.host "" }}
+ host: {{ .Values.ingress.host }}
+{{- end }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode-netpol.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode-netpol.yaml
new file mode 100644
index 0000000..5dd5e8a
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode-netpol.yaml
@@ -0,0 +1,44 @@
+# Copyright 2020 Crown Copyright
+#
+# 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.
+
+{{- if .Values.networkPolicy.enabled }}
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: {{ template "hdfs.fullname" . }}-namenodes
+ labels:
+ {{ include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: namenode
+spec:
+ podSelector:
+ matchLabels:
+ {{- include "hdfs.selectorLabels" . | nindent 6 }}
+ app.kubernetes.io/component: namenode
+ policyTypes:
+ - Ingress
+ ingress:
+ # Allow clients to access client RPC and HTTP servers
+ - ports:
+ - port: http
+ - port: https
+ - port: client-rpc
+ # Allow NameNode and DataNodes to access Service and Lifeline RPC Servers
+ - from:
+ - podSelector:
+ matchLabels:
+ {{- include "hdfs.selectorLabels" . | nindent 10 }}
+ ports:
+ - port: service-rpc
+ - port: lifeline-rpc
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode-service.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode-service.yaml
new file mode 100644
index 0000000..5803c52
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode-service.yaml
@@ -0,0 +1,44 @@
+# Copyright 2020 Crown Copyright
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ template "hdfs.fullname" . }}-namenodes
+ labels:
+ {{ include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: namenode
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ {{- include "hdfs.selectorLabels" . | nindent 4 }}
+ app.kubernetes.io/component: namenode
+ ports:
+ - name: http
+ protocol: TCP
+ port: {{ .Values.namenode.ports.http }}
+ targetPort: http
+ - name: client-rpc
+ protocol: TCP
+ port: {{ .Values.namenode.ports.clientRpc }}
+ targetPort: client-rpc
+ - name: service-rpc
+ protocol: TCP
+ port: {{ .Values.namenode.ports.serviceRpc }}
+ targetPort: service-rpc
+ - name: lifeline-rpc
+ protocol: TCP
+ port: {{ .Values.namenode.ports.lifelineRpc }}
+ targetPort: lifeline-rpc
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode-serviceaccount.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode-serviceaccount.yaml
new file mode 100644
index 0000000..1357757
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode-serviceaccount.yaml
@@ -0,0 +1,26 @@
+{{- /*
+
+Copyright 2020 Crown Copyright
+
+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.
+
+*/ -}}
+{{- if and .Values.config.rackAwareness .Values.config.rackAwareness.nodeTopologyLabel (not .Values.config.rackAwareness.serviceAccountName) -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ template "hdfs.namenodeServiceAccountName" . }}
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: namenode
+{{- end -}}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode.yaml
new file mode 100644
index 0000000..9c7eff3
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/namenode.yaml
@@ -0,0 +1,142 @@
+# Copyright 2020 Crown Copyright
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: {{ template "hdfs.fullname" . }}-namenode
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: namenode
+spec:
+ podManagementPolicy: Parallel
+ replicas: 1
+ serviceName: {{ template "hdfs.fullname" . }}-namenodes
+ selector:
+ matchLabels:
+ {{- include "hdfs.selectorLabels" . | nindent 6 }}
+ app.kubernetes.io/component: namenode
+ volumeClaimTemplates:
+{{- range $k, $v := until (int .Values.namenode.dataVolumes.count) }}
+ - metadata:
+ name: data{{$v}}
+ labels:
+ {{- include "hdfs.labels" $ | nindent 8 }}
+ spec:
+ {{- toYaml $.Values.namenode.dataVolumes.pvcTemplateSpec | nindent 6 }}
+{{- end }}
+ template:
+ metadata:
+ annotations:
+ checksum/config: {{ include (print $.Template.BasePath "/config.yaml") . | sha256sum }}
+ checksum/secrets: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }}
+ labels:
+ {{- include "hdfs.labels" . | nindent 8 }}
+ app.kubernetes.io/component: namenode
+ spec:
+ {{- if and .Values.config.rackAwareness .Values.config.rackAwareness.nodeTopologyLabel }}
+ serviceAccountName: {{ template "hdfs.namenodeServiceAccountName" . }}
+ {{- end }}
+ containers:
+ - name: namenode
+ image: {{ .Values.namenode.repository }}:{{ .Values.namenode.tag }}
+ imagePullPolicy: {{ .Values.namenode.imagePullPolicy }}
+ args:
+ - namenode
+ env:
+ - name: HADOOP_CONF_DIR
+ value: {{ .Values.config.path }}
+ {{- range $key, $value := .Values.namenode.extraEnvVars }}
+ - name: {{ $key | upper | replace "." "_" }}
+ value: {{ $value | quote }}
+ {{- end }}
+ volumeMounts:
+ - name: config
+ mountPath: {{ .Values.config.path }}
+ readOnly: true
+ - name: secrets
+ mountPath: {{ .Values.secrets.path }}
+ readOnly: true
+ {{- if and .Values.config.rackAwareness .Values.config.rackAwareness.nodeTopologyLabel }}
+ - name: rack-awareness
+ mountPath: /scripts/resolve-rack.sh
+ subPath: resolve-rack.sh
+ {{- end }}
+ {{- range $k, $v := until (int .Values.namenode.dataVolumes.count) }}
+ - name: data{{$v}}
+ mountPath: /data{{$v}}
+ {{- end }}
+ ports:
+ - name: http
+ containerPort: {{ .Values.namenode.ports.http }}
+ - name: https
+ containerPort: {{ .Values.namenode.ports.https }}
+ - name: client-rpc
+ containerPort: {{ .Values.namenode.ports.clientRpc }}
+ - name: service-rpc
+ containerPort: {{ .Values.namenode.ports.serviceRpc }}
+ - name: lifeline-rpc
+ containerPort: {{ .Values.namenode.ports.lifelineRpc }}
+ livenessProbe:
+ exec:
+ command:
+ - /bin/bash
+ - -c
+ - hdfs dfsadmin -fs hdfs://localhost -safemode get
+ initialDelaySeconds: 30
+ periodSeconds: 30
+ timeoutSeconds: 30
+ successThreshold: 1
+ failureThreshold: 2
+ resources:
+ {{- toYaml .Values.namenode.resources | nindent 10 }}
+ volumes:
+ - name: config
+ configMap:
+ name: {{ template "hdfs.fullname" . }}
+ optional: false
+ - name: secrets
+ secret:
+ secretName: {{ template "hdfs.fullname" . }}
+ optional: false
+ {{- if .Values.config.rackAwareness }}
+ {{- if .Values.config.rackAwareness.nodeTopologyLabel }}
+ - name: rack-awareness
+ configMap:
+ name: {{ template "hdfs.fullname" . }}-rack-awareness
+ defaultMode: 0755
+ {{- end }}
+ {{- end }}
+ {{- with .Values.datanode.securityContext }}
+ securityContext:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.namenode.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.namenode.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.namenode.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.namenode.imagePullSecrets }}
+ imagePullSecrets:
+ {{- range . }}
+ - name: {{ . }}
+ {{- end }}
+ {{- end }}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/post-install-cmds.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/post-install-cmds.yaml
new file mode 100644
index 0000000..ae66f79
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/post-install-cmds.yaml
@@ -0,0 +1,55 @@
+{{- /*
+
+Copyright 2020 Crown Copyright
+
+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.
+
+*/ -}}
+{{- if .Values.postInstallCommands }}
+apiVersion: v1
+kind: Pod
+metadata:
+ name: {{ template "hdfs.fullname" . }}-post-install-cmds
+ annotations:
+ helm.sh/hook: post-install,post-upgrade
+ helm.sh/hook-delete-policy: hook-succeeded
+ helm.sh/hook-weight: "10"
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: hook
+spec:
+ restartPolicy: OnFailure
+ containers:
+ - name: cmds
+ image: {{ .Values.shell.repository }}:{{ .Values.shell.tag }}
+ imagePullPolicy: {{ .Values.shell.imagePullPolicy }}
+ command: ["/bin/bash", "-c", "until hadoop fs -ls / >/dev/null 2>&1 || [ $(( ATTEMPTS++ )) -gt 300 ]; do echo \"$(date) - Waiting for HDFS instance to be ready...\" && sleep 10; done && {{ join " && " .Values.postInstallCommands}}"]
+ env:
+ - name: HADOOP_CONF_DIR
+ value: {{ .Values.config.path }}
+ volumeMounts:
+ - name: config
+ mountPath: {{ .Values.config.path }}
+ readOnly: true
+ volumes:
+ - name: config
+ configMap:
+ name: {{ template "hdfs.fullname" . }}
+ optional: false
+ {{- with .Values.shell.imagePullSecrets }}
+ imagePullSecrets:
+ {{- range . }}
+ - name: {{ . }}
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/rack-awareness-rbac.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/rack-awareness-rbac.yaml
new file mode 100644
index 0000000..862ae56
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/rack-awareness-rbac.yaml
@@ -0,0 +1,74 @@
+{{- /*
+
+Copyright 2020 Crown Copyright
+
+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.
+
+*/ -}}
+{{- if and .Values.config.rackAwareness .Values.config.rackAwareness.nodeTopologyLabel -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ template "hdfs.fullname" . }}-namenode
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: namenode
+rules:
+- apiGroups: [""]
+ resources: ["nodes"]
+ verbs: ["get"]
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: {{ template "hdfs.fullname" . }}-namenode
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: namenode
+rules:
+- apiGroups: [""]
+ resources: ["pods"]
+ verbs: ["list"]
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ template "hdfs.fullname" . }}-namenode
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: namenode
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ template "hdfs.fullname" . }}-namenode
+subjects:
+- kind: ServiceAccount
+ name: {{ template "hdfs.namenodeServiceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: {{ template "hdfs.fullname" . }}-namenode
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: namenode
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: {{ template "hdfs.fullname" . }}-namenode
+subjects:
+- kind: ServiceAccount
+ name: {{ template "hdfs.namenodeServiceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
+{{- end -}}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/rack-awareness-script.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/rack-awareness-script.yaml
new file mode 100644
index 0000000..153eae2
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/rack-awareness-script.yaml
@@ -0,0 +1,46 @@
+{{- /*
+
+Copyright 2020 Crown Copyright
+
+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.
+
+*/ -}}
+{{- if and .Values.config.rackAwareness .Values.config.rackAwareness.nodeTopologyLabel -}}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ template "hdfs.fullname" . }}-rack-awareness
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+data:
+ resolve-rack.sh: |
+ #!/bin/bash
+ POD_IP=$1
+
+ API_SERVER="kubernetes.default.svc"
+ TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
+ NAMESPACE=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)
+ CA_CERT="/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
+
+ POD_RESPONSE=$(curl --cacert $CA_CERT --header "Authorization: Bearer $TOKEN" https://$API_SERVER/api/v1/namespaces/$NAMESPACE/pods?fieldSelector=status.podIP%3D$POD_IP)
+ NODE_NAME=$(echo $POD_RESPONSE | jq -r '.items[0] | .spec.nodeName')
+
+ NODE_RESPONSE=$(curl --cacert $CA_CERT --header "Authorization: Bearer $TOKEN" https://$API_SERVER/api/v1/nodes/$NODE_NAME)
+ NODE_ZONE=$(echo $NODE_RESPONSE | jq -r '.metadata.labels."{{ .Values.config.rackAwareness.nodeTopologyLabel }}"')
+
+ if [ -z "$NODE_ZONE" ] || [[ "$NODE_ZONE" == "null" ]]; then
+ NODE_ZONE="default-rack"
+ fi
+
+ echo "/$NODE_ZONE"
+{{- end -}}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/secrets.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/secrets.yaml
new file mode 100644
index 0000000..27b5f1e
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/secrets.yaml
@@ -0,0 +1,24 @@
+# Copyright 2020 Crown Copyright
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ template "hdfs.fullname" . }}
+ labels:
+{{ include "hdfs.labels" . | indent 4 }}
+data:
+{{- range $fileName, $secret := .Values.secrets.files }}
+ {{ $fileName }}: {{ $secret | b64enc | quote }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/shell.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/shell.yaml
new file mode 100644
index 0000000..d111efa
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/shell.yaml
@@ -0,0 +1,88 @@
+{{- /*
+
+Copyright 2020 Crown Copyright
+
+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.
+
+*/ -}}
+{{- if .Values.shell.enabled }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ template "hdfs.fullname" . }}-shell
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: shell
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ {{- include "hdfs.selectorLabels" . | nindent 6 }}
+ app.kubernetes.io/component: shell
+ template:
+ metadata:
+ annotations:
+ checksum/config: {{ include (print $.Template.BasePath "/config.yaml") . | sha256sum }}
+ checksum/secrets: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }}
+ labels:
+ {{- include "hdfs.labels" . | nindent 8 }}
+ app.kubernetes.io/component: shell
+ spec:
+ containers:
+ - name: shell
+ image: {{ .Values.shell.repository }}:{{ .Values.shell.tag }}
+ imagePullPolicy: {{ .Values.shell.imagePullPolicy }}
+ command:
+ - /bin/bash
+ stdin: true
+ tty: true
+ env:
+ - name: HADOOP_CONF_DIR
+ value: {{ .Values.config.path }}
+ volumeMounts:
+ - name: config
+ mountPath: {{ .Values.config.path }}
+ readOnly: true
+ - name: secrets
+ mountPath: {{ .Values.secrets.path }}
+ readOnly: true
+ resources:
+ {{- toYaml .Values.shell.resources | nindent 10 }}
+ volumes:
+ - name: config
+ configMap:
+ name: {{ template "hdfs.fullname" . }}
+ optional: false
+ - name: secrets
+ secret:
+ secretName: {{ template "hdfs.fullname" . }}
+ optional: false
+ {{- with .Values.shell.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.shell.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.shell.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.shell.imagePullSecrets }}
+ imagePullSecrets:
+ {{- range . }}
+ - name: {{ . }}
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/tests/auth-test.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/tests/auth-test.yaml
new file mode 100644
index 0000000..db8bcc6
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/tests/auth-test.yaml
@@ -0,0 +1,49 @@
+# Copyright 2020 Crown Copyright
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Pod
+metadata:
+ name: {{ template "hdfs.fullname" . }}-auth-test
+ annotations:
+ helm.sh/hook: test
+ helm.sh/hook-delete-policy: hook-succeeded
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: test
+spec:
+ restartPolicy: Never
+ containers:
+ - name: test
+ image: {{ .Values.shell.repository }}:{{ .Values.shell.tag }}
+ imagePullPolicy: {{ .Values.shell.imagePullPolicy }}
+ command: ["/bin/sh", "-c", "hadoop fs -put -f /opt/hadoop/LICENSE.txt / && hadoop fs -ls / && hadoop fs -rm /LICENSE.txt; rc=$?; echo $rc; [ $rc {{ if hasKey .Values.config.hdfsSite "hadoop.security.forward.authentication.url" }}!={{ else }}={{ end }} 0 ]"]
+ env:
+ - name: HADOOP_CONF_DIR
+ value: {{ .Values.config.path }}
+ volumeMounts:
+ - name: config
+ mountPath: {{ .Values.config.path }}
+ readOnly: true
+ volumes:
+ - name: config
+ configMap:
+ name: {{ template "hdfs.fullname" . }}
+ optional: false
+ {{- with .Values.shell.imagePullSecrets }}
+ imagePullSecrets:
+ {{- range . }}
+ - name: {{ . }}
+ {{- end }}
+ {{- end }}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/tests/rack-awareness-test.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/tests/rack-awareness-test.yaml
new file mode 100644
index 0000000..2bf3453
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/tests/rack-awareness-test.yaml
@@ -0,0 +1,54 @@
+{{- /*
+
+Copyright 2020 Crown Copyright
+
+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.
+
+*/ -}}
+{{- if and .Values.config.rackAwareness .Values.config.rackAwareness.nodeTopologyLabel -}}
+apiVersion: v1
+kind: Pod
+metadata:
+ name: {{ template "hdfs.fullname" . }}-rack-awareness-test
+ annotations:
+ helm.sh/hook: test
+ helm.sh/hook-delete-policy: hook-succeeded
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: test
+spec:
+ restartPolicy: Never
+ containers:
+ - name: test
+ image: {{ .Values.shell.repository }}:{{ .Values.shell.tag }}
+ imagePullPolicy: {{ .Values.shell.imagePullPolicy }}
+ command: ["/bin/sh", "-c", "hdfs dfsadmin -printTopology | grep Rack: | grep -v /default-rack"]
+ env:
+ - name: HADOOP_CONF_DIR
+ value: {{ .Values.config.path }}
+ volumeMounts:
+ - name: config
+ mountPath: {{ .Values.config.path }}
+ readOnly: true
+ volumes:
+ - name: config
+ configMap:
+ name: {{ template "hdfs.fullname" . }}
+ optional: false
+ {{- with .Values.shell.imagePullSecrets }}
+ imagePullSecrets:
+ {{- range . }}
+ - name: {{ . }}
+ {{- end }}
+ {{- end }}
+{{- end -}}
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/templates/tests/webhdfs-test.yaml b/charts/deepflow/charts/byconity/charts/hdfs/templates/tests/webhdfs-test.yaml
new file mode 100644
index 0000000..17a5994
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/templates/tests/webhdfs-test.yaml
@@ -0,0 +1,31 @@
+# Copyright 2020 Crown Copyright
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Pod
+metadata:
+ name: {{ template "hdfs.fullname" . }}-webhdfs-test
+ annotations:
+ helm.sh/hook: test
+ helm.sh/hook-delete-policy: hook-succeeded
+ labels:
+ {{- include "hdfs.labels" . | nindent 4 }}
+ app.kubernetes.io/component: test
+spec:
+ restartPolicy: Never
+ containers:
+ - name: test
+ image: {{ .Values.alpine.repository}}:{{ .Values.alpine.tag }}
+ imagePullPolicy: {{ .Values.alpine.imagePullPolicy }}
+ command: ["/bin/sh", "-c", "apk update && apk add curl && statusCode=$(curl -f -s -o /dev/null -w \"%{http_code}\" http://{{ template "hdfs.fullname" . }}-namenodes:{{ .Values.namenode.ports.http }}/webhdfs/v1?op=LISTSTATUS) && echo \"${statusCode}\" && [ \"${statusCode}\" {{ if hasKey .Values.config.hdfsSite "dfs.web.authentication.type" }}!={{ else }}={{ end }} \"200\" ]"]
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/values-eks-alb.yaml b/charts/deepflow/charts/byconity/charts/hdfs/values-eks-alb.yaml
new file mode 100644
index 0000000..2a78838
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/values-eks-alb.yaml
@@ -0,0 +1,20 @@
+# Copyright 2020 Crown Copyright
+#
+# 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.
+
+ingress:
+ annotations:
+ kubernetes.io/ingress.class: alb
+ alb.ingress.kubernetes.io/target-type: ip
+ alb.ingress.kubernetes.io/scheme: internet-facing
+ pathPrefix: /*
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/values-host-based-ingress.yaml b/charts/deepflow/charts/byconity/charts/hdfs/values-host-based-ingress.yaml
new file mode 100644
index 0000000..5e8a9e6
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/values-host-based-ingress.yaml
@@ -0,0 +1,18 @@
+# Copyright 2020 Crown Copyright
+#
+# 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.
+
+ingress:
+ annotations: ~
+ host: hdfs.k8s.local
+ pathPrefix: /
diff --git a/charts/deepflow/charts/byconity/charts/hdfs/values.yaml b/charts/deepflow/charts/byconity/charts/hdfs/values.yaml
new file mode 100644
index 0000000..d75ecce
--- /dev/null
+++ b/charts/deepflow/charts/byconity/charts/hdfs/values.yaml
@@ -0,0 +1,125 @@
+# Copyright 2020 Crown Copyright
+#
+# 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.
+alpine:
+ repository: alpine #if your machine is amd64.please use amd64/alpine
+ tag: 3.10.2
+ imagePullPolicy: IfNotPresent
+namenode:
+ repository: gchq/hdfs
+ tag: 3.2.2 # managed version
+ imagePullPolicy: IfNotPresent
+ imagePullSecrets: []
+ resources: {}
+ nodeSelector: {}
+ tolerations: []
+ affinity: {}
+ securityContext:
+ runAsNonRoot: true
+ runAsUser: 1000
+ runAsGroup: 1000
+ fsGroup: 1000
+ ports:
+ http: 9870
+ https: 9871
+ clientRpc: 8020
+ serviceRpc: 8021
+ lifelineRpc: 8022
+ dataVolumes:
+ count: 1
+ pvcTemplateSpec:
+ storageClassName: null
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 10Gi
+ extraEnvVars: {}
+ # Example usage:
+ # HADOOP_HEAPSIZE_MIN: 128m
+ # hadoop.heapsize.min: 128m
+datanode:
+ nodeCount: 3
+ repository: gchq/hdfs
+ tag: 3.2.2 # managed version
+ imagePullPolicy: IfNotPresent
+ imagePullSecrets: []
+ resources: {}
+ nodeSelector: {}
+ tolerations: []
+ affinity: {}
+ securityContext:
+ runAsNonRoot: true
+ runAsUser: 1000
+ runAsGroup: 1000
+ fsGroup: 1000
+ ports:
+ http: 9864
+ https: 9865
+ data: 9866
+ ipc: 9867
+ dataVolumes:
+ count: 1
+ pvcTemplateSpec:
+ storageClassName: null
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 10Gi
+ extraEnvVars: {}
+ # Example usage:
+ # HADOOP_HEAPSIZE_MIN: 128m
+ # hadoop.heapsize.min: 128m
+shell:
+ enabled: true
+ repository: gchq/hdfs
+ tag: 3.2.2 # managed version
+ imagePullPolicy: IfNotPresent
+ imagePullSecrets: []
+ resources: {}
+ nodeSelector: {}
+ tolerations: []
+ affinity: {}
+config:
+ path: /etc/hadoop/conf
+ coreSite: {}
+ hdfsSite:
+ dfs.replication: 3
+ hadoop.security.authorization: true
+ rackAwareness:
+ serviceAccountName:
+ nodeTopologyLabel: topology.kubernetes.io/zone
+secrets:
+ path: /etc/hadoop/secrets
+ files: {}
+nameOverride: ""
+fullnameOverride: ""
+labels: {}
+ingress:
+ enabled: true
+ annotations:
+ traefik.ingress.kubernetes.io/rule-type: PathPrefixStrip
+ host: ""
+ # For Traefik:
+ # pathPrefix: /hdfs/
+ # For Nginx:
+ pathPrefix: "/hdfs/(.*)"
+postInstallCommands: []
+# - hadoop fs -mkdir -p /accumulo
+# - hadoop fs -chown accumulo /accumulo
+# - hadoop fs -chmod 700 /accumulo
+# - hadoop fs -ls /
+
+networkPolicy:
+ enabled: true
diff --git a/charts/deepflow/charts/byconity/files/cnch-config.yaml b/charts/deepflow/charts/byconity/files/cnch-config.yaml
new file mode 100644
index 0000000..6bf36d6
--- /dev/null
+++ b/charts/deepflow/charts/byconity/files/cnch-config.yaml
@@ -0,0 +1,40 @@
+
+catalog:
+ name_space: default
+cnch_type: server
+service_discovery:
+ mode: dns
+ cluster: default
+ server:
+ service: xxx
+ headless_service: xxx
+ vw: {}
+ daemon_manager:
+ service: xxx
+ headless_service: xxx
+service_discovery_kv:
+ server_manager:
+ host_path: data.cnch.server-election
+ refresh_interval_ms: 1000
+ expired_interval_ms: 6000
+ resource_manager:
+ host_path: data.cnch.resource_manager-election
+ refresh_interval_ms: 1000
+ expired_interval_ms: 6000
+ tso:
+ host_path: data.cnch.tso-election
+ refresh_interval_ms: 1000
+ expired_interval_ms: 6000
+tso_service:
+ tso_window_ms: 3000
+ tso_get_leader_info_interval_ms: 0
+ tso_max_retry_count: 3
+catalog_service:
+ type: fdb
+ fdb:
+ cluster_file: /etc/byconity/fdb/cluster-file
+tcp_port: 9000
+http_port: 8123
+rpc_port: 8124
+exchange_port: 9410
+exchange_status_port: 9510
diff --git a/charts/deepflow/charts/byconity/files/daemon-manager.yaml b/charts/deepflow/charts/byconity/files/daemon-manager.yaml
new file mode 100644
index 0000000..e5f50a5
--- /dev/null
+++ b/charts/deepflow/charts/byconity/files/daemon-manager.yaml
@@ -0,0 +1,37 @@
+logger:
+ level: trace
+ log: /var/log/byconity/daemon-manager.log
+ errorlog: /var/log/byconity/daemon-manager.err.log
+ testlog: /var/log/byconity/daemon-manager.test.log
+ size: 1000M
+ count: 10
+ console: true
+listen_host: "::"
+path: /var/byconity
+tmp_path: /var/byconity/tmp/
+catalog_service:
+ type: fdb
+ fdb:
+ cluster_file: /etc/byconity/fdb/cluster-file
+daemon_manager:
+ port: 9000
+ http:
+ port: 8123 # todo remove in the future
+ receive_timeout: 1800
+ send_timeout: 1800
+ workload_thread_interval_ms: 1000
+ daemon_jobs:
+ job:
+ - name: PART_GC
+ interval: 10000
+ - name: PART_MERGE
+ interval: 10000
+ - name: CONSUMER
+ interval: 10000
+ - name: GLOBAL_GC
+ interval: 5000
+ - name: TXN_GC
+ interval: 600000
+
+hdfs3_config: /etc/byconity/hdfs3.xml
+cnch_config: /etc/byconity/cnch-config.yaml
diff --git a/charts/deepflow/charts/byconity/files/resource-manager.yaml b/charts/deepflow/charts/byconity/files/resource-manager.yaml
new file mode 100644
index 0000000..13234d7
--- /dev/null
+++ b/charts/deepflow/charts/byconity/files/resource-manager.yaml
@@ -0,0 +1,30 @@
+logger:
+ level: trace
+ log: /var/log/byconity/resource-manager.log
+ errorlog: /var/log/byconity/resource-manager.err.log
+ testlog: /var/log/byconity/resource-manager.test.log
+ size: 1000M
+ count: 10
+ console: true
+listen_host: "::"
+catalog_service:
+ type: fdb
+ fdb:
+ cluster_file: /etc/byconity/fdb/cluster-file
+resource_manager:
+ port: 9000
+ http:
+ port: 8123
+ receive_timeout: 1800
+ send_timeout: 1800
+ vws:
+ vw:
+ - name: vw_default
+ type: default
+ num_workers: 1
+ worker_groups: ""
+ - name: vw_write
+ type: write
+ num_workers: 1
+ worker_groups: ""
+cnch_config: /etc/byconity/cnch-config.yaml
diff --git a/charts/deepflow/charts/byconity/files/server.yaml b/charts/deepflow/charts/byconity/files/server.yaml
new file mode 100644
index 0000000..8a66204
--- /dev/null
+++ b/charts/deepflow/charts/byconity/files/server.yaml
@@ -0,0 +1,64 @@
+logger:
+ level: debug
+ log: /var/log/byconity/byconity.log
+ errorlog: /var/log/byconity/byconity.err.log
+ testlog: /var/log/byconity/byconity.test.log
+ size: 5000M
+ count: 50
+ console: true
+listen_host:
+ - '::'
+ - '0.0.0.0'
+listen_try: 1
+
+tcp_port: 9000
+http_port: 8123
+rpc_port: 8124
+exchange_port: 9410
+exchange_status_port: 9510
+
+prometheus:
+ endpoint: /metrics
+ port: 0
+ metrics: true
+ events: true
+ asynchronous_metrics: true
+ part_metrics: false
+path: /var/byconity
+tmp_path: /var/byconity/tmp
+users_config: /etc/byconity/users.yaml
+dictionaries_config: '*_dictionary.xml'
+format_schema_path: /var/byconity/format_schemas/
+cnch_type: server
+tso_service:
+ tso_window_ms: 3000
+ tso_get_leader_info_interval_ms: 0
+ tso_max_retry_count: 3
+catalog_service:
+ type: fdb
+ fdb:
+ cluster_file: /etc/byconity/fdb/cluster-file
+
+hdfs3_config: /etc/byconity/hdfs3.xml
+cnch_kafka_log:
+ database: cnch_system
+ table: cnch_kafka_log
+ flush_max_row_count: 100000
+ flush_interval_milliseconds: 60000
+disk_cache_strategies:
+ simple:
+ lru_max_size: 2199023255552 # 2Ti
+merge_selector: dance # todo remove later when engine support
+plan_segment_log:
+ database: system
+ table: plan_segment_log
+ partition_by: event_date
+ flush_interval_milliseconds: 15000
+query_log:
+ database: system
+ table: query_log
+ partition_by: event_date
+ flush_interval_milliseconds: 15000
+mark_cache_size: 5368709120
+#zookeeper: {}
+cnch_config: /etc/byconity/cnch-config.yaml
diff --git a/charts/deepflow/charts/byconity/files/tso.yaml b/charts/deepflow/charts/byconity/files/tso.yaml
new file mode 100644
index 0000000..6626b82
--- /dev/null
+++ b/charts/deepflow/charts/byconity/files/tso.yaml
@@ -0,0 +1,38 @@
+logger:
+ level: trace
+ log: /var/log/byconity/tso.log
+ errorlog: /var/log/byconity/tso.err.log
+ testlog: /var/log/byconity/tso.test.log
+ size: 1000M
+ count: 10
+ console: true
+listen_host: "::"
+path: /var/byconity/tso
+tmp_path: /var/byconity/tmp
+tso_service:
+ type: fdb
+ fdb:
+ cluster_file: /etc/byconity/fdb/cluster-file
+ port: 9000
+ http:
+ port: 8123
+ receive_timeout: 1800
+ send_timeout: 1800
+ tso_window_ms: 3000
+ tso_get_leader_info_interval_ms: 0
+# keeper_server:
+# tcp_port: 9181 # tcp port, Receive request (like Zookeeper)
+# server_id: 0 # should be uniq, used in leader-election TODO
+# log_storage_path: /var/byconity/tso/log
+# snapshot_storage_path: /var/byconity/tso/snapshots
+# coordination_settings:
+# operation_timeout_ms: 10000
+# session_timeout_ms: 30000
+# raft_logs_level: warning
+# compress_logs: 1
+# zookeeper: {}
+cnch_config: /etc/byconity/cnch-config.yaml
+catalog_service:
+ type: fdb
+ fdb:
+ cluster_file: /etc/byconity/fdb/cluster-file
diff --git a/charts/deepflow/charts/byconity/files/users.yaml b/charts/deepflow/charts/byconity/files/users.yaml
new file mode 100644
index 0000000..26a2975
--- /dev/null
+++ b/charts/deepflow/charts/byconity/files/users.yaml
@@ -0,0 +1,37 @@
+profiles:
+ default:
+ load_balancing: random
+ log_queries: 1
+ max_execution_time: 180
+ exchange_timeout_ms: 300000
+
+users:
+ default:
+ networks:
+ ip: ::/0
+ password: ""
+ profile: default
+ quota: default
+ server:
+ networks:
+ ip: ::/0
+ password: ""
+ profile: default
+ quota: default
+ probe:
+ networks:
+ ip: ::/0
+ password: ""
+ profile: default
+ quota: default
+
+quotas:
+ default:
+ interval:
+ duration: 3600
+ queries: 0
+ errors: 0
+ result_rows: 0
+ read_rows: 0
+ execution_time: 0
+
diff --git a/charts/deepflow/charts/byconity/files/worker.yaml b/charts/deepflow/charts/byconity/files/worker.yaml
new file mode 100644
index 0000000..f72b4f1
--- /dev/null
+++ b/charts/deepflow/charts/byconity/files/worker.yaml
@@ -0,0 +1,63 @@
+logger:
+ level: debug
+ log: /var/log/byconity/byconity.log
+ errorlog: /var/log/byconity/byconity.err.log
+ testlog: /var/log/byconity/byconity.test.log
+ size: 5000M
+ count: 50
+ console: true
+listen_host:
+ - '::'
+ - '0.0.0.0'
+listen_try: 1
+
+tcp_port: 9000
+http_port: 8123
+rpc_port: 8124
+exchange_port: 9410
+exchange_status_port: 9510
+
+prometheus:
+ endpoint: /metrics
+ port: 0
+ metrics: true
+ events: true
+ asynchronous_metrics: true
+ part_metrics: false
+path: /var/byconity
+tmp_path: /var/byconity/tmp
+users_config: /etc/byconity/users.yaml
+dictionaries_config: '*_dictionary.xml'
+format_schema_path: /var/byconity/format_schemas/
+cnch_type: worker
+tso_service:
+ tso_window_ms: 3000
+ tso_get_leader_info_interval_ms: 0
+ tso_max_retry_count: 3
+catalog_service:
+ type: fdb
+ fdb:
+ cluster_file: /etc/byconity/fdb/cluster-file
+
+hdfs3_config: /etc/byconity/hdfs3.xml
+cnch_kafka_log:
+ database: cnch_system
+ table: cnch_kafka_log
+ flush_max_row_count: 100000
+ flush_interval_milliseconds: 60000
+disk_cache_strategies:
+ simple:
+ lru_max_size: 2199023255552 # 2Ti
+merge_selector: dance # todo remove later when engine support
+plan_segment_log:
+ database: system
+ table: plan_segment_log
+ partition_by: event_date
+ flush_interval_milliseconds: 15000
+query_log:
+ database: system
+ table: query_log
+ partition_by: event_date
+ flush_interval_milliseconds: 15000
+mark_cache_size: 5368709120
+cnch_config: /etc/byconity/cnch-config.yaml
diff --git a/charts/deepflow/charts/byconity/templates/NOTES.txt b/charts/deepflow/charts/byconity/templates/NOTES.txt
new file mode 100644
index 0000000..a825151
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/NOTES.txt
@@ -0,0 +1,5 @@
+Byconity cluster "{{ include "byconity.fullname" . }}" deployed successfully! Please follow instructions to access your cluster.
+
+$ kubectl -n {{ .Release.Namespace }} exec -it sts/{{ include "byconity.fullname" . }}-server -- bash
+$ clickhouse client
+172.16.1.1 :) show databases
diff --git a/charts/deepflow/charts/byconity/templates/_helpers.tpl b/charts/deepflow/charts/byconity/templates/_helpers.tpl
new file mode 100644
index 0000000..28ffc28
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/_helpers.tpl
@@ -0,0 +1,89 @@
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "byconity.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 "byconity.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 "byconity.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "byconity.labels" -}}
+helm.sh/chart: {{ include "byconity.chart" . }}
+{{ include "byconity.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "byconity.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "byconity.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "byconity.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create }}
+{{- default (include "byconity.fullname" .) .Values.serviceAccount.name }}
+{{- else }}
+{{- default "default" .Values.serviceAccount.name }}
+{{- end }}
+{{- end }}
+
+{{/*
+Create common environment variables to use
+*/}}
+{{- define "byconity.commonEnvs" -}}
+- name: MY_POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: "metadata.namespace"
+- name: MY_POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: "metadata.name"
+- name: MY_UID
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: "metadata.uid"
+- name: MY_POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: "status.podIP"
+- name: MY_HOST_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: "status.hostIP"
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/templates/daemonmanager-configmap.yaml b/charts/deepflow/charts/byconity/templates/daemonmanager-configmap.yaml
new file mode 100644
index 0000000..5866d92
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/daemonmanager-configmap.yaml
@@ -0,0 +1,48 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" . }}-dm-run
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: daemon-manager
+data:
+ run: |
+ #!/bin/bash
+ exec "${APP_ROOT}/bin/daemon-manager" --config "/etc/byconity/daemon-manager.yaml"
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" . }}-dm-config
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: daemon-manager
+data:
+ daemon-manager.yaml: |
+ {{- $server_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "server") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "server") "psm" (printf "%s-%s" (include "byconity.fullname" .) "server") }}
+ {{- $tso_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "tso") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "tso") "psm" (printf "%s-%s" (include "byconity.fullname" .) "tso") }}
+ {{- $service_discovery := dict "service_discovery" (dict "server" $server_service "tso" $tso_service) }}
+ {{- .Files.Get "files/daemon-manager.yaml" | fromYaml | merge .Values.byconity.daemonManager.configOverwrite $.Values.byconity.configOverwrite $service_discovery | toYaml | nindent 4 }}
+ hdfs3.xml: |
+
+ {{- range $key, $val := $.Values.byconity.hdfs3Config }}
+
+ {{ $key }}
+ {{ $val }}
+
+ {{- end }}
+
+ cnch-config.yaml: |
+ {{- $ports := dict "tcp_port" .Values.byconity.ports.tcp "http_port" .Values.byconity.ports.http "rpc_port" .Values.byconity.ports.rpc "exchange_port" .Values.byconity.ports.exchange "exchange_status_port" .Values.byconity.ports.exchangeStatus }}
+ {{- $server_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "server") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "server") "psm" (printf "%s-%s" (include "byconity.fullname" .) "server") }}
+ {{- $tso_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "tso") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "tso") "psm" (printf "%s-%s" (include "byconity.fullname" .) "tso") }}
+ {{- $dm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "daemon-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "daemon-manager") "psm" (printf "%s-%s" (include "byconity.fullname" .) "daemon-manager") }}
+ {{- $rm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "resource-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "resource-manager") "psm" (printf "%s-%s" (include "byconity.fullname" .) "resource-manager") }}
+ {{- $service_discovery := dict "service_discovery" (dict "server" $server_service "tso" $tso_service "daemon_manager" $dm_service "resource_manager" $rm_service) }}
+ {{- $catalog := dict "catalog" (dict "name_space" (include "byconity.fullname" .)) }}
+ {{- $hdfs_addr_dict := dict "hdfs_addr" .Values.byconity.hdfs_address }}
+ {{- $hdfs_ha_nameservice_dict := dict "hdfs_ha_nameservice" .Values.byconity.hdfs_ha_nameservice }}
+ {{- $hdfs_addr := (empty .Values.byconity.hdfs_ha_nameservice | ternary $hdfs_addr_dict $hdfs_ha_nameservice_dict) }}
+ {{- .Files.Get "files/cnch-config.yaml" | fromYaml | merge $hdfs_addr $catalog $service_discovery $ports | toYaml | nindent 4 }}
+
diff --git a/charts/deepflow/charts/byconity/templates/daemonmanager-service.yaml b/charts/deepflow/charts/byconity/templates/daemonmanager-service.yaml
new file mode 100644
index 0000000..fd1187c
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/daemonmanager-service.yaml
@@ -0,0 +1,35 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "byconity.fullname" . }}-daemon-manager
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: daemon-manager
+spec:
+ type: ClusterIP
+ selector:
+ {{- include "byconity.selectorLabels" . | nindent 4 }}
+ byconity-role: daemon-manager
+ ports:
+ - name: port0
+ port: 9000
+ targetPort: tcp
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "byconity.fullname" . }}-daemon-manager-headless
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: daemon-manager
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ {{- include "byconity.selectorLabels" . | nindent 4 }}
+ byconity-role: daemon-manager
+ ports:
+ - name: port0
+ port: 9000
+ targetPort: tcp
diff --git a/charts/deepflow/charts/byconity/templates/daemonmanager.yaml b/charts/deepflow/charts/byconity/templates/daemonmanager.yaml
new file mode 100644
index 0000000..051eac9
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/daemonmanager.yaml
@@ -0,0 +1,112 @@
+{{- $imageRepository := tpl $.Values.image.repository . }}
+{{- with .Values.byconity.daemonManager }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "byconity.fullname" $ }}-daemon-manager
+ labels:
+ {{- include "byconity.labels" $ | nindent 4 }}
+ byconity-role: daemon-manager
+spec:
+ replicas: {{ .replicas }}
+ selector:
+ matchLabels:
+ {{- include "byconity.selectorLabels" $ | nindent 6 }}
+ byconity-role: daemon-manager
+ strategy:
+ type: Recreate
+ template:
+ metadata:
+ {{- with .podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{- include "byconity.selectorLabels" $ | nindent 8 }}
+ byconity-role: daemon-manager
+ spec:
+ containers:
+ - name: byconity-daemon-manager
+ image: "{{ $imageRepository }}:{{ $.Values.image.tag }}"
+ imagePullPolicy: {{ $.Values.image.imagePullPolicy }}
+ env:
+ {{- toYaml $.Values.byconity.commonEnvs | nindent 12 }}
+ - name: BYCONITY_ROLE
+ value: daemon-manager
+ {{- if $.Values.byconity.additionalEnvs }}
+ {{- toYaml $.Values.byconity.additionalEnvs | nindent 12 }}
+ {{- end }}
+ {{- if .resources }}
+ resources:
+ {{- toYaml .resources | nindent 12 }}
+ {{- end }}
+ ports:
+ - name: tcp
+ containerPort: {{ $.Values.byconity.ports.tcp }}
+ readinessProbe:
+ {{- .readinessProbe | toYaml | nindent 12 }}
+ livenessProbe:
+ {{ .livenessProbe | toYaml | nindent 12 }}
+ lifecycle:
+ postStart:
+ exec:
+ command: ["/opt/byconity/scripts/lifecycle/poststart"]
+ preStop:
+ exec:
+ command: ["/opt/byconity/scripts/lifecycle/prestop"]
+ volumeMounts:
+ - name: run
+ mountPath: /etc/service/byconity/run
+ subPath: run
+ - name: config
+ mountPath: /etc/byconity
+ - name: lifecycle
+ mountPath: /opt/byconity/scripts/lifecycle
+ - name: fdb-config
+ mountPath: /etc/byconity/fdb
+ {{- if $.Values.byconity.additionalVolumes.volumeMounts }}
+ {{- toYaml $.Values.byconity.additionalVolumes.volumeMounts | nindent 12 }}
+ {{- end }}
+ {{- if .securityContext }}
+ securityContext:
+ {{- toYaml .securityContext | nindent 12 }}
+ {{- end }}
+ volumes:
+ - name: run
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-dm-run
+ defaultMode: 0755
+ - name: config
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-dm-config
+ - name: lifecycle
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-lifecycle
+ defaultMode: 0755
+ - name: fdb-config
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-fdb-config
+ {{- if $.Values.byconity.additionalVolumes.volumes }}
+ {{- toYaml $.Values.byconity.additionalVolumes.volumes | nindent 8 }}
+ {{- end }}
+ hostNetwork: {{ .hostNetwork }}
+ {{- with .nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ imagePullSecrets:
+ {{- with $.Values.global.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with $.Values.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/templates/fdb-configmap.yaml b/charts/deepflow/charts/byconity/templates/fdb-configmap.yaml
new file mode 100644
index 0000000..320bd74
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/fdb-configmap.yaml
@@ -0,0 +1,9 @@
+{{ if .Values.byconity.use_existing_fdb }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" $ }}-fdb-config
+data:
+ cluster-file: |
+ {{ $.Values.byconity.fdb_cluster_file }}
+{{ end }}
diff --git a/charts/deepflow/charts/byconity/templates/fdb_cluster.yaml b/charts/deepflow/charts/byconity/templates/fdb_cluster.yaml
new file mode 100644
index 0000000..171ad9a
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/fdb_cluster.yaml
@@ -0,0 +1,143 @@
+{{- if .Values.fdb.enabled }}
+apiVersion: apps.foundationdb.org/v1beta2
+kind: FoundationDBCluster
+metadata:
+ name: {{ include "byconity.fullname" . }}-fdb
+spec:
+ version: {{ .Values.fdb.version }}
+ routing:
+ headlessService: true
+ publicIPSource: service
+ {{- range $elem, $elemVal := index .Values "fdb" "clusterSpec" -}}
+ {{- if not (kindIs "map" $elemVal) -}}
+ {{- if kindIs "invalid" $elemVal -}}
+ {{- nindent 2 $elem -}}:
+ {{- else if kindIs "string" $elemVal -}}
+ {{- if (tpl $elemVal $ ) -}}
+ {{- nindent 2 $elem }}: {{ tpl $elemVal $ -}}
+ {{- else -}}
+ {{- nindent 2 $elem }}:
+ {{- end -}}
+ {{- else if kindIs "float64" $elemVal -}}
+ {{- nindent 2 $elem }}: {{ int $elemVal -}}
+ {{- else if kindIs "slice" $elemVal -}}
+ {{- nindent 2 $elem -}}:
+ {{- tpl (toYaml $elemVal ) $| nindent 2 -}}
+ {{- else -}}
+ {{- if $elemVal -}}
+ {{- nindent 2 $elem }}: {{ toYaml $elemVal -}}
+ {{- else -}}
+ {{- nindent 2 $elem }}:
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- range $key, $value := index .Values "fdb" "clusterSpec" -}}
+ {{- if kindIs "map" $value -}}
+ {{- nindent 2 $key -}}:
+ {{- range $elem, $elemVal := $value -}}
+ {{- if not (kindIs "map" $elemVal) -}}
+ {{- if kindIs "invalid" $elemVal -}}
+ {{- nindent 4 $elem -}}:
+ {{- else if kindIs "string" $elemVal -}}
+ {{- nindent 4 $elem }}: {{ tpl $elemVal $ -}}
+ {{- else if kindIs "float64" $elemVal -}}
+ {{- nindent 4 $elem }}: {{ int $elemVal -}}
+ {{- else if kindIs "slice" $elemVal -}}
+ {{- nindent 4 $elem -}}:
+ {{- tpl (toYaml $elemVal ) $| nindent 4 -}}
+ {{- else -}}
+ {{- nindent 4 $elem }}: {{ $elemVal -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- range $elem, $elemVal := $value -}}
+ {{- if kindIs "map" $elemVal -}}
+ {{- nindent 4 $elem -}}:
+ {{- range $therrKey, $therrVal := $elemVal -}}
+ {{- if not (kindIs "map" $therrVal) -}}
+ {{- if kindIs "invalid" $therrVal -}}
+ {{- nindent 6 $therrKey -}}:
+ {{- else if kindIs "string" $therrVal -}}
+ {{- if (tpl $therrVal $ ) -}}
+ {{- nindent 6 $therrKey }}: {{ tpl $therrVal $ -}}
+ {{- else -}}
+ {{- nindent 6 $therrKey }}:
+ {{- end -}}
+ {{- else if kindIs "float64" $therrVal -}}
+ {{- nindent 6 $therrKey }}: {{ int $therrVal -}}
+ {{- else if kindIs "slice" $therrVal -}}
+ {{- nindent 6 $therrKey -}}:
+ {{- tpl (toYaml $therrVal ) $| nindent 6 -}}
+ {{- else -}}
+ {{- if $therrVal -}}
+ {{- nindent 6 $therrKey }}: {{ toYaml $therrVal -}}
+ {{- else -}}
+ {{- nindent 6 $therrKey }}:
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- range $therrKey, $therrVal := $elemVal -}}
+ {{- if kindIs "map" $therrVal -}}
+ {{- nindent 6 $therrKey -}}:
+ {{- range $fourKey, $fourVal := $therrVal -}}
+ {{- if not (kindIs "map" $fourVal) -}}
+ {{- if kindIs "invalid" $fourVal -}}
+ {{- nindent 8 $fourKey -}}:
+ {{- else if kindIs "string" $fourVal -}}
+ {{- if (tpl $fourVal $ ) -}}
+ {{- nindent 8 $fourKey }}: {{ tpl $fourVal $ -}}
+ {{- else -}}
+ {{- nindent 8 $fourKey }}:
+ {{- end -}}
+ {{- else if kindIs "float64" $fourVal -}}
+ {{- nindent 8 $fourKey }}: {{ int $fourVal -}}
+ {{- else if kindIs "slice" $fourVal -}}
+ {{- nindent 8 $fourKey -}}:
+ {{- tpl (toYaml $fourVal ) $| nindent 8 -}}
+ {{- else -}}
+ {{- if $fourVal -}}
+ {{- nindent 8 $fourKey }}: {{ toYaml $fourVal -}}
+ {{- else -}}
+ {{- nindent 8 $fourKey }}:
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- range $fourKey, $fourVal := $therrVal -}}
+ {{- if kindIs "map" $fourVal -}}
+ {{- nindent 8 $fourKey -}}:
+ {{- range $fiveKey, $fiveVal := $fourVal -}}
+ {{- if not (kindIs "map" $fiveVal) -}}
+ {{- if kindIs "invalid" $fiveVal -}}
+ {{- nindent 10 $fiveKey -}}:
+ {{- else if kindIs "string" $fiveVal -}}
+ {{- if $fiveVal -}}
+ {{- nindent 10 $fiveKey }}: {{ tpl $fiveVal $ -}}
+ {{- else -}}
+ {{- nindent 10 $fiveKey }}:
+ {{- end -}}
+ {{- else if kindIs "float64" $fiveVal -}}
+ {{- nindent 10 $fiveKey }}: {{ int $fiveVal -}}
+ {{- else if kindIs "slice" $fiveVal -}}
+ {{- nindent 10 $fiveKey -}}:
+ {{- tpl (toYaml $fiveVal ) $| nindent 10 -}}
+ {{- else -}}
+ {{- if $fiveVal -}}
+ {{- nindent 10 $fiveKey }}: {{ $fiveVal -}}
+ {{- else -}}
+ {{- nindent 10 $fiveKey }}:
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end -}}
+ {{- end }}
+ {{- end }}
\ No newline at end of file
diff --git a/charts/deepflow/charts/byconity/templates/fdb_shell.yaml b/charts/deepflow/charts/byconity/templates/fdb_shell.yaml
new file mode 100644
index 0000000..a3c35d3
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/fdb_shell.yaml
@@ -0,0 +1,51 @@
+{{- if and .Values.fdb.enableCliPod .Values.fdb.enabled }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "byconity.fullname" . }}-fdbcli
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: fdbcli
+ app.kubernetes.io/instance: {{ include "byconity.fullname" . }}
+ app.kubernetes.io/component: cli
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: fdbcli
+ app.kubernetes.io/instance: {{ include "byconity.fullname" . }}
+ app.kubernetes.io/component: cli
+ spec:
+ imagePullSecrets:
+ {{- with .Values.global.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ containers:
+ - name: fdbcli
+ image: "{{ tpl $.Values.fdbShell.image.repository . }}/foundationdb:{{ .Values.fdb.version }}"
+ env:
+ - name: FDB_CLUSTER_FILE
+ value: /mnt/config-volume/cluster-file
+ volumeMounts:
+ - name: config-volume
+ mountPath: /mnt/config-volume
+ resources:
+ limits:
+ cpu: "1"
+ memory: 1Gi
+ requests:
+ cpu: "1"
+ memory: 1Gi
+ {{- with .Values.byconity.server.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ volumes:
+ - name: config-volume
+ configMap:
+ name: {{ include "byconity.fullname" . }}-fdb-config
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/templates/ingress.yaml b/charts/deepflow/charts/byconity/templates/ingress.yaml
new file mode 100644
index 0000000..7244e99
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/ingress.yaml
@@ -0,0 +1,61 @@
+{{- if .Values.byconity.ingress.enabled -}}
+{{- $fullName := include "byconity.fullname" . -}}
+{{- $svcPort := 8123 -}}
+{{- if and .Values.byconity.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
+ {{- if not (hasKey .Values.byconity.ingress.annotations "kubernetes.io/ingress.class") }}
+ {{- $_ := set .Values.byconity.ingress.annotations "kubernetes.io/ingress.class" .Values.byconity.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 "byconity.labels" . | nindent 4 }}
+ {{- with .Values.byconity.ingress.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ {{- if and .Values.byconity.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
+ ingressClassName: {{ .Values.byconity.ingress.className }}
+ {{- end }}
+ {{- if .Values.byconity.ingress.tls }}
+ tls:
+ {{- range .Values.byconity.ingress.tls }}
+ - hosts:
+ {{- range .hosts }}
+ - {{ . | quote }}
+ {{- end }}
+ secretName: {{ .secretName }}
+ {{- end }}
+ {{- end }}
+ rules:
+ {{- range .Values.byconity.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 }}-server
+ port:
+ number: {{ $svcPort }}
+ {{- else }}
+ serviceName: {{ $fullName }}-server
+ servicePort: {{ $svcPort }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/templates/lifecycle.yaml b/charts/deepflow/charts/byconity/templates/lifecycle.yaml
new file mode 100644
index 0000000..f04364e
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/lifecycle.yaml
@@ -0,0 +1,64 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" . }}-lifecycle
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: server
+data:
+ poststart: |
+ #!/bin/bash
+ set -eo pipefail
+ {{- .Values.byconity.postStart | nindent 4}}
+ prestop: |-
+ #!/bin/bash
+ set -eo pipefail
+ if [[ "${BYCONITY_ROLE}" == "worker" ]]; then
+ curl --fail -X GET "http://127.0.0.1:{{ .Values.byconity.ports.http }}/api/resource_report?action=stop"
+ fi
+ {{- .Values.byconity.preStop | nindent 4 }}
+ readiness: |
+ #!/bin/bash
+ set -euo pipefail
+ QUERY_TIMEOUT=5
+ timeout -k 1 "${QUERY_TIMEOUT}" clickhouse-client -h 127.0.0.1 --port "{{ .Values.byconity.ports.tcp }}" --user "probe" --password "{{ .Values.byconity.usersOverwrite.users.probe.password }}" --max_execution_time "$((QUERY_TIMEOUT-1))" -n -q "select 1" 2>&1
+ {{- .Values.byconity.readiness | nindent 4}}
+ liveness: |
+ #!/bin/bash
+ set -euo pipefail
+ QUERY_TIMEOUT=5
+ timeout -k 1 "${QUERY_TIMEOUT}" clickhouse-client -h 127.0.0.1 --port "{{ .Values.byconity.ports.tcp }}" --user "probe" --password "{{ .Values.byconity.usersOverwrite.users.probe.password }}" --max_execution_time "$((QUERY_TIMEOUT-1))" -n -q "select 1" 2>&1
+ {{- .Values.byconity.readiness | nindent 4}}
+ readiness-tso: |
+ #!/bin/bash
+ set -euo pipefail
+ curl --connect-timeout 3 --fail http://localhost:9000/health
+ {{- .Values.byconity.readiness | nindent 4}}
+ liveness-tso: |
+ #!/bin/bash
+ set -euo pipefail
+ curl --connect-timeout 3 --fail http://localhost:9000/health
+ {{- .Values.byconity.readiness | nindent 4}}
+ readiness-dm: |
+ #!/bin/bash
+ set -euo pipefail
+ curl --connect-timeout 3 --fail http://localhost:9000/health
+ {{- .Values.byconity.readiness | nindent 4}}
+ liveness-dm: |
+ #!/bin/bash
+ set -euo pipefail
+ curl --connect-timeout 3 --fail http://localhost:9000/health
+ {{- .Values.byconity.readiness | nindent 4}}
+ readiness-rm: |
+ #!/bin/bash
+ set -euo pipefail
+ curl --connect-timeout 3 --fail http://localhost:9000/health
+ {{- .Values.byconity.readiness | nindent 4}}
+ liveness-rm: |
+ #!/bin/bash
+ set -euo pipefail
+ curl --connect-timeout 3 --fail http://localhost:9000/health
+ {{- .Values.byconity.readiness | nindent 4}}
+ {{- range $key, $data := .Values.byconity.lifecycleExtraConfig }}
+ {{ $key | quote }}: {{ $data | quote }}
+ {{- end }}
diff --git a/charts/deepflow/charts/byconity/templates/resourcemanager-configmap.yaml b/charts/deepflow/charts/byconity/templates/resourcemanager-configmap.yaml
new file mode 100644
index 0000000..9bd62d8
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/resourcemanager-configmap.yaml
@@ -0,0 +1,38 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" . }}-rm-run
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: resource-manager
+data:
+ run: |
+ #!/bin/bash
+ exec "${APP_ROOT}/bin/resource-manager" --config "/etc/byconity/resource-manager.yaml"
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" . }}-rm-config
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: resource-manager
+data:
+ resource-manager.yaml: |
+ {{- $tso_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "tso") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "tso") "psm" (printf "%s-%s" (include "byconity.fullname" .) "tso") }}
+ {{- $service_discovery := dict "service_discovery" (dict "tso" $tso_service) }}
+ {{- .Files.Get "files/resource-manager.yaml" | fromYaml | merge .Values.byconity.resourceManager.configOverwrite $service_discovery | toYaml | nindent 4 }}
+ cnch-config.yaml: |
+ {{- $ports := dict "tcp_port" .Values.byconity.ports.tcp "http_port" .Values.byconity.ports.http "rpc_port" .Values.byconity.ports.rpc "exchange_port" .Values.byconity.ports.exchange "exchange_status_port" .Values.byconity.ports.exchangeStatus }}
+ {{- $server_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "server") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "server") "psm" (printf "%s-%s" (include "byconity.fullname" .) "server") }}
+ {{- $tso_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "tso") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "tso") "psm" (printf "%s-%s" (include "byconity.fullname" .) "tso") }}
+ {{- $dm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "daemon-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "daemon-manager") "psm" (printf "%s-%s" (include "byconity.fullname" .) "daemon-manager") }}
+ {{- $rm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "resource-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "resource-manager") "psm" (printf "%s-%s" (include "byconity.fullname" .) "resource-manager") }}
+ {{- $service_discovery := dict "service_discovery" (dict "server" $server_service "tso" $tso_service "daemon_manager" $dm_service "resource_manager" $rm_service) }}
+ {{- $catalog := dict "catalog" (dict "name_space" (include "byconity.fullname" .)) }}
+ {{- $hdfs_addr_dict := dict "hdfs_addr" .Values.byconity.hdfs_address }}
+ {{- $hdfs_ha_nameservice_dict := dict "hdfs_ha_nameservice" .Values.byconity.hdfs_ha_nameservice }}
+ {{- $hdfs_addr := (empty .Values.byconity.hdfs_ha_nameservice | ternary $hdfs_addr_dict $hdfs_ha_nameservice_dict) }}
+ {{- .Files.Get "files/cnch-config.yaml" | fromYaml | merge $hdfs_addr $catalog $service_discovery $ports | toYaml | nindent 4 }}
+
diff --git a/charts/deepflow/charts/byconity/templates/resourcemanager-service.yaml b/charts/deepflow/charts/byconity/templates/resourcemanager-service.yaml
new file mode 100644
index 0000000..eab0f86
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/resourcemanager-service.yaml
@@ -0,0 +1,35 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "byconity.fullname" . }}-resource-manager
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: resource-manager
+spec:
+ type: ClusterIP
+ selector:
+ {{- include "byconity.selectorLabels" . | nindent 4 }}
+ byconity-role: resource-manager
+ ports:
+ - name: port0
+ port: 9000
+ targetPort: tcp
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "byconity.fullname" . }}-resource-manager-headless
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: resource-manager
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ {{- include "byconity.selectorLabels" . | nindent 4 }}
+ byconity-role: resource-manager
+ ports:
+ - name: port0
+ port: 9000
+ targetPort: tcp
diff --git a/charts/deepflow/charts/byconity/templates/resourcemanager.yaml b/charts/deepflow/charts/byconity/templates/resourcemanager.yaml
new file mode 100644
index 0000000..52c647f
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/resourcemanager.yaml
@@ -0,0 +1,112 @@
+{{- $imageRepository := tpl $.Values.image.repository . }}
+{{- with .Values.byconity.resourceManager }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "byconity.fullname" $ }}-resource-manager
+ labels:
+ {{- include "byconity.labels" $ | nindent 4 }}
+ byconity-role: resource-manager
+spec:
+ replicas: {{ .replicas }}
+ selector:
+ matchLabels:
+ {{- include "byconity.selectorLabels" $ | nindent 6 }}
+ byconity-role: resource-manager
+ strategy:
+ type: Recreate
+ template:
+ metadata:
+ {{- with .podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{- include "byconity.selectorLabels" $ | nindent 8 }}
+ byconity-role: resource-manager
+ spec:
+ containers:
+ - name: byconity-resource-manager
+ image: "{{ $imageRepository }}:{{ $.Values.image.tag }}"
+ imagePullPolicy: {{ $.Values.image.imagePullPolicy }}
+ env:
+ {{- toYaml $.Values.byconity.commonEnvs | nindent 12 }}
+ - name: BYCONITY_ROLE
+ value: resource-manager
+ {{- if $.Values.byconity.additionalEnvs }}
+ {{- toYaml $.Values.byconity.additionalEnvs | nindent 12 }}
+ {{- end }}
+ {{- if .resources }}
+ resources:
+ {{- toYaml .resources | nindent 12 }}
+ {{- end }}
+ ports:
+ - name: tcp
+ containerPort: {{ $.Values.byconity.ports.tcp }}
+ readinessProbe:
+ {{- .readinessProbe | toYaml | nindent 12 }}
+ livenessProbe:
+ {{- .livenessProbe | toYaml | nindent 12 }}
+ lifecycle:
+ postStart:
+ exec:
+ command: ["/opt/byconity/scripts/lifecycle/poststart"]
+ preStop:
+ exec:
+ command: ["/opt/byconity/scripts/lifecycle/prestop"]
+ volumeMounts:
+ - name: run
+ mountPath: /etc/service/byconity/run
+ subPath: run
+ - name: config
+ mountPath: /etc/byconity
+ - name: lifecycle
+ mountPath: /opt/byconity/scripts/lifecycle
+ - name: fdb-config
+ mountPath: /etc/byconity/fdb
+ {{- if $.Values.byconity.additionalVolumes.volumeMounts }}
+ {{- toYaml $.Values.byconity.additionalVolumes.volumeMounts | nindent 12 }}
+ {{- end }}
+ {{- if .securityContext }}
+ securityContext:
+ {{- toYaml .securityContext | nindent 12 }}
+ {{- end }}
+ volumes:
+ - name: run
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-rm-run
+ defaultMode: 0755
+ - name: config
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-rm-config
+ - name: lifecycle
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-lifecycle
+ defaultMode: 0755
+ - name: fdb-config
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-fdb-config
+ {{- if $.Values.byconity.additionalVolumes.volumes }}
+ {{- toYaml $.Values.byconity.additionalVolumes.volumes | nindent 8 }}
+ {{- end }}
+ hostNetwork: {{ .hostNetwork }}
+ {{- with .nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ imagePullSecrets:
+ {{- with $.Values.global.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with $.Values.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/templates/server-configmap.yaml b/charts/deepflow/charts/byconity/templates/server-configmap.yaml
new file mode 100644
index 0000000..e707afb
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/server-configmap.yaml
@@ -0,0 +1,55 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" . }}-server-run
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: server
+data:
+ run: |
+ #!/bin/bash
+ chown root. /var/byconity /var/log/byconity
+ exec "${APP_ROOT}/bin/clickhouse-server" --config "/etc/byconity/server.yaml"
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" . }}-server-config
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: server
+data:
+ server.yaml: |
+ {{- $ports := dict "tcp_port" .Values.byconity.ports.tcp "http_port" .Values.byconity.ports.http "rpc_port" .Values.byconity.ports.rpc "exchange_port" .Values.byconity.ports.exchange "exchange_status_port" .Values.byconity.ports.exchangeStatus }}
+ {{- $server_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "server") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "server") "psm" (printf "%s-%s" (include "byconity.fullname" .) "server") }}
+ {{- $tso_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "tso") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "tso") "psm" (printf "%s-%s" (include "byconity.fullname" .) "tso") }}
+ {{- $dm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "daemon-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "daemon-manager") "psm" (printf "%s-%s" (include "byconity.fullname" .) "daemon-manager") }}
+ {{- $rm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "resource-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "resource-manager") "psm" (printf "%s-%s" (include "byconity.fullname" .) "resource-manager") }}
+ {{- $service_discovery := dict "service_discovery" (dict "server" $server_service "tso" $tso_service "daemon_manager" $dm_service "resource_manager" $rm_service) }}
+ {{- $catalog := dict "catalog" (dict "name_space" (include "byconity.fullname" .)) }}
+ {{- $hdfs_addr := dict "hdfs_addr" .Values.byconity.hdfs_address }}
+ {{- .Files.Get "files/server.yaml" | fromYaml | merge .Values.byconity.server.configOverwrite .Values.byconity.configOverwrite $hdfs_addr $catalog $service_discovery $ports | toYaml | nindent 4 }}
+ users.yaml: |
+ {{- .Files.Get "files/users.yaml" | fromYaml | merge .Values.byconity.usersOverwrite | toYaml | nindent 4 }}
+ hdfs3.xml: |
+
+ {{- range $key, $val := $.Values.byconity.hdfs3Config }}
+
+ {{ $key }}
+ {{ $val }}
+
+ {{- end }}
+
+ cnch-config.yaml: |
+ {{- $ports := dict "tcp_port" .Values.byconity.ports.tcp "http_port" .Values.byconity.ports.http "rpc_port" .Values.byconity.ports.rpc "exchange_port" .Values.byconity.ports.exchange "exchange_status_port" .Values.byconity.ports.exchangeStatus }}
+ {{- $server_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "server") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "server") "psm" (printf "%s-%s" (include "byconity.fullname" .) "server") }}
+ {{- $tso_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "tso") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "tso") "psm" (printf "%s-%s" (include "byconity.fullname" .) "tso") }}
+ {{- $dm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "daemon-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "daemon-manager") "psm" (printf "%s-%s" (include "byconity.fullname" .) "daemon-manager") }}
+ {{- $rm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "resource-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "resource-manager") "psm" (printf "%s-%s" (include "byconity.fullname" .) "resource-manager") }}
+ {{- $service_discovery := dict "service_discovery" (dict "server" $server_service "tso" $tso_service "daemon_manager" $dm_service "resource_manager" $rm_service) }}
+ {{- $catalog := dict "catalog" (dict "name_space" (include "byconity.fullname" .)) }}
+ {{- $hdfs_addr_dict := dict "hdfs_addr" .Values.byconity.hdfs_address }}
+ {{- $hdfs_ha_nameservice_dict := dict "hdfs_ha_nameservice" .Values.byconity.hdfs_ha_nameservice }}
+ {{- $hdfs_addr := (empty .Values.byconity.hdfs_ha_nameservice | ternary $hdfs_addr_dict $hdfs_ha_nameservice_dict) }}
+ {{- .Files.Get "files/cnch-config.yaml" | fromYaml | merge $hdfs_addr $catalog $service_discovery $ports | toYaml | nindent 4 }}
diff --git a/charts/deepflow/charts/byconity/templates/server-service.yaml b/charts/deepflow/charts/byconity/templates/server-service.yaml
new file mode 100644
index 0000000..50babbd
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/server-service.yaml
@@ -0,0 +1,71 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "byconity.fullname" . }}-server
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: server
+spec:
+ type: ClusterIP
+ selector:
+ {{- include "byconity.selectorLabels" . | nindent 4 }}
+ byconity-role: server
+ ports:
+ - name: port0
+ port: {{ $.Values.byconity.ports.tcp }}
+ targetPort: tcp
+ - name: port1
+ port: {{ $.Values.byconity.ports.rpc }}
+ targetPort: rpc
+ - name: port2
+ port: {{ $.Values.byconity.ports.http }}
+ targetPort: http
+ - name: port3
+ port: {{ $.Values.byconity.ports.tcpSecure }}
+ targetPort: tcp-secure
+ - name: port4
+ port: {{ $.Values.byconity.ports.https }}
+ targetPort: https
+ - name: port5
+ port: {{ $.Values.byconity.ports.exchange }}
+ targetPort: exchange
+ - name: port6
+ port: {{ $.Values.byconity.ports.exchangeStatus }}
+ targetPort: exchange-status
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "byconity.fullname" . }}-server-headless
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: server
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ {{- include "byconity.selectorLabels" . | nindent 4 }}
+ byconity-role: server
+ ports:
+ - name: port0
+ port: {{ $.Values.byconity.ports.tcp }}
+ targetPort: tcp
+ - name: port1
+ port: {{ $.Values.byconity.ports.rpc }}
+ targetPort: rpc
+ - name: port2
+ port: {{ $.Values.byconity.ports.http }}
+ targetPort: http
+ - name: port3
+ port: {{ $.Values.byconity.ports.tcpSecure }}
+ targetPort: tcp-secure
+ - name: port4
+ port: {{ $.Values.byconity.ports.https }}
+ targetPort: https
+ - name: port5
+ port: {{ $.Values.byconity.ports.exchange }}
+ targetPort: exchange
+ - name: port6
+ port: {{ $.Values.byconity.ports.exchangeStatus }}
+ targetPort: exchange-status
diff --git a/charts/deepflow/charts/byconity/templates/server.yaml b/charts/deepflow/charts/byconity/templates/server.yaml
new file mode 100644
index 0000000..6fae670
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/server.yaml
@@ -0,0 +1,138 @@
+{{- $imageRepository := tpl $.Values.image.repository . }}
+{{- with .Values.byconity.server }}
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: {{ include "byconity.fullname" $ }}-server
+ labels:
+ {{- include "byconity.labels" $ | nindent 4 }}
+ byconity-role: server
+spec:
+ replicas: {{ .replicas }}
+ serviceName: {{ include "byconity.fullname" $ }}-server
+ selector:
+ matchLabels:
+ {{- include "byconity.selectorLabels" $ | nindent 6 }}
+ byconity-role: server
+ updateStrategy:
+ type: RollingUpdate
+ template:
+ metadata:
+ {{- with .podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{- include "byconity.selectorLabels" $ | nindent 8 }}
+ byconity-role: server
+ spec:
+ containers:
+ - name: byconity-server
+ image: "{{ $imageRepository }}:{{ $.Values.image.tag }}"
+ imagePullPolicy: {{ $.Values.image.imagePullPolicy }}
+ env:
+ {{- toYaml $.Values.byconity.commonEnvs | nindent 12 }}
+ - name: BYCONITY_ROLE
+ value: server
+ {{- if $.Values.byconity.additionalEnvs }}
+ {{- toYaml $.Values.byconity.additionalEnvs | nindent 12 }}
+ {{- end }}
+ {{- if .resources }}
+ resources:
+ {{- toYaml .resources | nindent 12 }}
+ {{- end }}
+ ports:
+ - name: tcp
+ containerPort: {{ $.Values.byconity.ports.tcp }}
+ - name: rpc
+ containerPort: {{ $.Values.byconity.ports.rpc }}
+ - name: http
+ containerPort: {{ $.Values.byconity.ports.http }}
+ - name: tcp-secure
+ containerPort: {{ $.Values.byconity.ports.tcpSecure }}
+ - name: https
+ containerPort: {{ $.Values.byconity.ports.https }}
+ - name: exchange
+ containerPort: {{ $.Values.byconity.ports.exchange }}
+ - name: exchange-status
+ containerPort: {{ $.Values.byconity.ports.exchangeStatus }}
+ readinessProbe:
+ {{- .readinessProbe | toYaml | nindent 12 }}
+ livenessProbe:
+ {{- .livenessProbe | toYaml | nindent 12 }}
+ lifecycle:
+ postStart:
+ exec:
+ command: ["/opt/byconity/scripts/lifecycle/poststart"]
+ preStop:
+ exec:
+ command: ["/opt/byconity/scripts/lifecycle/prestop"]
+ volumeMounts:
+ - name: run
+ mountPath: /etc/service/byconity/run
+ subPath: run
+ - name: config
+ mountPath: /etc/byconity
+ - name: lifecycle
+ mountPath: /opt/byconity/scripts/lifecycle
+ - name: local-disk
+ mountPath: /var/byconity
+ - name: log
+ mountPath: /var/log/byconity
+ - name: fdb-config
+ mountPath: /etc/byconity/fdb
+ {{- if $.Values.byconity.additionalVolumes.volumeMounts }}
+ {{- toYaml $.Values.byconity.additionalVolumes.volumeMounts | nindent 12 }}
+ {{- end }}
+ {{- if .securityContext }}
+ securityContext:
+ {{- toYaml .securityContext | nindent 12 }}
+ {{- end }}
+ volumes:
+ - name: run
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-server-run
+ defaultMode: 0755
+ - name: config
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-server-config
+ - name: lifecycle
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-lifecycle
+ defaultMode: 0755
+ - name: fdb-config
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-fdb-config
+ {{- if $.Values.byconity.additionalVolumes.volumes }}
+ {{- toYaml $.Values.byconity.additionalVolumes.volumes | nindent 8 }}
+ {{- end }}
+ hostNetwork: {{ .hostNetwork }}
+ {{- with .nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ imagePullSecrets:
+ {{- with $.Values.global.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with $.Values.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ volumeClaimTemplates:
+ - metadata:
+ name: local-disk
+ spec:
+ {{- toYaml .storage.localDisk.pvcSpec | nindent 8 }}
+ - metadata:
+ name: log
+ spec:
+ {{- toYaml .storage.log.pvcSpec | nindent 8 }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/templates/tso-configmap.yaml b/charts/deepflow/charts/byconity/templates/tso-configmap.yaml
new file mode 100644
index 0000000..3d537c1
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/tso-configmap.yaml
@@ -0,0 +1,37 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" . }}-tso-run
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: tso
+data:
+ run: |
+ #!/bin/bash
+ exec "${APP_ROOT}/bin/tso-server" --config "/etc/byconity/tso.yaml"
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" . }}-tso-config
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: tso
+data:
+ tso.yaml: |
+ {{- $tso_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "tso") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "tso") "psm" (printf "%s-%s" (include "byconity.fullname" .) "tso") }}
+ {{- $service_discovery := dict "service_discovery" (dict "tso" $tso_service) }}
+ {{- .Files.Get "files/tso.yaml" | fromYaml | merge .Values.byconity.tso.configOverwrite $service_discovery | toYaml | nindent 4 }}
+ cnch-config.yaml: |
+ {{- $ports := dict "tcp_port" .Values.byconity.ports.tcp "http_port" .Values.byconity.ports.http "rpc_port" .Values.byconity.ports.rpc "exchange_port" .Values.byconity.ports.exchange "exchange_status_port" .Values.byconity.ports.exchangeStatus }}
+ {{- $server_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "server") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "server") "psm" (printf "%s-%s" (include "byconity.fullname" .) "server") }}
+ {{- $tso_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "tso") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "tso") "psm" (printf "%s-%s" (include "byconity.fullname" .) "tso") }}
+ {{- $dm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "daemon-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "daemon-manager") "psm" (printf "%s-%s" (include "byconity.fullname" .) "daemon-manager") }}
+ {{- $rm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" .) "resource-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" .) "resource-manager") "psm" (printf "%s-%s" (include "byconity.fullname" .) "resource-manager") }}
+ {{- $service_discovery := dict "service_discovery" (dict "server" $server_service "tso" $tso_service "daemon_manager" $dm_service "resource_manager" $rm_service) }}
+ {{- $catalog := dict "catalog" (dict "name_space" (include "byconity.fullname" .)) }}
+ {{- $hdfs_addr_dict := dict "hdfs_addr" .Values.byconity.hdfs_address }}
+ {{- $hdfs_ha_nameservice_dict := dict "hdfs_ha_nameservice" .Values.byconity.hdfs_ha_nameservice }}
+ {{- $hdfs_addr := (empty .Values.byconity.hdfs_ha_nameservice | ternary $hdfs_addr_dict $hdfs_ha_nameservice_dict) }}
+ {{- .Files.Get "files/cnch-config.yaml" | fromYaml | merge $hdfs_addr $catalog $service_discovery $ports | toYaml | nindent 4 }}
diff --git a/charts/deepflow/charts/byconity/templates/tso-service.yaml b/charts/deepflow/charts/byconity/templates/tso-service.yaml
new file mode 100644
index 0000000..5b4c861
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/tso-service.yaml
@@ -0,0 +1,47 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "byconity.fullname" . }}-tso
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: tso
+spec:
+ type: ClusterIP
+ selector:
+ {{- include "byconity.selectorLabels" . | nindent 4 }}
+ byconity-role: tso
+ ports:
+ - name: port0
+ port: 9000
+ targetPort: tcp
+ - name: port1
+ port: 9445 # keeper log
+ targetPort: tcp
+ - name: port2
+ port: 9181 # keeper
+ targetPort: tcp
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "byconity.fullname" . }}-tso-headless
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: tso
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ {{- include "byconity.selectorLabels" . | nindent 4 }}
+ byconity-role: tso
+ ports:
+ - name: port0
+ port: 9000
+ targetPort: tcp
+ - name: port1
+ port: 9445 # keeper log
+ targetPort: tcp
+ - name: port2
+ port: 9181 # keeper
+ targetPort: tcp
diff --git a/charts/deepflow/charts/byconity/templates/tso.yaml b/charts/deepflow/charts/byconity/templates/tso.yaml
new file mode 100644
index 0000000..adabe69
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/tso.yaml
@@ -0,0 +1,133 @@
+{{- $imageRepository := tpl $.Values.image.repository . }}
+{{- with .Values.byconity.tso }}
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: {{ include "byconity.fullname" $ }}-tso
+ labels:
+ {{- include "byconity.labels" $ | nindent 4 }}
+ byconity-role: tso
+spec:
+ replicas: {{ .replicas }}
+ serviceName: {{ include "byconity.fullname" $ }}-tso
+ selector:
+ matchLabels:
+ {{- include "byconity.selectorLabels" $ | nindent 6 }}
+ byconity-role: tso
+ updateStrategy:
+ type: RollingUpdate
+ template:
+ metadata:
+ {{- with .podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{- include "byconity.selectorLabels" $ | nindent 8 }}
+ byconity-role: tso
+ spec:
+ containers:
+ - name: byconity-tso
+ image: "{{ $imageRepository }}:{{ $.Values.image.tag }}"
+ imagePullPolicy: {{ $.Values.image.imagePullPolicy }}
+ env:
+ {{- toYaml $.Values.byconity.commonEnvs | nindent 12 }}
+ - name: BYCONITY_ROLE
+ value: tso
+ {{- if $.Values.byconity.additionalEnvs }}
+ {{- toYaml $.Values.byconity.additionalEnvs | nindent 12 }}
+ {{- end }}
+ - name: TSO_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: "status.podIP"
+ {{- if .resources }}
+ resources:
+ {{- toYaml .resources | nindent 12 }}
+ {{- end }}
+ ports:
+ - name: tcp
+ containerPort: {{ $.Values.byconity.ports.tcp }}
+ readinessProbe:
+ {{- .readinessProbe | toYaml | nindent 12 }}
+ livenessProbe:
+ {{- .livenessProbe | toYaml | nindent 12 }}
+ lifecycle:
+ postStart:
+ exec:
+ command: ["/opt/byconity/scripts/lifecycle/poststart"]
+ preStop:
+ exec:
+ command: ["/opt/byconity/scripts/lifecycle/prestop"]
+ volumeMounts:
+ - name: run
+ mountPath: /etc/service/byconity/run
+ subPath: run
+ - name: config
+ mountPath: /etc/byconity
+ - name: lifecycle
+ mountPath: /opt/byconity/scripts/lifecycle
+ - name: fdb-config
+ mountPath: /etc/byconity/fdb
+ - name: local-disk
+ mountPath: /var/byconity
+ - name: log
+ mountPath: /var/log/byconity
+ {{- if $.Values.byconity.tso.additionalVolumes.volumeMounts }}
+ {{- toYaml $.Values.byconity.tso.additionalVolumes.volumeMounts | nindent 12 }}
+ {{- end }}
+ {{- if .securityContext }}
+ securityContext:
+ {{- toYaml .securityContext | nindent 12 }}
+ {{- end }}
+ volumes:
+ - name: run
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-tso-run
+ defaultMode: 0755
+ - name: config
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-tso-config
+ - name: lifecycle
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-lifecycle
+ defaultMode: 0755
+ - name: fdb-config
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-fdb-config
+ {{- if $.Values.byconity.tso.additionalVolumes.volumes }}
+ {{- toYaml $.Values.byconity.tso.additionalVolumes.volumes | nindent 8 }}
+ {{- end }}
+ hostNetwork: {{ .hostNetwork }}
+ {{- with .nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ imagePullSecrets:
+ {{- with $.Values.global.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with $.Values.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ volumeClaimTemplates:
+ - metadata:
+ name: local-disk
+ spec:
+ {{- toYaml .storage.localDisk.pvcSpec | nindent 8 }}
+ - metadata:
+ name: log
+ spec:
+ {{- toYaml .storage.log.pvcSpec | nindent 8 }}
+ {{- if $.Values.byconity.tso.additionalVolumeClaimTemplates }}
+ {{- toYaml $.Values.byconity.tso.additionalVolumeClaimTemplates | nindent 4 }}
+ {{- end }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/templates/vw-configmap.yaml b/charts/deepflow/charts/byconity/templates/vw-configmap.yaml
new file mode 100644
index 0000000..a1cc8d5
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/vw-configmap.yaml
@@ -0,0 +1,58 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" . }}-worker-run
+ labels:
+ {{- include "byconity.labels" . | nindent 4 }}
+ byconity-role: worker
+data:
+ run: |
+ #!/bin/bash
+ chown root. /var/byconity /var/log/byconity
+ exec "${APP_ROOT}/bin/clickhouse-server" --config "/etc/byconity/worker.yaml"
+
+{{- range .Values.byconity.virtualWarehouses }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "byconity.fullname" $ }}-vw-{{ .name | replace "_" "-" }}-config
+ labels:
+ {{- include "byconity.labels" $ | nindent 4 }}
+ byconity-role: worker
+ byconity-vw: {{ .name }}
+data:
+ worker.yaml: |
+ {{- $ports := dict "tcp_port" $.Values.byconity.ports.tcp "http_port" $.Values.byconity.ports.http "rpc_port" $.Values.byconity.ports.rpc "exchange_port" $.Values.byconity.ports.exchange "exchange_status_port" $.Values.byconity.ports.exchangeStatus }}
+ {{- $server_service := dict "service" (printf "%s-%s" (include "byconity.fullname" $) "server") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" $) "server") "psm" (printf "%s-%s" (include "byconity.fullname" $) "server") }}
+ {{- $tso_service := dict "service" (printf "%s-%s" (include "byconity.fullname" $) "tso") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" $) "tso") "psm" (printf "%s-%s" (include "byconity.fullname" $) "tso") }}
+ {{- $dm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" $) "daemon-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" $) "daemon-manager") "psm" (printf "%s-%s" (include "byconity.fullname" $) "daemon-manager") }}
+ {{- $rm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" $) "resource-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" $) "resource-manager") "psm" (printf "%s-%s" (include "byconity.fullname" $) "resource-manager") }}
+ {{- $service_discovery := dict "service_discovery" (dict "server" $server_service "tso" $tso_service "daemon_manager" $dm_service "resource_manager" $rm_service) }}
+ {{- $catalog := dict "catalog" (dict "name_space" (include "byconity.fullname" $)) }}
+ {{- $hdfs_addr := dict "hdfs_addr" $.Values.byconity.hdfs_address }}
+ {{- $.Files.Get "files/worker.yaml" | fromYaml | merge .configOverwrite $.Values.byconity.configOverwrite $hdfs_addr $catalog $service_discovery $ports | toYaml | nindent 4 }}
+ users.yaml: |
+ {{- $.Files.Get "files/users.yaml" | fromYaml | merge $.Values.byconity.usersOverwrite | toYaml | nindent 4 }}
+ hdfs3.xml: |
+
+ {{- range $key, $val := $.Values.byconity.hdfs3Config }}
+
+ {{ $key }}
+ {{ $val }}
+
+ {{- end }}
+
+ cnch-config.yaml: |
+ {{- $ports := dict "tcp_port" $.Values.byconity.ports.tcp "http_port" $.Values.byconity.ports.http "rpc_port" $.Values.byconity.ports.rpc "exchange_port" $.Values.byconity.ports.exchange "exchange_status_port" $.Values.byconity.ports.exchangeStatus }}
+ {{- $server_service := dict "service" (printf "%s-%s" (include "byconity.fullname" $) "server") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" $) "server") "psm" (printf "%s-%s" (include "byconity.fullname" $) "server") }}
+ {{- $tso_service := dict "service" (printf "%s-%s" (include "byconity.fullname" $) "tso") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" $) "tso") "psm" (printf "%s-%s" (include "byconity.fullname" $) "tso") }}
+ {{- $dm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" $) "daemon-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" $) "daemon-manager") "psm" (printf "%s-%s" (include "byconity.fullname" $) "daemon-manager") }}
+ {{- $rm_service := dict "service" (printf "%s-%s" (include "byconity.fullname" $) "resource-manager") "headless_service" (printf "%s-%s-headless" (include "byconity.fullname" $) "resource-manager") "psm" (printf "%s-%s" (include "byconity.fullname" $) "resource-manager") }}
+ {{- $service_discovery := dict "service_discovery" (dict "server" $server_service "tso" $tso_service "daemon_manager" $dm_service "resource_manager" $rm_service) }}
+ {{- $catalog := dict "catalog" (dict "name_space" (include "byconity.fullname" $)) }}
+ {{- $hdfs_addr_dict := dict "hdfs_addr" $.Values.byconity.hdfs_address }}
+ {{- $hdfs_ha_nameservice_dict := dict "hdfs_ha_nameservice" $.Values.byconity.hdfs_ha_nameservice }}
+ {{- $hdfs_addr := (empty $.Values.byconity.hdfs_ha_nameservice | ternary $hdfs_addr_dict $hdfs_ha_nameservice_dict) }}
+ {{- $.Files.Get "files/cnch-config.yaml" | fromYaml | merge .configOverwrite $hdfs_addr $catalog $service_discovery $ports | toYaml | nindent 4 }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/templates/vw-service.yaml b/charts/deepflow/charts/byconity/templates/vw-service.yaml
new file mode 100644
index 0000000..ac796eb
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/vw-service.yaml
@@ -0,0 +1,76 @@
+{{- range .Values.byconity.virtualWarehouses }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "byconity.fullname" $ }}-vw-{{ .name | replace "_" "-"}}
+ labels:
+ {{- include "byconity.labels" $ | nindent 4 }}
+ byconity-role: worker
+ byconity-vw: {{ .name }}
+spec:
+ type: ClusterIP
+ selector:
+ {{- include "byconity.selectorLabels" $ | nindent 4 }}
+ byconity-role: worker
+ ports:
+ - name: port0
+ port: {{ $.Values.byconity.ports.tcp }}
+ targetPort: tcp
+ - name: port1
+ port: {{ $.Values.byconity.ports.rpc }}
+ targetPort: rpc
+ - name: port2
+ port: {{ $.Values.byconity.ports.http }}
+ targetPort: http
+ - name: port3
+ port: {{ $.Values.byconity.ports.tcpSecure }}
+ targetPort: tcp-secure
+ - name: port4
+ port: {{ $.Values.byconity.ports.https }}
+ targetPort: https
+ - name: port5
+ port: {{ $.Values.byconity.ports.exchange }}
+ targetPort: exchange
+ - name: port6
+ port: {{ $.Values.byconity.ports.exchangeStatus }}
+ targetPort: exchange-status
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "byconity.fullname" $ }}-vw-{{ .name | replace "_" "-"}}-headless
+ labels:
+ {{- include "byconity.labels" $ | nindent 4 }}
+ byconity-role: worker
+ byconity-vw: {{ .name }}
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ {{- include "byconity.selectorLabels" $ | nindent 4 }}
+ byconity-role: worker
+ ports:
+ - name: port0
+ port: {{ $.Values.byconity.ports.tcp }}
+ targetPort: tcp
+ - name: port1
+ port: {{ $.Values.byconity.ports.rpc }}
+ targetPort: rpc
+ - name: port2
+ port: {{ $.Values.byconity.ports.http }}
+ targetPort: http
+ - name: port3
+ port: {{ $.Values.byconity.ports.tcpSecure }}
+ targetPort: tcp-secure
+ - name: port4
+ port: {{ $.Values.byconity.ports.https }}
+ targetPort: https
+ - name: port5
+ port: {{ $.Values.byconity.ports.exchange }}
+ targetPort: exchange
+ - name: port6
+ port: {{ $.Values.byconity.ports.exchangeStatus }}
+ targetPort: exchange-status
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/templates/vw.yaml b/charts/deepflow/charts/byconity/templates/vw.yaml
new file mode 100644
index 0000000..6229c22
--- /dev/null
+++ b/charts/deepflow/charts/byconity/templates/vw.yaml
@@ -0,0 +1,159 @@
+{{- $imageRepository := tpl $.Values.image.repository . }}
+{{- range .Values.byconity.virtualWarehouses }}
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: {{ include "byconity.fullname" $ }}-vw-{{ .name | replace "_" "-" }}
+ labels:
+ {{- include "byconity.labels" $ | nindent 4 }}
+ byconity-role: worker
+ byconity-vw: {{ .name }}
+spec:
+ replicas: {{ .replicas }}
+ serviceName: {{ include "byconity.fullname" $ }}-vw-{{ .name | replace "_" "-" }}
+ selector:
+ matchLabels:
+ {{- include "byconity.selectorLabels" $ | nindent 6 }}
+ byconity-role: worker
+ byconity-vw: {{ .name }}
+ updateStrategy:
+ type: RollingUpdate
+ template:
+ metadata:
+ {{- with .podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{- include "byconity.selectorLabels" $ | nindent 8 }}
+ byconity-role: worker
+ byconity-vw: {{ .name }}
+ spec:
+ containers:
+ - name: byconity-worker
+ image: "{{ $imageRepository }}:{{ $.Values.image.tag }}"
+ imagePullPolicy: {{ $.Values.image.imagePullPolicy }}
+ env:
+ {{- toYaml $.Values.byconity.commonEnvs | nindent 12 }}
+ - name: BYCONITY_ROLE
+ value: worker
+ {{- if $.Values.byconity.additionalEnvs }}
+ {{- toYaml $.Values.byconity.additionalEnvs | nindent 12 }}
+ {{- end }}
+ - name: VIRTUAL_WAREHOUSE_ID
+ {{- if .virtual_warehouse_id }}
+ value: {{ .virtual_warehouse_id }}
+ {{- else }}
+ value: {{ .name }}
+ {{- end }}
+ - name: WORKER_GROUP_ID
+ {{- if .worker_group_id }}
+ value: {{ .worker_group_id }}
+ {{- else }}
+ value: {{ .name }}
+ {{- end }}
+ - name: WORKER_ID
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: "metadata.name"
+ {{- if .resources }}
+ resources:
+ {{- toYaml .resources | nindent 12 }}
+ {{- end }}
+ ports:
+ - name: tcp
+ containerPort: {{ $.Values.byconity.ports.tcp }}
+ - name: rpc
+ containerPort: {{ $.Values.byconity.ports.rpc }}
+ - name: http
+ containerPort: {{ $.Values.byconity.ports.http }}
+ - name: tcp-secure
+ containerPort: {{ $.Values.byconity.ports.tcpSecure }}
+ - name: https
+ containerPort: {{ $.Values.byconity.ports.https }}
+ - name: exchange
+ containerPort: {{ $.Values.byconity.ports.exchange }}
+ - name: exchange-status
+ containerPort: {{ $.Values.byconity.ports.exchangeStatus }}
+ readinessProbe:
+ {{- .readinessProbe | toYaml | nindent 12 }}
+ livenessProbe:
+ {{- .livenessProbe | toYaml | nindent 12 }}
+ lifecycle:
+ postStart:
+ exec:
+ command: ["/opt/byconity/scripts/lifecycle/poststart"]
+ preStop:
+ exec:
+ command: ["/opt/byconity/scripts/lifecycle/prestop"]
+ volumeMounts:
+ - name: run
+ mountPath: /etc/service/byconity/run
+ subPath: run
+ - name: config
+ mountPath: /etc/byconity
+ - name: lifecycle
+ mountPath: /opt/byconity/scripts/lifecycle
+ - name: local-disk
+ mountPath: /var/byconity
+ - name: log
+ mountPath: /var/log/byconity
+ - name: fdb-config
+ mountPath: /etc/byconity/fdb
+ {{- if $.Values.byconity.additionalVolumes.volumeMounts }}
+ {{- toYaml $.Values.byconity.additionalVolumes.volumeMounts | nindent 12 }}
+ {{- end }}
+ {{- if .securityContext }}
+ securityContext:
+ {{- toYaml .securityContext | nindent 12 }}
+ {{- end }}
+ volumes:
+ - name: run
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-worker-run
+ defaultMode: 0755
+ - name: config
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-vw-{{ .name | replace "_" "-" }}-config
+ - name: lifecycle
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-lifecycle
+ defaultMode: 0755
+ - name: fdb-config
+ configMap:
+ name: {{ include "byconity.fullname" $ }}-fdb-config
+ {{- if $.Values.byconity.additionalVolumes.volumes }}
+ {{- toYaml $.Values.byconity.additionalVolumes.volumes | nindent 8 }}
+ {{- end }}
+ hostNetwork: {{ .hostNetwork }}
+ {{- with .nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ imagePullSecrets:
+ {{- with $.Values.global.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with $.Values.imagePullSecrets }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ volumeClaimTemplates:
+ - metadata:
+ name: local-disk
+ spec:
+ {{- toYaml .storage.localDisk.pvcSpec | nindent 8 }}
+ - metadata:
+ name: log
+ spec:
+ {{- toYaml .storage.log.pvcSpec | nindent 8 }}
+{{- end }}
diff --git a/charts/deepflow/charts/byconity/values.yaml b/charts/deepflow/charts/byconity/values.yaml
new file mode 100644
index 0000000..fc85a16
--- /dev/null
+++ b/charts/deepflow/charts/byconity/values.yaml
@@ -0,0 +1,446 @@
+# Default values for byconity.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+nameOverride: ""
+fullnameOverride: ""
+
+image:
+ repository: byconity/byconity
+ tag: 1.0.0
+ imagePullPolicy: IfNotPresent
+
+byconity:
+ hdfs_address: hdfs://byconity-hdfs-namenodes:8020 #default hdfs
+ # if “hdfs_ha_nameservice” is configured, the “hdfs_address” configuration will be ineffective
+ # hdfs_ha_nameservice: hdfs_service # after configuring “namespace”, you need to configure the address of the namespace in “hdfs3Config”
+ # if you want to use your own fdb please add the following 2 configurations
+ # use_existing_fdb: true
+ # fdb_cluster_file: byconity_fdb:Is0hBgl6iICdHuspBmhAODmD5WISXKzI@192.168.224.150:4501,192.168.226.83:4501,192.168.228.152:4501
+ hdfs3Config:
+ dfs.client.metrics.enable: true
+ dfs.client.metrics.use_domain_socket: true
+ dfs.default.blocksize: "268435456"
+ dfs.read.hedge_read.interval_ms: 120
+ input.connect.timeout: 10000
+ input.read.max.retry: 3
+ input.read.timeout: 6000
+ input.write.timeout: 10000
+ output.close.timeout: 256000
+ output.connect.timeout: 10000
+ output.default.write.retry: 3
+ output.read.timeout: 120000
+ output.write.timeout: 256000
+ rpc.client.connect.retry: 3
+ rpc.client.connect.timeout: 10000
+ rpc.client.read.timeout: 20000
+ rpc.client.timeout: 20000
+ rpc.client.write.timeout: 20000
+
+ configOverwrite:
+ storage_configuration:
+ cnch_default_policy: cnch_default_hdfs
+ disks:
+ server_hdfs_disk:
+ path: /var/byconity/data
+ type: hdfs
+ server_local_0:
+ path: /var/byconity/data/
+ type: local
+ #
+ # server_s3_disk_0:
+ # path: byconity0
+ # endpoint: http://xxx.xxx.xxx.xxx:9000
+ # region: cn-beijing
+ # bucket: cch-test
+ # ak_id: minio
+ # ak_secret: minio123
+ # type: bytes3
+ # is_virtual_hosted_style: false
+
+ policies:
+ cnch_default_hdfs:
+ volumes:
+ hdfs:
+ default: server_hdfs_disk
+ disk: server_hdfs_disk
+ default:
+ volumes:
+ local:
+ default: server_local_0
+ disk: server_local_0
+
+ # cnch_default_s3:
+ # volumes:
+ # bytes3:
+ # default: server_s3_disk_0
+ # disk: server_s3_disk_0
+
+ ports:
+ tcp: 9000
+ http: 8123
+ rpc: 8124
+ tcpSecure: 9100
+ https: 9123
+ exchange: 9410
+ exchangeStatus: 9510
+
+ usersOverwrite:
+ users:
+ default:
+ password: ""
+ probe:
+ password: probe
+
+ server:
+ replicas: 1
+ image: ""
+ podAnnotations: {}
+ resources: {}
+ hostNetwork: false
+ nodeSelector: {}
+ tolerations: []
+ affinity: {}
+ imagePullSecrets: []
+ securityContext: {}
+ livenessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/liveness" ]
+ failureThreshold: 6
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 20
+ readinessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/readiness" ]
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 10
+ storage:
+ localDisk:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 500Gi
+ storageClassName: your-storage-class
+ log:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 50Gi
+ storageClassName: your-storage-class
+ configOverwrite:
+ logger:
+ level: trace
+ disk_cache_strategies:
+ simple:
+ lru_max_size: 429496729600 # 400Gi
+ # timezone: Etc/UTC
+
+ tso:
+ replicas: 1
+ image: ""
+ podAnnotations: {}
+ resources: {}
+ hostNetwork: false
+ nodeSelector: {}
+ tolerations: []
+ affinity: {}
+ imagePullSecrets: []
+ securityContext: {}
+ livenessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/liveness-tso" ]
+ failureThreshold: 6
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 20
+ readinessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/readiness-tso" ]
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 10
+ configOverwrite: {}
+ additionalVolumes: { }
+ storage:
+ localDisk:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 500Gi
+ storageClassName: your-storage-class
+ log:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 50Gi
+ storageClassName: your-storage-class
+
+
+ daemonManager:
+ replicas: 1 # Please keep single instance now, daemon manager HA is WIP
+ image: ""
+ podAnnotations: {}
+ livenessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/liveness-dm" ]
+ failureThreshold: 6
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 20
+ readinessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/readiness-dm" ]
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 10
+ resources: {}
+ hostNetwork: false
+ nodeSelector: {}
+ tolerations: []
+ affinity: {}
+ imagePullSecrets: []
+ securityContext: {}
+ configOverwrite: {}
+
+ resourceManager:
+ replicas: 1
+ image: ""
+ podAnnotations: {}
+ resources: {}
+ livenessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/liveness-rm" ]
+ failureThreshold: 6
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 20
+ readinessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/readiness-rm" ]
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 10
+ hostNetwork: false
+ nodeSelector: {}
+ tolerations: []
+ affinity: {}
+ imagePullSecrets: []
+ securityContext: {}
+ configOverwrite: {}
+
+ defaultWorker: &defaultWorker
+ replicas: 1
+ image: ""
+ podAnnotations: {}
+ resources: {}
+ hostNetwork: false
+ nodeSelector: {}
+ tolerations: []
+ affinity: {}
+ imagePullSecrets: []
+ securityContext: {}
+ livenessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/liveness" ]
+ failureThreshold: 6
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 20
+ readinessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/readiness" ]
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 10
+ storage:
+ localDisk:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 500Gi
+ storageClassName: your-storage-class
+ log:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 50Gi
+ storageClassName: your-storage-class
+ configOverwrite:
+ logger:
+ level: trace
+ disk_cache_strategies:
+ simple:
+ lru_max_size: 429496729600 # 400Gi
+ # timezone: Etc/UTC
+
+ virtualWarehouses:
+ - <<: *defaultWorker
+ name: vw_default
+ replicas: 1
+ - <<: *defaultWorker
+ name: vw_write
+ replicas: 1
+
+ commonEnvs:
+ - name: MY_POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: "metadata.namespace"
+ - name: MY_POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: "metadata.name"
+ - name: MY_UID
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: "metadata.uid"
+ - name: MY_POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: "status.podIP"
+ - name: MY_HOST_IP
+ valueFrom:
+ fieldRef:
+ # fieldPath: "status.hostIP"
+ fieldPath: "status.podIP"
+ - name: CONSUL_HTTP_HOST
+ valueFrom:
+ fieldRef:
+ fieldPath: "status.hostIP"
+
+ additionalEnvs: []
+
+ additionalVolumes:
+ volumes: []
+ volumeMounts: []
+
+ postStart: ""
+ preStop: ""
+ readiness: ""
+ liveness: ""
+
+ ingress:
+ enabled: false
+ className: ""
+ annotations: {}
+ # kubernetes.io/ingress.class: nginx
+ # kubernetes.io/tls-acme: "true"
+ hosts:
+ - host: byconity-example.local
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ tls: []
+ # - secretName: byconity-example-tls
+ # hosts:
+ # - byconity-example.local
+
+# For more detailed usage, please check fdb-kubernetes-operator API doc: https://github.com/FoundationDB/fdb-kubernetes-operator/blob/main/docs/cluster_spec.md
+fdb:
+ enabled: true
+ enableCliPod: true
+ version: 7.1.15
+ clusterSpec: {}
+
+fdb-operator:
+ enabled: true
+ resources:
+ limits:
+ cpu: 1
+ memory: 512Mi
+ requests:
+ cpu: 1
+ memory: 512Mi
+ image:
+ repository: foundationdb/fdb-kubernetes-operator
+ tag: v1.9.0
+ pullPolicy: IfNotPresent
+
+hdfs:
+ enabled: false
+ namenode:
+ repository: gchq/hdfs
+ tag: 3.2.2 # managed version
+ resources: {}
+ nodeSelector: {}
+ dataVolumes:
+ count: 1
+ pvcTemplateSpec:
+ storageClassName: your-storage-class
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 10Gi
+ extraEnvVars: {}
+ # Example usage:
+ # HADOOP_HEAPSIZE_MIN: 128m
+ # hadoop.heapsize.min: 128m
+ datanode:
+ nodeCount: 3
+ repository: gchq/hdfs
+ tag: 3.2.2 # managed version
+ resources: {}
+ nodeSelector: {}
+ dataVolumes:
+ count: 1
+ pvcTemplateSpec:
+ storageClassName: your-storage-class
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 10Gi
+ extraEnvVars: {}
+ # Example usage:
+ # HADOOP_HEAPSIZE_MIN: 128m
+ # hadoop.heapsize.min: 128m
+ config:
+ hdfsSite:
+ dfs.permissions.enabled: "false"
+ dfs.namenode.datanode.registration.ip-hostname-check: "false"
+ shell:
+ enabled: true
+ repository: gchq/hdfs
+ tag: 3.2.2 # managed version
+ imagePullPolicy: IfNotPresent
+ imagePullSecrets: []
+ resources: {}
+ nodeSelector: {}
+ tolerations: []
+ affinity: {}
+ postInstallCommands: []
+ # - hadoop fs -mkdir -p /accumulo
+ # - hadoop fs -chown accumulo /accumulo
+ # - hadoop fs -chmod 700 /accumulo
+ # - hadoop fs -ls /
diff --git a/charts/deepflow/values.yaml b/charts/deepflow/values.yaml
index 0fb203b..781b524 100644
--- a/charts/deepflow/values.yaml
+++ b/charts/deepflow/values.yaml
@@ -35,6 +35,8 @@ global:
## Whether to enable allInone local storage, if enabled, the local /opt directory is used to store data by default, ignoring the node affinity check, and is not responsible for any data persistence
allInOneLocalStorage: false
storageClass: ""
+ ## Select a storage engine. Currently, clickhouse and byconity are available
+ storageEngine: clickhouse
externalClickHouse:
enabled: false ## Enable external ClickHouse
type: ep
@@ -326,9 +328,9 @@ configmap:
database: flow_tag
user-name: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.username }}{{ else }}default{{end}}"
port: 9000
- host: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Release.Name }}-external-clickhouse{{ else }}{{ $.Release.Name }}-clickhouse{{end}}"
+ host: '{{ if eq $.Values.storageEngine "clickhouse" }}{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Release.Name }}-external-clickhouse{{ else }}{{ $.Release.Name }}-clickhouse{{ end }}{{ else }}{{ $.Release.Name }}-byconity-server{{ end }}'
user-password: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.password }}{{ else }}{{ .Values.global.password.clickhouse }}{{end}}"
- trisolaris:
+ endpoint-tcp-port-name: '{{ if eq $.Values.storageEngine "clickhouse" }}tcp-port{{ else }}port0{{ end }}' trisolaris:
chrony:
host: "{{ tpl .Values.global.ntpServer . }}"
port: 123
@@ -341,7 +343,7 @@ configmap:
database: flow_tag
user-name: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.username }}{{ else }}default{{end}}"
port: 9000
- host: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Release.Name }}-external-clickhouse{{ else }}{{ $.Release.Name }}-clickhouse{{end}}"
+ host: '{{ if eq $.Values.storageEngine "clickhouse" }}{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Release.Name }}-external-clickhouse{{ else }}{{ $.Release.Name }}-clickhouse{{ end }}{{ else }}{{ $.Release.Name }}-byconity-server{{ end }}'
user-password: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.password }}{{ else }}{{ .Values.global.password.clickhouse }}{{end}}"
timeout: 60
deepflow-app:
@@ -351,12 +353,14 @@ configmap:
ckdb:
# use internal or external ckdb
external: "{{ $.Values.global.externalClickHouse.enabled }}"
- host: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Release.Name }}-external-clickhouse{{ else }}{{ $.Release.Name }}-clickhouse{{end}}"
+ type: "{{ $.Values.global.storageEngine }}"
+ host: '{{ if eq $.Values.storageEngine "clickhouse" }}{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Release.Name }}-external-clickhouse{{ else }}{{ $.Release.Name }}-clickhouse{{ end }}{{ else }}{{ $.Release.Name }}-byconity-server{{ end }}'
port: 9000
+ endpoint-tcp-port-name: '{{ if eq $.Values.storageEngine "clickhouse" }}tcp-port{{ else }}port0{{ end }}'
# if `external` is 'true', default value is 'default', else 'df_cluster'
cluster-name: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.clusterName}}{{end}}"
# if `external` is 'true', default value 'default', else 'df_storage'
- storage-policy: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.storagePolicy}}{{end}}"
+ storage-policy: '{{ if eq $.Values.storageEngine "clickhouse" }}{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.storagePolicy}}{{end}}{{ else }}cnch_default_s3{{ end }}'
ckdb-auth:
username: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.username }}{{ else }}default{{end}}"
# '#','@' special characters are not supported in passwords
@@ -1026,3 +1030,368 @@ stella-agent-ce:
# values: controller
nodeAffinityTermLabelSelector: []
+
+
+
+byconity:
+ enabled: false
+ nameOverride: ""
+ fullnameOverride: ""
+
+ image:
+ repository: "{{ .Values.global.image.repository }}/byconity"
+ tag: 1.0.0
+ imagePullPolicy: IfNotPresent
+ fdbShell:
+ image:
+ repository: "{{ .Values.global.image.repository }}"
+ byconity:
+ configOverwrite:
+ storage_configuration:
+ cnch_default_policy: cnch_default_s3
+ disks:
+ server_s3_disk_0:
+ path: byconity0
+ endpoint: https://oss-cn-beijing-internal.aliyuncs.com
+ region: cn-beijing
+ bucket: byconity
+ ak_id: XXXXXXX
+ ak_secret: XXXXXXX
+ type: bytes3
+ is_virtual_hosted_style: true
+
+ policies:
+ cnch_default_s3:
+ volumes:
+ bytes3:
+ default: server_s3_disk_0
+ disk: server_s3_disk_0
+
+ ports:
+ tcp: 9000
+ http: 8123
+ rpc: 8124
+ tcpSecure: 9100
+ https: 9123
+ exchange: 9410
+ exchangeStatus: 9510
+
+ usersOverwrite:
+ users:
+ default:
+ password: "YSDeepFlow@3q302"
+ probe:
+ password: probe
+ profiles:
+ default:
+ allow_experimental_live_view: 1
+ enable_multiple_tables_for_cnch_parts: 1
+
+
+ server:
+ replicas: 1
+ image: ""
+ podAnnotations: { }
+ resources: { }
+ hostNetwork: false
+ nodeSelector: { }
+ tolerations: [ ]
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: tsdb
+ operator: In
+ values:
+ - enable
+ imagePullSecrets: [ ]
+ securityContext: { }
+ storage:
+ localDisk:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 30Gi
+ storageClassName: openebs-hostpath #replace to your storageClassName
+ log:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 20Gi
+ storageClassName: openebs-hostpath #replace to your storageClassName
+ configOverwrite:
+ logger:
+ level: trace
+ disk_cache_strategies:
+ simple:
+ lru_max_size: 429496729600 # 400Gi
+ # timezone: Etc/UTC
+
+ tso:
+ replicas: 1
+ image: ""
+ podAnnotations: { }
+ resources: { }
+ hostNetwork: false
+ nodeSelector: { }
+ tolerations: [ ]
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: tsdb
+ operator: In
+ values:
+ - enable
+ imagePullSecrets: [ ]
+ securityContext: { }
+ configOverwrite: { }
+ additionalVolumes: { }
+ storage:
+ localDisk:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 10Gi
+ storageClassName: openebs-hostpath #replace to your storageClassName
+ log:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 10Gi
+ storageClassName: openebs-hostpath #replace to your storageClassName
+
+
+ daemonManager:
+ replicas: 1 # Please keep single instance now, daemon manager HA is WIP
+ image: ""
+ podAnnotations: { }
+ resources: { }
+ hostNetwork: false
+ nodeSelector: { }
+ tolerations: [ ]
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: tsdb
+ operator: In
+ values:
+ - enable
+ imagePullSecrets: [ ]
+ securityContext: { }
+ configOverwrite: { }
+
+ resourceManager:
+ replicas: 1
+ image: ""
+ podAnnotations: { }
+ resources: { }
+ hostNetwork: false
+ nodeSelector: { }
+ tolerations: [ ]
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: tsdb
+ operator: In
+ values:
+ - enable
+ imagePullSecrets: [ ]
+ securityContext: { }
+ configOverwrite: { }
+
+ defaultWorker: &defaultWorker
+ replicas: 1
+ image: ""
+ podAnnotations: { }
+ resources: { }
+ hostNetwork: false
+ nodeSelector: { }
+ tolerations: [ ]
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: tsdb
+ operator: In
+ values:
+ - enable
+ imagePullSecrets: [ ]
+ securityContext: { }
+ livenessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/liveness" ]
+ failureThreshold: 6
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 20
+ readinessProbe:
+ exec:
+ command: [ "/opt/byconity/scripts/lifecycle/readiness" ]
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 10
+ storage:
+ localDisk:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 50Gi
+ storageClassName: openebs-hostpath #replace to your storageClassName
+ log:
+ pvcSpec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 10Gi
+ storageClassName: openebs-hostpath #replace to your storageClassName
+ configOverwrite:
+ logger:
+ level: trace
+ disk_cache_strategies:
+ simple:
+ lru_max_size: 42949672960 # 40Gi
+ # timezone: Etc/UTC
+
+ virtualWarehouses:
+ - <<: *defaultWorker
+ name: vw_default
+ replicas: 1
+ - <<: *defaultWorker
+ name: vw_write
+ replicas: 1
+
+ commonEnvs:
+ - name: MY_POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: "metadata.namespace"
+ - name: MY_POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: "metadata.name"
+ - name: MY_UID
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: "metadata.uid"
+ - name: MY_POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: "status.podIP"
+ - name: MY_HOST_IP
+ valueFrom:
+ fieldRef:
+ # fieldPath: "status.hostIP"
+ fieldPath: "status.podIP"
+ - name: CONSUL_HTTP_HOST
+ valueFrom:
+ fieldRef:
+ fieldPath: "status.hostIP"
+
+ additionalEnvs: [ ]
+
+ additionalVolumes:
+ volumes: [ ]
+ volumeMounts: [ ]
+
+ postStart: ""
+ preStop: ""
+ livenessProbe: ""
+ readinessProbe: ""
+
+ ingress:
+ enabled: false
+
+ # For more detailed usage, please check fdb-kubernetes-operator API doc: https://github.com/FoundationDB/fdb-kubernetes-operator/blob/main/docs/cluster_spec.md
+ fdb:
+ enabled: true
+ enableCliPod: true
+ version: 7.1.15
+ clusterSpec:
+ mainContainer:
+ imageConfigs:
+ - version: 7.1.15
+ baseImage: "{{ .Values.global.image.repository }}/foundationdb"
+ tag: 7.1.15
+ sidecarContainer:
+ imageConfigs:
+ - version: 7.1.15
+ baseImage: "{{ .Values.global.image.repository }}/foundationdb-kubernetes-sidecar"
+ tag: 7.1.15-1
+ processCounts:
+ stateless: 3
+ log: 3
+ storage: 3
+ processes:
+ general:
+ volumeClaimTemplate:
+ spec:
+ storageClassName: openebs-hostpath #replace to your storageClassName
+ resources:
+ requests:
+ storage: 20Gi
+
+ fdb-operator:
+ enabled: true
+ resources:
+ limits:
+ cpu: 1
+ memory: 512Mi
+ requests:
+ cpu: 1
+ memory: 512Mi
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: tsdb
+ operator: In
+ values:
+ - enable
+ image:
+ repository: "{{ .Values.global.image.repository }}/fdb-kubernetes-operator"
+ tag: v1.9.0
+ pullPolicy: IfNotPresent
+ initContainerImage:
+ repository: "{{ $.Values.global.image.repository }}/foundationdb-kubernetes-sidecar"
+ initContainers:
+ 6.2:
+ image:
+ repository: "{{ $.Values.global.image.repository }}/foundationdb/foundationdb-kubernetes-sidecar"
+ tag: 6.2.30-1
+ pullPolicy: IfNotPresent
+ 6.3:
+ image:
+ repository: "{{ $.Values.global.image.repository }}/foundationdb/foundationdb-kubernetes-sidecar"
+ tag: 6.3.23-1
+ pullPolicy: IfNotPresent
+ 7.1:
+ image:
+ repository: "{{ $.Values.global.image.repository }}/foundationdb/foundationdb-kubernetes-sidecar"
+ tag: 7.1.15-1
+ pullPolicy: IfNotPresent
+ hdfs:
+ enabled: false
\ No newline at end of file
diff --git a/test-values.yaml b/test-values.yaml
index fc7bafc..83659ee 100644
--- a/test-values.yaml
+++ b/test-values.yaml
@@ -9,4 +9,91 @@ clickhouse:
grafana:
image:
registry: docker.io
- repository: grafana/grafana
\ No newline at end of file
+ repository: grafana/grafana
+ assertNoLeakedSecrets: false
+ #
+
+byconity:
+ enabled: true
+ nameOverride: ""
+ fullnameOverride: ""
+
+ image:
+ repository: byconity/byconity
+ tag: 1.0.0
+ imagePullPolicy: IfNotPresent
+ fdbShell:
+ image:
+ repository: foundationdb
+
+ # For more detailed usage, please check fdb-kubernetes-operator API doc: https://github.com/FoundationDB/fdb-kubernetes-operator/blob/main/docs/cluster_spec.md
+ fdb:
+ enabled: true
+ enableCliPod: true
+ version: 7.1.15
+ clusterSpec:
+ mainContainer:
+ imageConfigs:
+ - version: 7.1.15
+ baseImage: foundationdb/foundationdb
+ tag: 7.1.15
+ sidecarContainer:
+ imageConfigs:
+ - version: 7.1.15
+ baseImage: foundationdb/foundationdb-kubernetes-sidecar
+ tag: 7.1.15-1
+ processCounts:
+ stateless: 3
+ log: 3
+ storage: 3
+ processes:
+ general:
+ volumeClaimTemplate:
+ spec:
+ storageClassName: openebs-hostpath #replace to your storageClassName
+ resources:
+ requests:
+ storage: 20Gi
+
+ fdb-operator:
+ enabled: true
+ resources:
+ limits:
+ cpu: 1
+ memory: 512Mi
+ requests:
+ cpu: 1
+ memory: 512Mi
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: tsdb
+ operator: In
+ values:
+ - enable
+ image:
+ repository: foundationdb/fdb-kubernetes-operator
+ tag: v1.9.0
+ pullPolicy: IfNotPresent
+ initContainerImage:
+ repository: foundationdb/foundationdb-kubernetes-sidecar
+ initContainers:
+ 6.2:
+ image:
+ repository: foundationdb/foundationdb-kubernetes-sidecar
+ tag: 6.2.30-1
+ pullPolicy: IfNotPresent
+ 6.3:
+ image:
+ repository: foundationdb/foundationdb-kubernetes-sidecar
+ tag: 6.3.23-1
+ pullPolicy: IfNotPresent
+ 7.1:
+ image:
+ repository: foundationdb/foundationdb-kubernetes-sidecar
+ tag: 7.1.15-1
+ pullPolicy: IfNotPresent
+ hdfs:
+ enabled: false
\ No newline at end of file