diff --git a/charts/vald/templates/NOTES.txt b/charts/vald/templates/NOTES.txt index 8c53fc1715..beb7f0f839 100644 --- a/charts/vald/templates/NOTES.txt +++ b/charts/vald/templates/NOTES.txt @@ -1,3 +1,6 @@ Release {{ .Release.Name }} is created. -Ingress: {{ .Values.gateway.ingress.host }} +{{- $gateway := .Values.gateway.vald -}} +{{- if and $gateway.enabled $gateway.ingress.enabled }} +Ingress: {{ $gateway.ingress.host }} +{{- end }} diff --git a/charts/vald/templates/_helpers.tpl b/charts/vald/templates/_helpers.tpl index abfedb20c1..d6243bbdb9 100755 --- a/charts/vald/templates/_helpers.tpl +++ b/charts/vald/templates/_helpers.tpl @@ -691,9 +691,9 @@ initContainers - -c - | {{- if eq .target "compressor" }} - {{- $compressorReadinessPort := default $.Values.defaults.server_config.healths.readiness.port $.Values.compressor.server_config.healths.readiness.port }} + {{- $compressorReadinessPort := default $.Values.defaults.server_config.healths.readiness.port $.Values.manager.compressor.server_config.healths.readiness.port }} {{- $compressorReadinessPath := default $.Values.defaults.server_config.healths.readiness.readinessProbe.httpGet.path .readinessPath }} - until [ "$(wget --server-response --spider --quiet http://{{ $.Values.compressor.name }}.{{ $.namespace }}.svc.cluster.local:{{ $compressorReadinessPort }}{{ $compressorReadinessPath }} 2>&1 | awk 'NR==1{print $2}')" == "200" ]; do + until [ "$(wget --server-response --spider --quiet http://{{ $.Values.manager.compressor.name }}.{{ $.namespace }}.svc.cluster.local:{{ $compressorReadinessPort }}{{ $compressorReadinessPath }} 2>&1 | awk 'NR==1{print $2}')" == "200" ]; do {{- else if eq .target "meta" }} {{- $metaReadinessPort := default $.Values.defaults.server_config.healths.readiness.port $.Values.meta.server_config.healths.readiness.port }} {{- $metaReadinessPath := default $.Values.defaults.server_config.healths.readiness.readinessProbe.httpGet.path .readinessPath }} @@ -707,9 +707,25 @@ initContainers {{- $agentReadinessPath := default $.Values.defaults.server_config.healths.readiness.readinessProbe.httpGet.path .readinessPath }} until [ "$(wget --server-response --spider --quiet http://{{ $.Values.agent.name }}.{{ $.namespace }}.svc.cluster.local:{{ $agentReadinessPort }}{{ $agentReadinessPath }} 2>&1 | awk 'NR==1{print $2}')" == "200" ]; do {{- else if eq .target "manager-backup" }} - {{- $backupManagerReadinessPort := default $.Values.defaults.server_config.healths.readiness.port $.Values.backupManager.server_config.healths.readiness.port }} + {{- $backupManagerReadinessPort := default $.Values.defaults.server_config.healths.readiness.port $.Values.manager.backup.server_config.healths.readiness.port }} {{- $backupManagerReadinessPath := default $.Values.defaults.server_config.healths.readiness.readinessProbe.httpGet.path .readinessPath }} - until [ "$(wget --server-response --spider --quiet http://{{ $.Values.backupManager.name }}.{{ $.namespace }}.svc.cluster.local:{{ $backupManagerReadinessPort }}{{ $backupManagerReadinessPath }} 2>&1 | awk 'NR==1{print $2}')" == "200" ]; do + until [ "$(wget --server-response --spider --quiet http://{{ $.Values.manager.backup.name }}.{{ $.namespace }}.svc.cluster.local:{{ $backupManagerReadinessPort }}{{ $backupManagerReadinessPath }} 2>&1 | awk 'NR==1{print $2}')" == "200" ]; do + {{- else if eq .target "gateway-backup" }} + {{- $backupGatewayReadinessPort := default $.Values.defaults.server_config.healths.readiness.port $.Values.gateway.backup.server_config.healths.readiness.port }} + {{- $backupGatewayReadinessPath := default $.Values.defaults.server_config.healths.readiness.readinessProbe.httpGet.path .readinessPath }} + until [ "$(wget --server-response --spider --quiet http://{{ $.Values.gateway.backup.name }}.{{ $.namespace }}.svc.cluster.local:{{ $backupGatewayReadinessPort }}{{ $backupGatewayReadinessPath }} 2>&1 | awk 'NR==1{print $2}')" == "200" ]; do + {{- else if eq .target "gateway-filter" }} + {{- $filterGatewayReadinessPort := default $.Values.defaults.server_config.healths.readiness.port $.Values.gateway.filter.server_config.healths.readiness.port }} + {{- $filterGatewayReadinessPath := default $.Values.defaults.server_config.healths.readiness.readinessProbe.httpGet.path .readinessPath }} + until [ "$(wget --server-response --spider --quiet http://{{ $.Values.gateway.filter.name }}.{{ $.namespace }}.svc.cluster.local:{{ $filterGatewayReadinessPort }}{{ $filterGatewayReadinessPath }} 2>&1 | awk 'NR==1{print $2}')" == "200" ]; do + {{- else if eq .target "gateway-lb" }} + {{- $lbGatewayReadinessPort := default $.Values.defaults.server_config.healths.readiness.port $.Values.gateway.lb.server_config.healths.readiness.port }} + {{- $lbGatewayReadinessPath := default $.Values.defaults.server_config.healths.readiness.readinessProbe.httpGet.path .readinessPath }} + until [ "$(wget --server-response --spider --quiet http://{{ $.Values.gateway.lb.name }}.{{ $.namespace }}.svc.cluster.local:{{ $lbGatewayReadinessPort }}{{ $lbGatewayReadinessPath }} 2>&1 | awk 'NR==1{print $2}')" == "200" ]; do + {{- else if eq .target "gateway-meta" }} + {{- $metaGatewayReadinessPort := default $.Values.defaults.server_config.healths.readiness.port $.Values.gateway.meta.server_config.healths.readiness.port }} + {{- $metaGatewayReadinessPath := default $.Values.defaults.server_config.healths.readiness.readinessProbe.httpGet.path .readinessPath }} + until [ "$(wget --server-response --spider --quiet http://{{ $.Values.gateway.meta.name }}.{{ $.namespace }}.svc.cluster.local:{{ $metaGatewayReadinessPort }}{{ $metaGatewayReadinessPath }} 2>&1 | awk 'NR==1{print $2}')" == "200" ]; do {{- else if .untilCondition }} until [ {{ .untilCondition }} ]; do {{- else if .whileCondition }} diff --git a/charts/vald/templates/agent/configmap.yaml b/charts/vald/templates/agent/configmap.yaml index ff8bf26167..037d0c3505 100644 --- a/charts/vald/templates/agent/configmap.yaml +++ b/charts/vald/templates/agent/configmap.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.agent.enabled }} +{{- $agent := .Values.agent -}} +{{- if $agent.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.agent.name }}-config + name: {{ $agent.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -28,17 +29,17 @@ metadata: data: config.yaml: | --- - version: {{ .Values.agent.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.agent.time_zone }} + version: {{ $agent.version }} + time_zone: {{ default .Values.defaults.time_zone $agent.time_zone }} logging: - {{- $logging := dict "Values" .Values.agent.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $agent.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.agent.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $agent.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.agent.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $agent.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} ngt: - {{- toYaml .Values.agent.ngt | nindent 6 }} + {{- toYaml $agent.ngt | nindent 6 }} {{- end }} diff --git a/charts/vald/templates/agent/daemonset.yaml b/charts/vald/templates/agent/daemonset.yaml index c5093cf1bc..6258ed38dd 100644 --- a/charts/vald/templates/agent/daemonset.yaml +++ b/charts/vald/templates/agent/daemonset.yaml @@ -13,159 +13,160 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.agent.enabled (eq .Values.agent.kind "DaemonSet") }} +{{- $agent := .Values.agent -}} +{{- if and $agent.enabled (eq $agent.kind "DaemonSet") }} apiVersion: apps/v1 kind: DaemonSet metadata: - name: {{ .Values.agent.name }} + name: {{ $agent.name }} labels: - app: {{ .Values.agent.name }} + app: {{ $agent.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: agent - {{- if .Values.agent.annotations }} + {{- if $agent.annotations }} annotations: - {{- toYaml .Values.agent.annotations | nindent 4 }} + {{- toYaml $agent.annotations | nindent 4 }} {{- end }} spec: - revisionHistoryLimit: {{ .Values.agent.revisionHistoryLimit }} + revisionHistoryLimit: {{ $agent.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.agent.name }} + app: {{ $agent.name }} updateStrategy: rollingUpdate: - maxUnavailable: {{ .Values.agent.rollingUpdate.maxUnavailable }} + maxUnavailable: {{ $agent.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.agent.name }} + app: {{ $agent.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: agent - {{- if .Values.agent.podAnnotations }} + {{- if $agent.podAnnotations }} annotations: - {{- toYaml .Values.agent.podAnnotations | nindent 8 }} + {{- toYaml $agent.podAnnotations | nindent 8 }} {{- end }} # annotations: # checksum/configmap: {{ include (print $.Template.BasePath "/agent/configmap.yaml") . | sha256sum }} spec: - {{- if or .Values.agent.initContainers (and .Values.agent.sidecar.enabled .Values.agent.sidecar.initContainerEnabled) }} + {{- if or $agent.initContainers (and $agent.sidecar.enabled $agent.sidecar.initContainerEnabled) }} initContainers: - {{- if .Values.agent.initContainers }} - {{- $initContainers := dict "initContainers" .Values.agent.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- if $agent.initContainers }} + {{- $initContainers := dict "initContainers" $agent.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} - {{- if and .Values.agent.sidecar.enabled .Values.agent.sidecar.initContainerEnabled }} - - name: {{ .Values.agent.sidecar.name }}-init - image: "{{ .Values.agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag .Values.agent.sidecar.image.tag }}" - imagePullPolicy: {{ .Values.agent.sidecar.image.pullPolicy }} - {{- $servers := dict "Values" .Values.agent.sidecar.server_config "default" .Values.defaults.server_config -}} + {{- if and $agent.sidecar.enabled $agent.sidecar.initContainerEnabled }} + - name: {{ $agent.sidecar.name }}-init + image: "{{ $agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag $agent.sidecar.image.tag }}" + imagePullPolicy: {{ $agent.sidecar.image.pullPolicy }} + {{- $servers := dict "Values" $agent.sidecar.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.agent.sidecar.resources | nindent 12 }} + {{- toYaml $agent.sidecar.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File env: - name: VALD_AGENT_SIDECAR_MODE value: "initcontainer" - {{- if .Values.agent.sidecar.env }} - {{- toYaml .Values.agent.sidecar.env | nindent 12 }} + {{- if $agent.sidecar.env }} + {{- toYaml $agent.sidecar.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.agent.sidecar.name }}-config + - name: {{ $agent.sidecar.name }}-config mountPath: /etc/server/ - {{- if .Values.agent.volumeMounts }} - {{- toYaml .Values.agent.volumeMounts | nindent 12 }} + {{- if $agent.volumeMounts }} + {{- toYaml $agent.volumeMounts | nindent 12 }} {{- end }} {{- end }} {{- end }} affinity: - {{- include "vald.affinity" .Values.agent.affinity | nindent 8 }} - {{- if .Values.agent.topologySpreadConstraints }} + {{- include "vald.affinity" $agent.affinity | nindent 8 }} + {{- if $agent.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.agent.topologySpreadConstraints | nindent 8 }} + {{- toYaml $agent.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.agent.name }} - image: "{{ .Values.agent.image.repository }}:{{ default .Values.defaults.image.tag .Values.agent.image.tag }}" - imagePullPolicy: {{ .Values.agent.image.pullPolicy }} - {{- $servers := dict "Values" .Values.agent.server_config "default" .Values.defaults.server_config -}} + - name: {{ $agent.name }} + image: "{{ $agent.image.repository }}:{{ default .Values.defaults.image.tag $agent.image.tag }}" + imagePullPolicy: {{ $agent.image.pullPolicy }} + {{- $servers := dict "Values" $agent.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.agent.resources | nindent 12 }} + {{- toYaml $agent.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.agent.env }} + {{- if $agent.env }} env: - {{- toYaml .Values.agent.env | nindent 12 }} + {{- toYaml $agent.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.agent.name }}-config + - name: {{ $agent.name }}-config mountPath: /etc/server/ - {{- if .Values.agent.volumeMounts }} - {{- toYaml .Values.agent.volumeMounts | nindent 12 }} + {{- if $agent.volumeMounts }} + {{- toYaml $agent.volumeMounts | nindent 12 }} {{- end }} - {{- if .Values.agent.sidecar.enabled }} - - name: {{ .Values.agent.sidecar.name }} - image: "{{ .Values.agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag .Values.agent.sidecar.image.tag }}" - imagePullPolicy: {{ .Values.agent.sidecar.image.pullPolicy }} - {{- $servers := dict "Values" .Values.agent.sidecar.server_config "default" .Values.defaults.server_config -}} + {{- if $agent.sidecar.enabled }} + - name: {{ $agent.sidecar.name }} + image: "{{ $agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag $agent.sidecar.image.tag }}" + imagePullPolicy: {{ $agent.sidecar.image.pullPolicy }} + {{- $servers := dict "Values" $agent.sidecar.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.agent.sidecar.resources | nindent 12 }} + {{- toYaml $agent.sidecar.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File env: - name: VALD_AGENT_SIDECAR_MODE value: "sidecar" - {{- if .Values.agent.sidecar.env }} - {{- toYaml .Values.agent.sidecar.env | nindent 12 }} + {{- if $agent.sidecar.env }} + {{- toYaml $agent.sidecar.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.agent.sidecar.name }}-config + - name: {{ $agent.sidecar.name }}-config mountPath: /etc/server/ - {{- if .Values.agent.volumeMounts }} - {{- toYaml .Values.agent.volumeMounts | nindent 12 }} + {{- if $agent.volumeMounts }} + {{- toYaml $agent.volumeMounts | nindent 12 }} {{- end }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.agent.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $agent.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.agent.name }}-config + - name: {{ $agent.name }}-config configMap: defaultMode: 420 - name: {{ .Values.agent.name }}-config - {{- if .Values.agent.sidecar.enabled }} - - name: {{ .Values.agent.sidecar.name }}-config + name: {{ $agent.name }}-config + {{- if $agent.sidecar.enabled }} + - name: {{ $agent.sidecar.name }}-config configMap: defaultMode: 420 - name: {{ .Values.agent.sidecar.name }}-config + name: {{ $agent.sidecar.name }}-config {{- end }} - {{- if .Values.agent.volumes }} - {{- toYaml .Values.agent.volumes | nindent 8 }} + {{- if $agent.volumes }} + {{- toYaml $agent.volumes | nindent 8 }} {{- end }} - {{- if .Values.agent.nodeName }} - nodeName: {{ .Values.agent.nodeName }} + {{- if $agent.nodeName }} + nodeName: {{ $agent.nodeName }} {{- end }} - {{- if .Values.agent.nodeSelector }} + {{- if $agent.nodeSelector }} nodeSelector: - {{- toYaml .Values.agent.nodeSelector | nindent 8 }} + {{- toYaml $agent.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.agent.tolerations }} + {{- if $agent.tolerations }} tolerations: - {{- toYaml .Values.agent.tolerations | nindent 8 }} + {{- toYaml $agent.tolerations | nindent 8 }} {{- end }} - {{- if .Values.agent.podPriority }} - {{- if .Values.agent.podPriority.enabled }} - priorityClassName: {{ .Values.agent.name }}-priority + {{- if $agent.podPriority }} + {{- if $agent.podPriority.enabled }} + priorityClassName: {{ $agent.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/agent/deployment.yaml b/charts/vald/templates/agent/deployment.yaml index 2d7d785fe4..23ca747c07 100644 --- a/charts/vald/templates/agent/deployment.yaml +++ b/charts/vald/templates/agent/deployment.yaml @@ -13,164 +13,165 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.agent.enabled (eq .Values.agent.kind "Deployment") }} +{{- $agent := .Values.agent -}} +{{- if and $agent.enabled (eq $agent.kind "Deployment") }} apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .Values.agent.name }} + name: {{ $agent.name }} labels: - app: {{ .Values.agent.name }} + app: {{ $agent.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: agent - {{- if .Values.agent.annotations }} + {{- if $agent.annotations }} annotations: - {{- toYaml .Values.agent.annotations | nindent 4 }} + {{- toYaml $agent.annotations | nindent 4 }} {{- end }} spec: - progressDeadlineSeconds: {{ .Values.agent.progressDeadlineSeconds }} - {{- if not .Values.agent.hpa.enabled }} - replicas: {{ .Values.agent.minReplicas }} + progressDeadlineSeconds: {{ $agent.progressDeadlineSeconds }} + {{- if not $agent.hpa.enabled }} + replicas: {{ $agent.minReplicas }} {{- end }} - revisionHistoryLimit: {{ .Values.agent.revisionHistoryLimit }} + revisionHistoryLimit: {{ $agent.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.agent.name }} + app: {{ $agent.name }} strategy: rollingUpdate: - maxSurge: {{ .Values.agent.rollingUpdate.maxSurge }} - maxUnavailable: {{ .Values.agent.rollingUpdate.maxUnavailable }} + maxSurge: {{ $agent.rollingUpdate.maxSurge }} + maxUnavailable: {{ $agent.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.agent.name }} + app: {{ $agent.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: agent - {{- if .Values.agent.podAnnotations }} + {{- if $agent.podAnnotations }} annotations: - {{- toYaml .Values.agent.podAnnotations | nindent 8 }} + {{- toYaml $agent.podAnnotations | nindent 8 }} {{- end }} # annotations: # checksum/configmap: {{ include (print $.Template.BasePath "/agent/configmap.yaml") . | sha256sum }} spec: - {{- if or .Values.agent.initContainers (and .Values.agent.sidecar.enabled .Values.agent.sidecar.initContainerEnabled) }} + {{- if or $agent.initContainers (and $agent.sidecar.enabled $agent.sidecar.initContainerEnabled) }} initContainers: - {{- if .Values.agent.initContainers }} - {{- $initContainers := dict "initContainers" .Values.agent.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- if $agent.initContainers }} + {{- $initContainers := dict "initContainers" $agent.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} - {{- if and .Values.agent.sidecar.enabled .Values.agent.sidecar.initContainerEnabled }} - - name: {{ .Values.agent.sidecar.name }}-init - image: "{{ .Values.agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag .Values.agent.sidecar.image.tag }}" - imagePullPolicy: {{ .Values.agent.sidecar.image.pullPolicy }} - {{- $servers := dict "Values" .Values.agent.sidecar.server_config "default" .Values.defaults.server_config -}} + {{- if and $agent.sidecar.enabled $agent.sidecar.initContainerEnabled }} + - name: {{ $agent.sidecar.name }}-init + image: "{{ $agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag $agent.sidecar.image.tag }}" + imagePullPolicy: {{ $agent.sidecar.image.pullPolicy }} + {{- $servers := dict "Values" $agent.sidecar.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.agent.sidecar.resources | nindent 12 }} + {{- toYaml $agent.sidecar.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File env: - name: VALD_AGENT_SIDECAR_MODE value: "initcontainer" - {{- if .Values.agent.sidecar.env }} - {{- toYaml .Values.agent.sidecar.env | nindent 12 }} + {{- if $agent.sidecar.env }} + {{- toYaml $agent.sidecar.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.agent.sidecar.name }}-config + - name: {{ $agent.sidecar.name }}-config mountPath: /etc/server/ - {{- if .Values.agent.volumeMounts }} - {{- toYaml .Values.agent.volumeMounts | nindent 12 }} + {{- if $agent.volumeMounts }} + {{- toYaml $agent.volumeMounts | nindent 12 }} {{- end }} {{- end }} {{- end }} affinity: - {{- include "vald.affinity" .Values.agent.affinity | nindent 8 }} - {{- if .Values.agent.topologySpreadConstraints }} + {{- include "vald.affinity" $agent.affinity | nindent 8 }} + {{- if $agent.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.agent.topologySpreadConstraints | nindent 8 }} + {{- toYaml $agent.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.agent.name }} - image: "{{ .Values.agent.image.repository }}:{{ default .Values.defaults.image.tag .Values.agent.image.tag }}" - imagePullPolicy: {{ .Values.agent.image.pullPolicy }} - {{- $servers := dict "Values" .Values.agent.server_config "default" .Values.defaults.server_config -}} + - name: {{ $agent.name }} + image: "{{ $agent.image.repository }}:{{ default .Values.defaults.image.tag $agent.image.tag }}" + imagePullPolicy: {{ $agent.image.pullPolicy }} + {{- $servers := dict "Values" $agent.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.agent.resources | nindent 12 }} + {{- toYaml $agent.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.agent.env }} + {{- if $agent.env }} env: - {{- toYaml .Values.agent.env | nindent 12 }} + {{- toYaml $agent.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.agent.name }}-config + - name: {{ $agent.name }}-config mountPath: /etc/server/ - {{- if .Values.agent.volumeMounts }} - {{- toYaml .Values.agent.volumeMounts | nindent 12 }} + {{- if $agent.volumeMounts }} + {{- toYaml $agent.volumeMounts | nindent 12 }} {{- end }} - {{- if .Values.agent.sidecar.enabled }} - - name: {{ .Values.agent.sidecar.name }} - image: "{{ .Values.agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag .Values.agent.sidecar.image.tag }}" - imagePullPolicy: {{ .Values.agent.sidecar.image.pullPolicy }} - {{- $servers := dict "Values" .Values.agent.sidecar.server_config "default" .Values.defaults.server_config -}} + {{- if $agent.sidecar.enabled }} + - name: {{ $agent.sidecar.name }} + image: "{{ $agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag $agent.sidecar.image.tag }}" + imagePullPolicy: {{ $agent.sidecar.image.pullPolicy }} + {{- $servers := dict "Values" $agent.sidecar.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.agent.sidecar.resources | nindent 12 }} + {{- toYaml $agent.sidecar.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File env: - name: VALD_AGENT_SIDECAR_MODE value: "sidecar" - {{- if .Values.agent.sidecar.env }} - {{- toYaml .Values.agent.sidecar.env | nindent 12 }} + {{- if $agent.sidecar.env }} + {{- toYaml $agent.sidecar.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.agent.sidecar.name }}-config + - name: {{ $agent.sidecar.name }}-config mountPath: /etc/server/ - {{- if .Values.agent.volumeMounts }} - {{- toYaml .Values.agent.volumeMounts | nindent 12 }} + {{- if $agent.volumeMounts }} + {{- toYaml $agent.volumeMounts | nindent 12 }} {{- end }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.agent.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $agent.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.agent.name }}-config + - name: {{ $agent.name }}-config configMap: defaultMode: 420 - name: {{ .Values.agent.name }}-config - {{- if .Values.agent.sidecar.enabled }} - - name: {{ .Values.agent.sidecar.name }}-config + name: {{ $agent.name }}-config + {{- if $agent.sidecar.enabled }} + - name: {{ $agent.sidecar.name }}-config configMap: defaultMode: 420 - name: {{ .Values.agent.sidecar.name }}-config + name: {{ $agent.sidecar.name }}-config {{- end }} - {{- if .Values.agent.volumes }} - {{- toYaml .Values.agent.volumes | nindent 8 }} + {{- if $agent.volumes }} + {{- toYaml $agent.volumes | nindent 8 }} {{- end }} - {{- if .Values.agent.nodeName }} - nodeName: {{ .Values.agent.nodeName }} + {{- if $agent.nodeName }} + nodeName: {{ $agent.nodeName }} {{- end }} - {{- if .Values.agent.nodeSelector }} + {{- if $agent.nodeSelector }} nodeSelector: - {{- toYaml .Values.agent.nodeSelector | nindent 8 }} + {{- toYaml $agent.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.agent.tolerations }} + {{- if $agent.tolerations }} tolerations: - {{- toYaml .Values.agent.tolerations | nindent 8 }} + {{- toYaml $agent.tolerations | nindent 8 }} {{- end }} - {{- if .Values.agent.podPriority }} - {{- if .Values.agent.podPriority.enabled }} - priorityClassName: {{ .Values.agent.name }}-priority + {{- if $agent.podPriority }} + {{- if $agent.podPriority.enabled }} + priorityClassName: {{ $agent.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/agent/hpa.yaml b/charts/vald/templates/agent/hpa.yaml index 914ee805df..187fd1a995 100644 --- a/charts/vald/templates/agent/hpa.yaml +++ b/charts/vald/templates/agent/hpa.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.agent.enabled .Values.agent.hpa.enabled }} +{{- $agent := .Values.agent -}} +{{- if and $agent.enabled $agent.hpa.enabled }} apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ .Values.agent.name }} + name: {{ $agent.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,12 +27,12 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: agent spec: - maxReplicas: {{ .Values.agent.maxReplicas }} - minReplicas: {{ .Values.agent.minReplicas }} + maxReplicas: {{ $agent.maxReplicas }} + minReplicas: {{ $agent.minReplicas }} scaleTargetRef: apiVersion: apps/v1 - kind: {{ .Values.agent.kind }} - name: {{ .Values.agent.name }} - targetCPUUtilizationPercentage: {{ .Values.agent.hpa.targetCPUUtilizationPercentage }} + kind: {{ $agent.kind }} + name: {{ $agent.name }} + targetCPUUtilizationPercentage: {{ $agent.hpa.targetCPUUtilizationPercentage }} status: {{- end }} diff --git a/charts/vald/templates/agent/pdb.yaml b/charts/vald/templates/agent/pdb.yaml index b25362e5ff..9c326903f8 100644 --- a/charts/vald/templates/agent/pdb.yaml +++ b/charts/vald/templates/agent/pdb.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.agent.enabled }} +{{- $agent := .Values.agent -}} +{{- if $agent.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: - name: {{ .Values.agent.name }} + name: {{ $agent.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,8 +27,8 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: agent spec: - maxUnavailable: {{ .Values.agent.maxUnavailable }} + maxUnavailable: {{ $agent.maxUnavailable }} selector: matchLabels: - app: {{ .Values.agent.name }} + app: {{ $agent.name }} {{- end }} diff --git a/charts/vald/templates/agent/priorityclass.yaml b/charts/vald/templates/agent/priorityclass.yaml index 918872063e..d807059d5e 100644 --- a/charts/vald/templates/agent/priorityclass.yaml +++ b/charts/vald/templates/agent/priorityclass.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.agent.enabled .Values.agent.podPriority.enabled }} +{{- $agent := .Values.agent -}} +{{- if and $agent.enabled $agent.podPriority.enabled }} apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: - name: {{ .Values.agent.name }}-priority + name: {{ $agent.name }}-priority labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -25,7 +26,7 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: agent -value: {{ .Values.agent.podPriority.value }} +value: {{ $agent.podPriority.value }} preemptionPolicy: Never globalDefault: false description: "A priority class for Vald agent." diff --git a/charts/vald/templates/agent/sidecar-configmap.yaml b/charts/vald/templates/agent/sidecar-configmap.yaml index 334e3b8a04..a25fde52ac 100644 --- a/charts/vald/templates/agent/sidecar-configmap.yaml +++ b/charts/vald/templates/agent/sidecar-configmap.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.agent.enabled .Values.agent.sidecar.enabled }} +{{- $agent := .Values.agent -}} +{{- if and $agent.enabled $agent.sidecar.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.agent.sidecar.name }}-config + name: {{ $agent.sidecar.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -28,19 +29,19 @@ metadata: data: config.yaml: | --- - version: {{ .Values.agent.sidecar.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.agent.sidecar.time_zone }} + version: {{ $agent.sidecar.version }} + time_zone: {{ default .Values.defaults.time_zone $agent.sidecar.time_zone }} logging: - {{- $logging := dict "Values" .Values.agent.sidecar.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $agent.sidecar.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.agent.sidecar.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $agent.sidecar.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.agent.sidecar.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $agent.sidecar.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} agent_sidecar: mode: _VALD_AGENT_SIDECAR_MODE_ - watch_dir: {{ .Values.agent.ngt.index_path | quote }} - {{- toYaml .Values.agent.sidecar.config | nindent 6 }} + watch_dir: {{ $agent.ngt.index_path | quote }} + {{- toYaml $agent.sidecar.config | nindent 6 }} {{- end }} diff --git a/charts/vald/templates/agent/sidecar-svc.yaml b/charts/vald/templates/agent/sidecar-svc.yaml index ea1cf41db4..6bc7668e54 100644 --- a/charts/vald/templates/agent/sidecar-svc.yaml +++ b/charts/vald/templates/agent/sidecar-svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.agent.enabled (and .Values.agent.sidecar.enabled .Values.agent.sidecar.service.enabled) }} +{{- $agent := .Values.agent -}} +{{- if and $agent.enabled (and $agent.sidecar.enabled $agent.sidecar.service.enabled) }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.agent.sidecar.name }} - {{- if .Values.agent.sidecar.service.annotations }} + name: {{ $agent.sidecar.name }} + {{- if $agent.sidecar.service.annotations }} annotations: - {{- toYaml .Values.agent.sidecar.service.annotations | nindent 4 }} + {{- toYaml $agent.sidecar.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -29,20 +30,20 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: agent - {{- if .Values.agent.sidecar.service.labels }} - {{- toYaml .Values.agent.sidecar.service.labels | nindent 4 }} + {{- if $agent.sidecar.service.labels }} + {{- toYaml $agent.sidecar.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.agent.sidecar.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $agent.sidecar.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: agent - {{- if eq .Values.agent.sidecar.service.type "ClusterIP" }} + {{- if eq $agent.sidecar.service.type "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.agent.sidecar.service.type }} - {{- if .Values.agent.sidecar.service.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.agent.sidecar.service.externalTrafficPolicy }} + type: {{ $agent.sidecar.service.type }} + {{- if $agent.sidecar.service.externalTrafficPolicy }} + externalTrafficPolicy: {{ $agent.sidecar.service.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/templates/agent/statefulset.yaml b/charts/vald/templates/agent/statefulset.yaml index 3016f1762c..238c94b088 100644 --- a/charts/vald/templates/agent/statefulset.yaml +++ b/charts/vald/templates/agent/statefulset.yaml @@ -13,195 +13,196 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.agent.enabled (eq .Values.agent.kind "StatefulSet") }} +{{- $agent := .Values.agent -}} +{{- if and $agent.enabled (eq $agent.kind "StatefulSet") }} apiVersion: apps/v1 kind: StatefulSet metadata: - name: {{ .Values.agent.name }} + name: {{ $agent.name }} labels: - app: {{ .Values.agent.name }} + app: {{ $agent.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: agent - {{- if .Values.agent.annotations }} + {{- if $agent.annotations }} annotations: - {{- toYaml .Values.agent.annotations | nindent 4 }} + {{- toYaml $agent.annotations | nindent 4 }} {{- end }} spec: - serviceName: {{ .Values.agent.name }} - podManagementPolicy: {{ .Values.agent.podManagementPolicy }} - {{- if not .Values.agent.hpa.enabled }} - replicas: {{ .Values.agent.minReplicas }} + serviceName: {{ $agent.name }} + podManagementPolicy: {{ $agent.podManagementPolicy }} + {{- if not $agent.hpa.enabled }} + replicas: {{ $agent.minReplicas }} {{- end }} - revisionHistoryLimit: {{ .Values.agent.revisionHistoryLimit }} + revisionHistoryLimit: {{ $agent.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.agent.name }} + app: {{ $agent.name }} updateStrategy: rollingUpdate: - partition: {{ .Values.agent.rollingUpdate.partition }} + partition: {{ $agent.rollingUpdate.partition }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.agent.name }} + app: {{ $agent.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: agent - {{- if .Values.agent.podAnnotations }} + {{- if $agent.podAnnotations }} annotations: - {{- toYaml .Values.agent.podAnnotations | nindent 8 }} + {{- toYaml $agent.podAnnotations | nindent 8 }} {{- end }} # annotations: # checksum/configmap: {{ include (print $.Template.BasePath "/agent/configmap.yaml") . | sha256sum }} spec: - {{- if or .Values.agent.initContainers (and .Values.agent.sidecar.enabled .Values.agent.sidecar.initContainerEnabled) }} + {{- if or $agent.initContainers (and $agent.sidecar.enabled $agent.sidecar.initContainerEnabled) }} initContainers: - {{- if .Values.agent.initContainers }} - {{- $initContainers := dict "initContainers" .Values.agent.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- if $agent.initContainers }} + {{- $initContainers := dict "initContainers" $agent.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} - {{- if and .Values.agent.sidecar.enabled .Values.agent.sidecar.initContainerEnabled }} - - name: {{ .Values.agent.sidecar.name }}-init - image: "{{ .Values.agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag .Values.agent.sidecar.image.tag }}" - imagePullPolicy: {{ .Values.agent.sidecar.image.pullPolicy }} - {{- $servers := dict "Values" .Values.agent.sidecar.server_config "default" .Values.defaults.server_config -}} + {{- if and $agent.sidecar.enabled $agent.sidecar.initContainerEnabled }} + - name: {{ $agent.sidecar.name }}-init + image: "{{ $agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag $agent.sidecar.image.tag }}" + imagePullPolicy: {{ $agent.sidecar.image.pullPolicy }} + {{- $servers := dict "Values" $agent.sidecar.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.agent.sidecar.resources | nindent 12 }} + {{- toYaml $agent.sidecar.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File env: - name: VALD_AGENT_SIDECAR_MODE value: "initcontainer" - {{- if .Values.agent.sidecar.env }} - {{- toYaml .Values.agent.sidecar.env | nindent 12 }} + {{- if $agent.sidecar.env }} + {{- toYaml $agent.sidecar.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.agent.sidecar.name }}-config + - name: {{ $agent.sidecar.name }}-config mountPath: /etc/server/ - {{- if .Values.agent.volumeMounts }} - {{- toYaml .Values.agent.volumeMounts | nindent 12 }} + {{- if $agent.volumeMounts }} + {{- toYaml $agent.volumeMounts | nindent 12 }} {{- end }} {{- end }} {{- end }} affinity: - {{- include "vald.affinity" .Values.agent.affinity | nindent 8 }} - {{- if .Values.agent.topologySpreadConstraints }} + {{- include "vald.affinity" $agent.affinity | nindent 8 }} + {{- if $agent.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.agent.topologySpreadConstraints | nindent 8 }} + {{- toYaml $agent.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.agent.name }} - image: "{{ .Values.agent.image.repository }}:{{ default .Values.defaults.image.tag .Values.agent.image.tag }}" - imagePullPolicy: {{ .Values.agent.image.pullPolicy }} - {{- $servers := dict "Values" .Values.agent.server_config "default" .Values.defaults.server_config -}} + - name: {{ $agent.name }} + image: "{{ $agent.image.repository }}:{{ default .Values.defaults.image.tag $agent.image.tag }}" + imagePullPolicy: {{ $agent.image.pullPolicy }} + {{- $servers := dict "Values" $agent.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.agent.resources | nindent 12 }} + {{- toYaml $agent.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.agent.env }} + {{- if $agent.env }} env: - {{- toYaml .Values.agent.env | nindent 12 }} + {{- toYaml $agent.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.agent.name }}-config + - name: {{ $agent.name }}-config mountPath: /etc/server/ - {{- if not .Values.agent.ngt.enable_in_memory_mode }} - {{- if .Values.agent.ngt.index_path }} - {{- if .Values.agent.persistentVolume.enabled }} - - name: {{ .Values.agent.name }}-pvc - mountPath: {{ .Values.agent.ngt.index_path }} + {{- if not $agent.ngt.enable_in_memory_mode }} + {{- if $agent.ngt.index_path }} + {{- if $agent.persistentVolume.enabled }} + - name: {{ $agent.name }}-pvc + mountPath: {{ $agent.ngt.index_path }} {{- end }} {{- end }} {{- end }} - {{- if .Values.agent.volumeMounts }} - {{- toYaml .Values.agent.volumeMounts | nindent 12 }} + {{- if $agent.volumeMounts }} + {{- toYaml $agent.volumeMounts | nindent 12 }} {{- end }} - {{- if .Values.agent.sidecar.enabled }} - - name: {{ .Values.agent.sidecar.name }} - image: "{{ .Values.agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag .Values.agent.sidecar.image.tag }}" - imagePullPolicy: {{ .Values.agent.sidecar.image.pullPolicy }} - {{- $servers := dict "Values" .Values.agent.sidecar.server_config "default" .Values.defaults.server_config -}} + {{- if $agent.sidecar.enabled }} + - name: {{ $agent.sidecar.name }} + image: "{{ $agent.sidecar.image.repository }}:{{ default .Values.defaults.image.tag $agent.sidecar.image.tag }}" + imagePullPolicy: {{ $agent.sidecar.image.pullPolicy }} + {{- $servers := dict "Values" $agent.sidecar.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.agent.sidecar.resources | nindent 12 }} + {{- toYaml $agent.sidecar.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File env: - name: VALD_AGENT_SIDECAR_MODE value: "sidecar" - {{- if .Values.agent.sidecar.env }} - {{- toYaml .Values.agent.sidecar.env | nindent 12 }} + {{- if $agent.sidecar.env }} + {{- toYaml $agent.sidecar.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.agent.sidecar.name }}-config + - name: {{ $agent.sidecar.name }}-config mountPath: /etc/server/ - {{- if not .Values.agent.ngt.enable_in_memory_mode }} - {{- if .Values.agent.ngt.index_path }} - {{- if .Values.agent.persistentVolume.enabled }} - - name: {{ .Values.agent.name }}-pvc - mountPath: {{ .Values.agent.ngt.index_path }} + {{- if not $agent.ngt.enable_in_memory_mode }} + {{- if $agent.ngt.index_path }} + {{- if $agent.persistentVolume.enabled }} + - name: {{ $agent.name }}-pvc + mountPath: {{ $agent.ngt.index_path }} {{- end }} {{- end }} {{- end }} - {{- if .Values.agent.volumeMounts }} - {{- toYaml .Values.agent.volumeMounts | nindent 12 }} + {{- if $agent.volumeMounts }} + {{- toYaml $agent.volumeMounts | nindent 12 }} {{- end }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.agent.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $agent.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.agent.name }}-config + - name: {{ $agent.name }}-config configMap: defaultMode: 420 - name: {{ .Values.agent.name }}-config - {{- if .Values.agent.sidecar.enabled }} - - name: {{ .Values.agent.sidecar.name }}-config + name: {{ $agent.name }}-config + {{- if $agent.sidecar.enabled }} + - name: {{ $agent.sidecar.name }}-config configMap: defaultMode: 420 - name: {{ .Values.agent.sidecar.name }}-config + name: {{ $agent.sidecar.name }}-config {{- end }} - {{- if .Values.agent.volumes }} - {{- toYaml .Values.agent.volumes | nindent 8 }} + {{- if $agent.volumes }} + {{- toYaml $agent.volumes | nindent 8 }} {{- end }} - {{- if .Values.agent.nodeName }} - nodeName: {{ .Values.agent.nodeName }} + {{- if $agent.nodeName }} + nodeName: {{ $agent.nodeName }} {{- end }} - {{- if .Values.agent.nodeSelector }} + {{- if $agent.nodeSelector }} nodeSelector: - {{- toYaml .Values.agent.nodeSelector | nindent 8 }} + {{- toYaml $agent.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.agent.tolerations }} + {{- if $agent.tolerations }} tolerations: - {{- toYaml .Values.agent.tolerations | nindent 8 }} + {{- toYaml $agent.tolerations | nindent 8 }} {{- end }} - {{- if .Values.agent.podPriority }} - {{- if .Values.agent.podPriority.enabled }} - priorityClassName: {{ .Values.agent.name }}-priority + {{- if $agent.podPriority }} + {{- if $agent.podPriority.enabled }} + priorityClassName: {{ $agent.name }}-priority {{- end }} {{- end }} - {{- if not .Values.agent.ngt.enable_in_memory_mode }} - {{- if .Values.agent.ngt.index_path }} - {{- if .Values.agent.persistentVolume.enabled }} + {{- if not $agent.ngt.enable_in_memory_mode }} + {{- if $agent.ngt.index_path }} + {{- if $agent.persistentVolume.enabled }} volumeClaimTemplates: - metadata: - name: {{ .Values.agent.name }}-pvc + name: {{ $agent.name }}-pvc spec: accessModes: - - {{ .Values.agent.persistentVolume.accessMode }} - storageClassName: {{ .Values.agent.persistentVolume.storageClass }} + - {{ $agent.persistentVolume.accessMode }} + storageClassName: {{ $agent.persistentVolume.storageClass }} resources: requests: - storage: {{ .Values.agent.persistentVolume.size }} + storage: {{ $agent.persistentVolume.size }} {{- end }} {{- end }} {{- end }} diff --git a/charts/vald/templates/agent/svc.yaml b/charts/vald/templates/agent/svc.yaml index 39447eca8d..cfbeb3e9f3 100644 --- a/charts/vald/templates/agent/svc.yaml +++ b/charts/vald/templates/agent/svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.agent.enabled }} +{{- $agent := .Values.agent -}} +{{- if $agent.enabled }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.agent.name }} - {{- if .Values.agent.service.annotations }} + name: {{ $agent.name }} + {{- if $agent.service.annotations }} annotations: - {{- toYaml .Values.agent.service.annotations | nindent 4 }} + {{- toYaml $agent.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -29,20 +30,20 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: agent - {{- if .Values.agent.service.labels }} - {{- toYaml .Values.agent.service.labels | nindent 4 }} + {{- if $agent.service.labels }} + {{- toYaml $agent.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.agent.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $agent.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: agent - {{- if eq .Values.agent.serviceType "ClusterIP" }} + {{- if eq $agent.serviceType "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.agent.serviceType }} - {{- if .Values.agent.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.agent.externalTrafficPolicy }} + type: {{ $agent.serviceType }} + {{- if $agent.externalTrafficPolicy }} + externalTrafficPolicy: {{ $agent.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/templates/discoverer/clusterrole.yaml b/charts/vald/templates/discoverer/clusterrole.yaml index b56f246e2c..c17021b5e7 100644 --- a/charts/vald/templates/discoverer/clusterrole.yaml +++ b/charts/vald/templates/discoverer/clusterrole.yaml @@ -13,7 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.discoverer.enabled .Values.discoverer.clusterRole.enabled }} +{{- $discoverer := .Values.discoverer -}} +{{- if and $discoverer.enabled $discoverer.clusterRole.enabled }} apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: diff --git a/charts/vald/templates/discoverer/clusterrolebinding.yaml b/charts/vald/templates/discoverer/clusterrolebinding.yaml index 4089a06b88..913792308a 100644 --- a/charts/vald/templates/discoverer/clusterrolebinding.yaml +++ b/charts/vald/templates/discoverer/clusterrolebinding.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.discoverer.enabled .Values.discoverer.clusterRoleBinding.enabled }} +{{- $discoverer := .Values.discoverer -}} +{{- if and $discoverer.enabled $discoverer.clusterRoleBinding.enabled }} apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: - name: {{ .Values.discoverer.clusterRoleBinding.name }} + name: {{ $discoverer.clusterRoleBinding.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -28,9 +29,9 @@ metadata: roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: {{ .Values.discoverer.clusterRole.name }} + name: {{ $discoverer.clusterRole.name }} subjects: - kind: ServiceAccount - name: {{ .Values.discoverer.serviceAccount.name }} + name: {{ $discoverer.serviceAccount.name }} namespace: {{ .Release.Namespace }} {{- end }} diff --git a/charts/vald/templates/discoverer/configmap.yaml b/charts/vald/templates/discoverer/configmap.yaml index 870ed89b05..3bcabf0afa 100644 --- a/charts/vald/templates/discoverer/configmap.yaml +++ b/charts/vald/templates/discoverer/configmap.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.discoverer.enabled }} +{{- $discoverer := .Values.discoverer -}} +{{- if $discoverer.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.discoverer.name }}-config + name: {{ $discoverer.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -28,17 +29,17 @@ metadata: data: config.yaml: | --- - version: {{ .Values.discoverer.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.discoverer.time_zone }} + version: {{ $discoverer.version }} + time_zone: {{ default .Values.defaults.time_zone $discoverer.time_zone }} logging: - {{- $logging := dict "Values" .Values.discoverer.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $discoverer.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.discoverer.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $discoverer.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.discoverer.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $discoverer.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} discoverer: - {{- toYaml .Values.discoverer.discoverer | nindent 6 }} + {{- toYaml $discoverer.discoverer | nindent 6 }} {{- end }} diff --git a/charts/vald/templates/discoverer/daemonset.yaml b/charts/vald/templates/discoverer/daemonset.yaml index 03bcb462a5..fc751361a1 100644 --- a/charts/vald/templates/discoverer/daemonset.yaml +++ b/charts/vald/templates/discoverer/daemonset.yaml @@ -13,76 +13,77 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.discoverer.enabled (eq .Values.discoverer.kind "DaemonSet") }} +{{- $discoverer := .Values.discoverer -}} +{{- if and $discoverer.enabled (eq $discoverer.kind "DaemonSet") }} apiVersion: apps/v1 kind: DaemonSet metadata: - name: {{ .Values.discoverer.name }} + name: {{ $discoverer.name }} labels: - app: {{ .Values.discoverer.name }} + app: {{ $discoverer.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: discoverer - {{- if .Values.discoverer.annotations }} + {{- if $discoverer.annotations }} annotations: - {{- toYaml .Values.discoverer.annotations | nindent 4 }} + {{- toYaml $discoverer.annotations | nindent 4 }} {{- end }} spec: - revisionHistoryLimit: {{ .Values.discoverer.revisionHistoryLimit }} + revisionHistoryLimit: {{ $discoverer.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.discoverer.name }} + app: {{ $discoverer.name }} updateStrategy: rollingUpdate: - maxUnavailable: {{ .Values.discoverer.rollingUpdate.maxUnavailable }} + maxUnavailable: {{ $discoverer.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.discoverer.name }} + app: {{ $discoverer.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: discoverer annotations: checksum/configmap: {{ include (print $.Template.BasePath "/discoverer/configmap.yaml") . | sha256sum }} - {{- if .Values.discoverer.podAnnotations }} - {{- toYaml .Values.discoverer.podAnnotations | nindent 8 }} + {{- if $discoverer.podAnnotations }} + {{- toYaml $discoverer.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.discoverer.initContainers }} + {{- if $discoverer.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.discoverer.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $discoverer.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.discoverer.affinity | nindent 8 }} - {{- if .Values.discoverer.topologySpreadConstraints }} + {{- include "vald.affinity" $discoverer.affinity | nindent 8 }} + {{- if $discoverer.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.discoverer.topologySpreadConstraints | nindent 8 }} + {{- toYaml $discoverer.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.discoverer.name }} - image: "{{ .Values.discoverer.image.repository }}:{{ default .Values.defaults.image.tag .Values.discoverer.image.tag }}" - imagePullPolicy: {{ .Values.discoverer.image.pullPolicy }} - {{- $servers := dict "Values" .Values.discoverer.server_config "default" .Values.defaults.server_config -}} + - name: {{ $discoverer.name }} + image: "{{ $discoverer.image.repository }}:{{ default .Values.defaults.image.tag $discoverer.image.tag }}" + imagePullPolicy: {{ $discoverer.image.pullPolicy }} + {{- $servers := dict "Values" $discoverer.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.discoverer.resources | nindent 12 }} + {{- toYaml $discoverer.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.discoverer.env }} + {{- if $discoverer.env }} env: - {{- toYaml .Values.discoverer.env | nindent 12 }} + {{- toYaml $discoverer.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.discoverer.name }}-config + - name: {{ $discoverer.name }}-config mountPath: /etc/server/ - {{- if .Values.discoverer.volumeMounts }} - {{- toYaml .Values.discoverer.volumeMounts | nindent 12 }} + {{- if $discoverer.volumeMounts }} + {{- toYaml $discoverer.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always @@ -90,29 +91,29 @@ spec: serviceAccount: vald serviceAccountName: vald securityContext: {} - terminationGracePeriodSeconds: {{ .Values.discoverer.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $discoverer.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.discoverer.name }}-config + - name: {{ $discoverer.name }}-config configMap: defaultMode: 420 - name: {{ .Values.discoverer.name }}-config - {{- if .Values.discoverer.volumes }} - {{- toYaml .Values.discoverer.volumes | nindent 8 }} + name: {{ $discoverer.name }}-config + {{- if $discoverer.volumes }} + {{- toYaml $discoverer.volumes | nindent 8 }} {{- end }} - {{- if .Values.discoverer.nodeName }} - nodeName: {{ .Values.discoverer.nodeName }} + {{- if $discoverer.nodeName }} + nodeName: {{ $discoverer.nodeName }} {{- end }} - {{- if .Values.discoverer.nodeSelector }} + {{- if $discoverer.nodeSelector }} nodeSelector: - {{- toYaml .Values.discoverer.nodeSelector | nindent 8 }} + {{- toYaml $discoverer.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.discoverer.tolerations }} + {{- if $discoverer.tolerations }} tolerations: - {{- toYaml .Values.discoverer.tolerations | nindent 8 }} + {{- toYaml $discoverer.tolerations | nindent 8 }} {{- end }} - {{- if .Values.discoverer.podPriority }} - {{- if .Values.discoverer.podPriority.enabled }} - priorityClassName: {{ .Values.discoverer.name }}-priority + {{- if $discoverer.podPriority }} + {{- if $discoverer.podPriority.enabled }} + priorityClassName: {{ $discoverer.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/discoverer/deployment.yaml b/charts/vald/templates/discoverer/deployment.yaml index 11017eb8c4..6297d8d309 100644 --- a/charts/vald/templates/discoverer/deployment.yaml +++ b/charts/vald/templates/discoverer/deployment.yaml @@ -13,81 +13,82 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.discoverer.enabled (eq .Values.discoverer.kind "Deployment") }} +{{- $discoverer := .Values.discoverer -}} +{{- if and $discoverer.enabled (eq $discoverer.kind "Deployment") }} apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .Values.discoverer.name }} + name: {{ $discoverer.name }} labels: - app: {{ .Values.discoverer.name }} + app: {{ $discoverer.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: discoverer - {{- if .Values.discoverer.annotations }} + {{- if $discoverer.annotations }} annotations: - {{- toYaml .Values.discoverer.annotations | nindent 4 }} + {{- toYaml $discoverer.annotations | nindent 4 }} {{- end }} spec: - progressDeadlineSeconds: {{ .Values.discoverer.progressDeadlineSeconds }} - {{- if not .Values.discoverer.hpa.enabled }} - replicas: {{ .Values.discoverer.minReplicas }} + progressDeadlineSeconds: {{ $discoverer.progressDeadlineSeconds }} + {{- if not $discoverer.hpa.enabled }} + replicas: {{ $discoverer.minReplicas }} {{- end }} - revisionHistoryLimit: {{ .Values.discoverer.revisionHistoryLimit }} + revisionHistoryLimit: {{ $discoverer.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.discoverer.name }} + app: {{ $discoverer.name }} strategy: rollingUpdate: - maxSurge: {{ .Values.discoverer.rollingUpdate.maxSurge }} - maxUnavailable: {{ .Values.discoverer.rollingUpdate.maxUnavailable }} + maxSurge: {{ $discoverer.rollingUpdate.maxSurge }} + maxUnavailable: {{ $discoverer.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.discoverer.name }} + app: {{ $discoverer.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: discoverer annotations: checksum/configmap: {{ include (print $.Template.BasePath "/discoverer/configmap.yaml") . | sha256sum }} - {{- if .Values.discoverer.podAnnotations }} - {{- toYaml .Values.discoverer.podAnnotations | nindent 8 }} + {{- if $discoverer.podAnnotations }} + {{- toYaml $discoverer.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.discoverer.initContainers }} + {{- if $discoverer.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.discoverer.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $discoverer.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.discoverer.affinity | nindent 8 }} - {{- if .Values.discoverer.topologySpreadConstraints }} + {{- include "vald.affinity" $discoverer.affinity | nindent 8 }} + {{- if $discoverer.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.discoverer.topologySpreadConstraints | nindent 8 }} + {{- toYaml $discoverer.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.discoverer.name }} - image: "{{ .Values.discoverer.image.repository }}:{{ default .Values.defaults.image.tag .Values.discoverer.image.tag }}" - imagePullPolicy: {{ .Values.discoverer.image.pullPolicy }} - {{- $servers := dict "Values" .Values.discoverer.server_config "default" .Values.defaults.server_config -}} + - name: {{ $discoverer.name }} + image: "{{ $discoverer.image.repository }}:{{ default .Values.defaults.image.tag $discoverer.image.tag }}" + imagePullPolicy: {{ $discoverer.image.pullPolicy }} + {{- $servers := dict "Values" $discoverer.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.discoverer.resources | nindent 12 }} + {{- toYaml $discoverer.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.discoverer.env }} + {{- if $discoverer.env }} env: - {{- toYaml .Values.discoverer.env | nindent 12 }} + {{- toYaml $discoverer.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.discoverer.name }}-config + - name: {{ $discoverer.name }}-config mountPath: /etc/server/ - {{- if .Values.discoverer.volumeMounts }} - {{- toYaml .Values.discoverer.volumeMounts | nindent 12 }} + {{- if $discoverer.volumeMounts }} + {{- toYaml $discoverer.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always @@ -95,29 +96,29 @@ spec: serviceAccount: vald serviceAccountName: vald securityContext: {} - terminationGracePeriodSeconds: {{ .Values.discoverer.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $discoverer.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.discoverer.name }}-config + - name: {{ $discoverer.name }}-config configMap: defaultMode: 420 - name: {{ .Values.discoverer.name }}-config - {{- if .Values.discoverer.volumes }} - {{- toYaml .Values.discoverer.volumes | nindent 8 }} + name: {{ $discoverer.name }}-config + {{- if $discoverer.volumes }} + {{- toYaml $discoverer.volumes | nindent 8 }} {{- end }} - {{- if .Values.discoverer.nodeName }} - nodeName: {{ .Values.discoverer.nodeName }} + {{- if $discoverer.nodeName }} + nodeName: {{ $discoverer.nodeName }} {{- end }} - {{- if .Values.discoverer.nodeSelector }} + {{- if $discoverer.nodeSelector }} nodeSelector: - {{- toYaml .Values.discoverer.nodeSelector | nindent 8 }} + {{- toYaml $discoverer.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.discoverer.tolerations }} + {{- if $discoverer.tolerations }} tolerations: - {{- toYaml .Values.discoverer.tolerations | nindent 8 }} + {{- toYaml $discoverer.tolerations | nindent 8 }} {{- end }} - {{- if .Values.discoverer.podPriority }} - {{- if .Values.discoverer.podPriority.enabled }} - priorityClassName: {{ .Values.discoverer.name }}-priority + {{- if $discoverer.podPriority }} + {{- if $discoverer.podPriority.enabled }} + priorityClassName: {{ $discoverer.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/discoverer/hpa.yaml b/charts/vald/templates/discoverer/hpa.yaml index e8bbed5ffe..bdf0793334 100644 --- a/charts/vald/templates/discoverer/hpa.yaml +++ b/charts/vald/templates/discoverer/hpa.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.discoverer.hpa.enabled }} +{{- $discoverer := .Values.discoverer -}} +{{- if $discoverer.hpa.enabled }} apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ .Values.discoverer.name }} + name: {{ $discoverer.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,12 +27,12 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: discoverer spec: - maxReplicas: {{ .Values.discoverer.maxReplicas }} - minReplicas: {{ .Values.discoverer.minReplicas }} + maxReplicas: {{ $discoverer.maxReplicas }} + minReplicas: {{ $discoverer.minReplicas }} scaleTargetRef: apiVersion: apps/v1 - kind: {{ .Values.discoverer.kind }} - name: {{ .Values.discoverer.name }} - targetCPUUtilizationPercentage: {{ .Values.discoverer.hpa.targetCPUUtilizationPercentage }} + kind: {{ $discoverer.kind }} + name: {{ $discoverer.name }} + targetCPUUtilizationPercentage: {{ $discoverer.hpa.targetCPUUtilizationPercentage }} status: {{- end }} diff --git a/charts/vald/templates/discoverer/pdb.yaml b/charts/vald/templates/discoverer/pdb.yaml index 6eda9a95bb..92337cb379 100644 --- a/charts/vald/templates/discoverer/pdb.yaml +++ b/charts/vald/templates/discoverer/pdb.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.discoverer.enabled }} +{{- $discoverer := .Values.discoverer -}} +{{- if $discoverer.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: - name: {{ .Values.discoverer.name }} + name: {{ $discoverer.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,8 +27,8 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: discoverer spec: - maxUnavailable: {{ .Values.discoverer.maxUnavailable }} + maxUnavailable: {{ $discoverer.maxUnavailable }} selector: matchLabels: - app: {{ .Values.discoverer.name }} + app: {{ $discoverer.name }} {{- end }} diff --git a/charts/vald/templates/discoverer/priorityclass.yaml b/charts/vald/templates/discoverer/priorityclass.yaml index b9ab80ea09..f55da1ba06 100644 --- a/charts/vald/templates/discoverer/priorityclass.yaml +++ b/charts/vald/templates/discoverer/priorityclass.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.discoverer.enabled .Values.discoverer.podPriority.enabled }} +{{- $discoverer := .Values.discoverer -}} +{{- if and $discoverer.enabled $discoverer.podPriority.enabled }} apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: - name: {{ .Values.discoverer.name }}-priority + name: {{ $discoverer.name }}-priority labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -25,7 +26,7 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: discoverer -value: {{ .Values.discoverer.podPriority.value }} +value: {{ $discoverer.podPriority.value }} globalDefault: false description: "A priority class for Vald discoverer." {{- end }} diff --git a/charts/vald/templates/discoverer/serviceaccount.yaml b/charts/vald/templates/discoverer/serviceaccount.yaml index b60e4d81be..dac16f8767 100644 --- a/charts/vald/templates/discoverer/serviceaccount.yaml +++ b/charts/vald/templates/discoverer/serviceaccount.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.discoverer.enabled .Values.discoverer.serviceAccount.enabled }} +{{- $discoverer := .Values.discoverer -}} +{{- if and $discoverer.enabled $discoverer.serviceAccount.enabled }} apiVersion: v1 kind: ServiceAccount metadata: - name: {{ .Values.discoverer.serviceAccount.name }} + name: {{ $discoverer.serviceAccount.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} diff --git a/charts/vald/templates/discoverer/svc.yaml b/charts/vald/templates/discoverer/svc.yaml index 866ef36352..8cce156237 100644 --- a/charts/vald/templates/discoverer/svc.yaml +++ b/charts/vald/templates/discoverer/svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.discoverer.enabled }} +{{- $discoverer := .Values.discoverer -}} +{{- if $discoverer.enabled }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.discoverer.name }} - {{- if .Values.discoverer.service.annotations }} + name: {{ $discoverer.name }} + {{- if $discoverer.service.annotations }} annotations: - {{- toYaml .Values.discoverer.service.annotations | nindent 4 }} + {{- toYaml $discoverer.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -29,20 +30,20 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: discoverer - {{- if .Values.discoverer.service.labels }} - {{- toYaml .Values.discoverer.service.labels | nindent 4 }} + {{- if $discoverer.service.labels }} + {{- toYaml $discoverer.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.discoverer.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $discoverer.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: discoverer - {{- if eq .Values.discoverer.serviceType "ClusterIP" }} + {{- if eq $discoverer.serviceType "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.discoverer.serviceType }} - {{- if .Values.discoverer.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.discoverer.externalTrafficPolicy }} + type: {{ $discoverer.serviceType }} + {{- if $discoverer.externalTrafficPolicy }} + externalTrafficPolicy: {{ $discoverer.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/templates/gateway/backup/configmap.yaml b/charts/vald/templates/gateway/backup/configmap.yaml index 74a74b2740..a30e3e3b4f 100644 --- a/charts/vald/templates/gateway/backup/configmap.yaml +++ b/charts/vald/templates/gateway/backup/configmap.yaml @@ -13,64 +13,40 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.backup -}} +{{- if $gateway.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.gateway.name }}-config + name: {{ $gateway.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-backup data: config.yaml: | --- - version: {{ .Values.gateway.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.gateway.time_zone }} + version: {{ $gateway.version }} + time_zone: {{ default .Values.defaults.time_zone $gateway.time_zone }} logging: - {{- $logging := dict "Values" .Values.gateway.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $gateway.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.gateway.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $gateway.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} - gateway: - agent_port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.agent.server_config.servers.grpc.port }} - agent_name: {{ .Values.agent.name | quote }} - agent_dns: {{ .Values.agent.name }}.{{ .Release.Namespace }}.svc.cluster.local - agent_namespace: {{ .Values.gateway.gateway_config.agent_namespace | quote }} - node_name: {{ .Values.gateway.gateway_config.node_name | quote }} - index_replica: {{ .Values.gateway.gateway_config.index_replica }} - discoverer: - host: {{ .Values.discoverer.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.discoverer.server_config.servers.grpc.port }} - duration: {{ .Values.gateway.gateway_config.discoverer.duration }} - discover_client: - {{- $discoverClient := dict "Values" .Values.gateway.gateway_config.discoverer.discover_client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $discoverClient | nindent 10 }} - agent_client: - {{- $agentClient := dict "Values" .Values.gateway.gateway_config.discoverer.agent_client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $agentClient | nindent 10 }} - meta: - host: {{ .Values.meta.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.meta.server_config.servers.grpc.port }} - client: - {{- $metaClient := dict "Values" .Values.gateway.gateway_config.meta.client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $metaClient | nindent 10 }} - enable_cache: {{ .Values.gateway.gateway_config.meta.enable_cache }} - cache_expiration: {{ .Values.gateway.gateway_config.meta.cache_expiration }} - expired_cache_check_duration: {{ .Values.gateway.gateway_config.meta.expired_cache_check_duration }} - backup: - host: {{ .Values.compressor.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.compressor.server_config.servers.grpc.port }} - client: - {{- $backupClient := dict "Values" .Values.gateway.gateway_config.backup.client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $backupClient | nindent 10 }} - egress_filter: - client: null + client: + {{- $client := dict "Values" $gateway.gateway_config.client "default" .Values.defaults.grpc.client }} + {{- include "vald.grpc.client" $client | nindent 6 }} + backup: + host: {{ .Values.manager.compressor.name }}.{{ .Release.Namespace }}.svc.cluster.local + port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.manager.compressor.server_config.servers.grpc.port }} + client: + {{- $backupClient := dict "Values" $gateway.gateway_config.backup.client "default" .Values.defaults.grpc.client }} + {{- include "vald.grpc.client" $backupClient | nindent 8 }} {{- end }} diff --git a/charts/vald/templates/gateway/backup/daemonset.yaml b/charts/vald/templates/gateway/backup/daemonset.yaml index ec9c5bb470..4c83900e10 100644 --- a/charts/vald/templates/gateway/backup/daemonset.yaml +++ b/charts/vald/templates/gateway/backup/daemonset.yaml @@ -13,104 +13,105 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled (eq .Values.gateway.kind "DaemonSet") }} +{{- $gateway := .Values.gateway.backup -}} +{{- if and $gateway.enabled (eq $gateway.kind "DaemonSet") }} apiVersion: apps/v1 kind: DaemonSet metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - {{- if .Values.gateway.annotations }} + app.kubernetes.io/component: gateway-backup + {{- if $gateway.annotations }} annotations: - {{- toYaml .Values.gateway.annotations | nindent 4 }} + {{- toYaml $gateway.annotations | nindent 4 }} {{- end }} spec: - revisionHistoryLimit: {{ .Values.gateway.revisionHistoryLimit }} + revisionHistoryLimit: {{ $gateway.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} updateStrategy: rollingUpdate: - maxUnavailable: {{ .Values.gateway.rollingUpdate.maxUnavailable }} + maxUnavailable: {{ $gateway.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: gateway annotations: - checksum/configmap: {{ include (print $.Template.BasePath "/gateway/vald/configmap.yaml") . | sha256sum }} - {{- if .Values.gateway.podAnnotations }} - {{- toYaml .Values.gateway.podAnnotations | nindent 8 }} + checksum/configmap: {{ include (print $.Template.BasePath "/gateway/backup/configmap.yaml") . | sha256sum }} + {{- if $gateway.podAnnotations }} + {{- toYaml $gateway.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.gateway.initContainers }} + {{- if $gateway.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.gateway.affinity | nindent 8 }} - {{- if .Values.gateway.topologySpreadConstraints }} + {{- include "vald.affinity" $gateway.affinity | nindent 8 }} + {{- if $gateway.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.gateway.topologySpreadConstraints | nindent 8 }} + {{- toYaml $gateway.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.gateway.name }} - image: "{{ .Values.gateway.image.repository }}:{{ default .Values.defaults.image.tag .Values.gateway.image.tag }}" - imagePullPolicy: {{ .Values.gateway.image.pullPolicy }} - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config -}} + - name: {{ $gateway.name }} + image: "{{ $gateway.image.repository }}:{{ default .Values.defaults.image.tag $gateway.image.tag }}" + imagePullPolicy: {{ $gateway.image.pullPolicy }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.gateway.resources | nindent 12 }} + {{- toYaml $gateway.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.gateway.env }} + {{- if $gateway.env }} env: - {{- toYaml .Values.gateway.env | nindent 12 }} + {{- toYaml $gateway.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config mountPath: /etc/server/ - {{- if .Values.gateway.volumeMounts }} - {{- toYaml .Values.gateway.volumeMounts | nindent 12 }} + {{- if $gateway.volumeMounts }} + {{- toYaml $gateway.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.gateway.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $gateway.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config configMap: defaultMode: 420 - name: {{ .Values.gateway.name }}-config - {{- if .Values.gateway.volumes }} - {{- toYaml .Values.gateway.volumes | nindent 8 }} + name: {{ $gateway.name }}-config + {{- if $gateway.volumes }} + {{- toYaml $gateway.volumes | nindent 8 }} {{- end }} - {{- if .Values.gateway.nodeName }} - nodeName: {{ .Values.gateway.nodeName }} + {{- if $gateway.nodeName }} + nodeName: {{ $gateway.nodeName }} {{- end }} - {{- if .Values.gateway.nodeSelector }} + {{- if $gateway.nodeSelector }} nodeSelector: - {{- toYaml .Values.gateway.nodeSelector | nindent 8 }} + {{- toYaml $gateway.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.gateway.tolerations }} + {{- if $gateway.tolerations }} tolerations: - {{- toYaml .Values.gateway.tolerations | nindent 8 }} + {{- toYaml $gateway.tolerations | nindent 8 }} {{- end }} - {{- if .Values.gateway.podPriority }} - {{- if .Values.gateway.podPriority.enabled }} - priorityClassName: {{ .Values.gateway.name }}-priority + {{- if $gateway.podPriority }} + {{- if $gateway.podPriority.enabled }} + priorityClassName: {{ $gateway.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/gateway/backup/deployment.yaml b/charts/vald/templates/gateway/backup/deployment.yaml index a44c317e1c..541266a72e 100644 --- a/charts/vald/templates/gateway/backup/deployment.yaml +++ b/charts/vald/templates/gateway/backup/deployment.yaml @@ -13,109 +13,110 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled (eq .Values.gateway.kind "Deployment") }} +{{- $gateway := .Values.gateway.backup -}} +{{- if and $gateway.enabled (eq $gateway.kind "Deployment") }} apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - {{- if .Values.gateway.annotations }} + app.kubernetes.io/component: gateway-backup + {{- if $gateway.annotations }} annotations: - {{- toYaml .Values.gateway.annotations | nindent 4 }} + {{- toYaml $gateway.annotations | nindent 4 }} {{- end }} spec: - progressDeadlineSeconds: {{ .Values.gateway.progressDeadlineSeconds }} - {{- if not .Values.gateway.hpa.enabled }} - replicas: {{ .Values.gateway.minReplicas }} + progressDeadlineSeconds: {{ $gateway.progressDeadlineSeconds }} + {{- if not $gateway.hpa.enabled }} + replicas: {{ $gateway.minReplicas }} {{- end }} - revisionHistoryLimit: {{ .Values.gateway.revisionHistoryLimit }} + revisionHistoryLimit: {{ $gateway.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} strategy: rollingUpdate: - maxSurge: {{ .Values.gateway.rollingUpdate.maxSurge }} - maxUnavailable: {{ .Values.gateway.rollingUpdate.maxUnavailable }} + maxSurge: {{ $gateway.rollingUpdate.maxSurge }} + maxUnavailable: {{ $gateway.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: gateway annotations: - checksum/configmap: {{ include (print $.Template.BasePath "/gateway/vald/configmap.yaml") . | sha256sum }} - {{- if .Values.gateway.podAnnotations }} - {{- toYaml .Values.gateway.podAnnotations | nindent 8 }} + checksum/configmap: {{ include (print $.Template.BasePath "/gateway/backup/configmap.yaml") . | sha256sum }} + {{- if $gateway.podAnnotations }} + {{- toYaml $gateway.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.gateway.initContainers }} + {{- if $gateway.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.gateway.affinity | nindent 8 }} - {{- if .Values.gateway.topologySpreadConstraints }} + {{- include "vald.affinity" $gateway.affinity | nindent 8 }} + {{- if $gateway.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.gateway.topologySpreadConstraints | nindent 8 }} + {{- toYaml $gateway.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.gateway.name }} - image: "{{ .Values.gateway.image.repository }}:{{ default .Values.defaults.image.tag .Values.gateway.image.tag }}" - imagePullPolicy: {{ .Values.gateway.image.pullPolicy }} - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config -}} + - name: {{ $gateway.name }} + image: "{{ $gateway.image.repository }}:{{ default .Values.defaults.image.tag $gateway.image.tag }}" + imagePullPolicy: {{ $gateway.image.pullPolicy }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.gateway.resources | nindent 12 }} + {{- toYaml $gateway.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.gateway.env }} + {{- if $gateway.env }} env: - {{- toYaml .Values.gateway.env | nindent 12 }} + {{- toYaml $gateway.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config mountPath: /etc/server/ - {{- if .Values.gateway.volumeMounts }} - {{- toYaml .Values.gateway.volumeMounts | nindent 12 }} + {{- if $gateway.volumeMounts }} + {{- toYaml $gateway.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.gateway.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $gateway.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config configMap: defaultMode: 420 - name: {{ .Values.gateway.name }}-config - {{- if .Values.gateway.volumes }} - {{- toYaml .Values.gateway.volumes | nindent 8 }} + name: {{ $gateway.name }}-config + {{- if $gateway.volumes }} + {{- toYaml $gateway.volumes | nindent 8 }} {{- end }} - {{- if .Values.gateway.nodeName }} - nodeName: {{ .Values.gateway.nodeName }} + {{- if $gateway.nodeName }} + nodeName: {{ $gateway.nodeName }} {{- end }} - {{- if .Values.gateway.nodeSelector }} + {{- if $gateway.nodeSelector }} nodeSelector: - {{- toYaml .Values.gateway.nodeSelector | nindent 8 }} + {{- toYaml $gateway.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.gateway.tolerations }} + {{- if $gateway.tolerations }} tolerations: - {{- toYaml .Values.gateway.tolerations | nindent 8 }} + {{- toYaml $gateway.tolerations | nindent 8 }} {{- end }} - {{- if .Values.gateway.podPriority }} - {{- if .Values.gateway.podPriority.enabled }} - priorityClassName: {{ .Values.gateway.name }}-priority + {{- if $gateway.podPriority }} + {{- if $gateway.podPriority.enabled }} + priorityClassName: {{ $gateway.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/gateway/backup/hpa.yaml b/charts/vald/templates/gateway/backup/hpa.yaml index 144538a892..649369e456 100644 --- a/charts/vald/templates/gateway/backup/hpa.yaml +++ b/charts/vald/templates/gateway/backup/hpa.yaml @@ -13,25 +13,26 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.hpa.enabled }} +{{- $gateway := .Values.gateway.backup -}} +{{- if and $gateway.enabled $gateway.hpa.enabled }} apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-backup spec: - maxReplicas: {{ .Values.gateway.maxReplicas }} - minReplicas: {{ .Values.gateway.minReplicas }} + maxReplicas: {{ $gateway.maxReplicas }} + minReplicas: {{ $gateway.minReplicas }} scaleTargetRef: apiVersion: apps/v1 - kind: {{ .Values.gateway.kind }} - name: {{ .Values.gateway.name }} - targetCPUUtilizationPercentage: {{ .Values.gateway.hpa.targetCPUUtilizationPercentage }} + kind: {{ $gateway.kind }} + name: {{ $gateway.name }} + targetCPUUtilizationPercentage: {{ $gateway.hpa.targetCPUUtilizationPercentage }} status: {{- end }} diff --git a/charts/vald/templates/gateway/backup/ing.yaml b/charts/vald/templates/gateway/backup/ing.yaml index cb113a496f..b1f70f894e 100644 --- a/charts/vald/templates/gateway/backup/ing.yaml +++ b/charts/vald/templates/gateway/backup/ing.yaml @@ -13,29 +13,29 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.ingress.enabled }} +{{- $gateway := .Values.gateway.backup -}} +{{- if and $gateway.enabled $gateway.ingress.enabled }} apiVersion: networking.k8s.io/v1beta1 -# apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: - {{- toYaml .Values.gateway.ingress.annotations | nindent 4 }} + {{- toYaml $gateway.ingress.annotations | nindent 4 }} labels: - name: {{ .Values.gateway.name }}-ingress - app: {{ .Values.gateway.name }}-ingress + name: {{ $gateway.name }}-ingress + app: {{ $gateway.name }}-ingress app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - name: {{ .Values.gateway.name }}-ingress + app.kubernetes.io/component: gateway-backup + name: {{ $gateway.name }}-ingress spec: rules: - - host: {{ .Values.gateway.ingress.host }} + - host: {{ $gateway.ingress.host }} http: paths: - backend: - serviceName: {{ .Values.gateway.name }} - servicePort: {{ .Values.gateway.ingress.servicePort }} + serviceName: {{ $gateway.name }} + servicePort: {{ $gateway.ingress.servicePort }} {{- end }} diff --git a/charts/vald/templates/gateway/backup/pdb.yaml b/charts/vald/templates/gateway/backup/pdb.yaml index 7fd1c9e223..e083135268 100644 --- a/charts/vald/templates/gateway/backup/pdb.yaml +++ b/charts/vald/templates/gateway/backup/pdb.yaml @@ -13,21 +13,22 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.backup -}} +{{- if $gateway.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-backup spec: - maxUnavailable: {{ .Values.gateway.maxUnavailable }} + maxUnavailable: {{ $gateway.maxUnavailable }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} {{- end }} diff --git a/charts/vald/templates/gateway/backup/priorityclass.yaml b/charts/vald/templates/gateway/backup/priorityclass.yaml index 2386775dfe..b30a8eda29 100644 --- a/charts/vald/templates/gateway/backup/priorityclass.yaml +++ b/charts/vald/templates/gateway/backup/priorityclass.yaml @@ -13,19 +13,20 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.podPriority.enabled }} +{{- $gateway := .Values.gateway.backup -}} +{{- if and $gateway.enabled $gateway.podPriority.enabled }} apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: - name: {{ .Values.gateway.name }}-priority + name: {{ $gateway.name }}-priority labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway -value: {{ .Values.gateway.podPriority.value }} + app.kubernetes.io/component: gateway-backup +value: {{ $gateway.podPriority.value }} globalDefault: false -description: "A priority class for Vald gateway." +description: "A priority class for Vald backup gateway." {{- end }} diff --git a/charts/vald/templates/gateway/backup/svc.yaml b/charts/vald/templates/gateway/backup/svc.yaml index 8cb9cbc02b..f9b1694a7f 100644 --- a/charts/vald/templates/gateway/backup/svc.yaml +++ b/charts/vald/templates/gateway/backup/svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.backup -}} +{{- if $gateway.enabled }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.gateway.name }} - {{- if .Values.gateway.service.annotations }} + name: {{ $gateway.name }} + {{- if $gateway.service.annotations }} annotations: - {{- toYaml .Values.gateway.service.annotations | nindent 4 }} + {{- toYaml $gateway.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -28,21 +29,21 @@ metadata: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - {{- if .Values.gateway.service.labels }} - {{- toYaml .Values.gateway.service.labels | nindent 4 }} + app.kubernetes.io/component: gateway-backup + {{- if $gateway.service.labels }} + {{- toYaml $gateway.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: gateway - {{- if eq .Values.gateway.serviceType "ClusterIP" }} + {{- if eq $gateway.serviceType "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.gateway.serviceType }} - {{- if .Values.gateway.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.gateway.externalTrafficPolicy }} + type: {{ $gateway.serviceType }} + {{- if $gateway.externalTrafficPolicy }} + externalTrafficPolicy: {{ $gateway.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/templates/gateway/filter/configmap.yaml b/charts/vald/templates/gateway/filter/configmap.yaml index 74a74b2740..fff1846663 100644 --- a/charts/vald/templates/gateway/filter/configmap.yaml +++ b/charts/vald/templates/gateway/filter/configmap.yaml @@ -13,64 +13,67 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.filter -}} +{{- if $gateway.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.gateway.name }}-config + name: {{ $gateway.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-filter data: config.yaml: | --- - version: {{ .Values.gateway.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.gateway.time_zone }} + version: {{ $gateway.version }} + time_zone: {{ default .Values.defaults.time_zone $gateway.time_zone }} logging: - {{- $logging := dict "Values" .Values.gateway.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $gateway.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.gateway.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $gateway.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} - gateway: - agent_port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.agent.server_config.servers.grpc.port }} - agent_name: {{ .Values.agent.name | quote }} - agent_dns: {{ .Values.agent.name }}.{{ .Release.Namespace }}.svc.cluster.local - agent_namespace: {{ .Values.gateway.gateway_config.agent_namespace | quote }} - node_name: {{ .Values.gateway.gateway_config.node_name | quote }} - index_replica: {{ .Values.gateway.gateway_config.index_replica }} - discoverer: - host: {{ .Values.discoverer.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.discoverer.server_config.servers.grpc.port }} - duration: {{ .Values.gateway.gateway_config.discoverer.duration }} - discover_client: - {{- $discoverClient := dict "Values" .Values.gateway.gateway_config.discoverer.discover_client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $discoverClient | nindent 10 }} - agent_client: - {{- $agentClient := dict "Values" .Values.gateway.gateway_config.discoverer.agent_client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $agentClient | nindent 10 }} - meta: - host: {{ .Values.meta.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.meta.server_config.servers.grpc.port }} - client: - {{- $metaClient := dict "Values" .Values.gateway.gateway_config.meta.client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $metaClient | nindent 10 }} - enable_cache: {{ .Values.gateway.gateway_config.meta.enable_cache }} - cache_expiration: {{ .Values.gateway.gateway_config.meta.cache_expiration }} - expired_cache_check_duration: {{ .Values.gateway.gateway_config.meta.expired_cache_check_duration }} - backup: - host: {{ .Values.compressor.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.compressor.server_config.servers.grpc.port }} - client: - {{- $backupClient := dict "Values" .Values.gateway.gateway_config.backup.client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $backupClient | nindent 10 }} - egress_filter: - client: null + client: + {{- $client := dict "Values" $gateway.gateway_config.client "default" .Values.defaults.grpc.client }} + {{- include "vald.grpc.client" $client | nindent 6 }} + ingress_filter: + client: + {{- $ingressFilterClient := dict "Values" $gateway.gateway_config.ingress_filter.client "default" .Values.defaults.grpc.client }} + {{- include "vald.grpc.client" $ingressFilterClient | nindent 8 }} + {{- if $gateway.gateway_config.ingress_filter.search }} + search: + {{- toYaml $gateway.gateway_config.ingress_filter.search | nindent 8 }} + {{- else }} + search: [] + {{- end }} + {{- if $gateway.gateway_config.ingress_filter.insert }} + insert: + {{- toYaml $gateway.gateway_config.ingress_filter.insert | nindent 8 }} + {{- else }} + insert: [] + {{- end }} + {{- if $gateway.gateway_config.ingress_filter.update }} + update: + {{- toYaml $gateway.gateway_config.ingress_filter.update | nindent 8 }} + {{- else }} + update: [] + {{- end }} + {{- if $gateway.gateway_config.ingress_filter.upsert }} + upsert: + {{- toYaml $gateway.gateway_config.ingress_filter.upsert | nindent 8 }} + {{- else }} + upsert: [] + {{- end }} + egress_filter: + client: + {{- $egressFilterClient := dict "Values" $gateway.gateway_config.egress_filter.client "default" .Values.defaults.grpc.client }} + {{- include "vald.grpc.client" $egressFilterClient | nindent 8 }} + gateway: {} # TODO {{- end }} diff --git a/charts/vald/templates/gateway/filter/daemonset.yaml b/charts/vald/templates/gateway/filter/daemonset.yaml index ec9c5bb470..bcae920756 100644 --- a/charts/vald/templates/gateway/filter/daemonset.yaml +++ b/charts/vald/templates/gateway/filter/daemonset.yaml @@ -13,104 +13,105 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled (eq .Values.gateway.kind "DaemonSet") }} +{{- $gateway := .Values.gateway.filter -}} +{{- if and $gateway.enabled (eq $gateway.kind "DaemonSet") }} apiVersion: apps/v1 kind: DaemonSet metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - {{- if .Values.gateway.annotations }} + app.kubernetes.io/component: gateway-filter + {{- if $gateway.annotations }} annotations: - {{- toYaml .Values.gateway.annotations | nindent 4 }} + {{- toYaml $gateway.annotations | nindent 4 }} {{- end }} spec: - revisionHistoryLimit: {{ .Values.gateway.revisionHistoryLimit }} + revisionHistoryLimit: {{ $gateway.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} updateStrategy: rollingUpdate: - maxUnavailable: {{ .Values.gateway.rollingUpdate.maxUnavailable }} + maxUnavailable: {{ $gateway.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: gateway annotations: - checksum/configmap: {{ include (print $.Template.BasePath "/gateway/vald/configmap.yaml") . | sha256sum }} - {{- if .Values.gateway.podAnnotations }} - {{- toYaml .Values.gateway.podAnnotations | nindent 8 }} + checksum/configmap: {{ include (print $.Template.BasePath "/gateway/filter/configmap.yaml") . | sha256sum }} + {{- if $gateway.podAnnotations }} + {{- toYaml $gateway.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.gateway.initContainers }} + {{- if $gateway.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.gateway.affinity | nindent 8 }} - {{- if .Values.gateway.topologySpreadConstraints }} + {{- include "vald.affinity" $gateway.affinity | nindent 8 }} + {{- if $gateway.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.gateway.topologySpreadConstraints | nindent 8 }} + {{- toYaml $gateway.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.gateway.name }} - image: "{{ .Values.gateway.image.repository }}:{{ default .Values.defaults.image.tag .Values.gateway.image.tag }}" - imagePullPolicy: {{ .Values.gateway.image.pullPolicy }} - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config -}} + - name: {{ $gateway.name }} + image: "{{ $gateway.image.repository }}:{{ default .Values.defaults.image.tag $gateway.image.tag }}" + imagePullPolicy: {{ $gateway.image.pullPolicy }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.gateway.resources | nindent 12 }} + {{- toYaml $gateway.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.gateway.env }} + {{- if $gateway.env }} env: - {{- toYaml .Values.gateway.env | nindent 12 }} + {{- toYaml $gateway.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config mountPath: /etc/server/ - {{- if .Values.gateway.volumeMounts }} - {{- toYaml .Values.gateway.volumeMounts | nindent 12 }} + {{- if $gateway.volumeMounts }} + {{- toYaml $gateway.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.gateway.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $gateway.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config configMap: defaultMode: 420 - name: {{ .Values.gateway.name }}-config - {{- if .Values.gateway.volumes }} - {{- toYaml .Values.gateway.volumes | nindent 8 }} + name: {{ $gateway.name }}-config + {{- if $gateway.volumes }} + {{- toYaml $gateway.volumes | nindent 8 }} {{- end }} - {{- if .Values.gateway.nodeName }} - nodeName: {{ .Values.gateway.nodeName }} + {{- if $gateway.nodeName }} + nodeName: {{ $gateway.nodeName }} {{- end }} - {{- if .Values.gateway.nodeSelector }} + {{- if $gateway.nodeSelector }} nodeSelector: - {{- toYaml .Values.gateway.nodeSelector | nindent 8 }} + {{- toYaml $gateway.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.gateway.tolerations }} + {{- if $gateway.tolerations }} tolerations: - {{- toYaml .Values.gateway.tolerations | nindent 8 }} + {{- toYaml $gateway.tolerations | nindent 8 }} {{- end }} - {{- if .Values.gateway.podPriority }} - {{- if .Values.gateway.podPriority.enabled }} - priorityClassName: {{ .Values.gateway.name }}-priority + {{- if $gateway.podPriority }} + {{- if $gateway.podPriority.enabled }} + priorityClassName: {{ $gateway.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/gateway/filter/deployment.yaml b/charts/vald/templates/gateway/filter/deployment.yaml index a44c317e1c..6f79452f7a 100644 --- a/charts/vald/templates/gateway/filter/deployment.yaml +++ b/charts/vald/templates/gateway/filter/deployment.yaml @@ -13,109 +13,110 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled (eq .Values.gateway.kind "Deployment") }} +{{- $gateway := .Values.gateway.filter -}} +{{- if and $gateway.enabled (eq $gateway.kind "Deployment") }} apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - {{- if .Values.gateway.annotations }} + app.kubernetes.io/component: gateway-filter + {{- if $gateway.annotations }} annotations: - {{- toYaml .Values.gateway.annotations | nindent 4 }} + {{- toYaml $gateway.annotations | nindent 4 }} {{- end }} spec: - progressDeadlineSeconds: {{ .Values.gateway.progressDeadlineSeconds }} - {{- if not .Values.gateway.hpa.enabled }} - replicas: {{ .Values.gateway.minReplicas }} + progressDeadlineSeconds: {{ $gateway.progressDeadlineSeconds }} + {{- if not $gateway.hpa.enabled }} + replicas: {{ $gateway.minReplicas }} {{- end }} - revisionHistoryLimit: {{ .Values.gateway.revisionHistoryLimit }} + revisionHistoryLimit: {{ $gateway.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} strategy: rollingUpdate: - maxSurge: {{ .Values.gateway.rollingUpdate.maxSurge }} - maxUnavailable: {{ .Values.gateway.rollingUpdate.maxUnavailable }} + maxSurge: {{ $gateway.rollingUpdate.maxSurge }} + maxUnavailable: {{ $gateway.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: gateway annotations: - checksum/configmap: {{ include (print $.Template.BasePath "/gateway/vald/configmap.yaml") . | sha256sum }} - {{- if .Values.gateway.podAnnotations }} - {{- toYaml .Values.gateway.podAnnotations | nindent 8 }} + checksum/configmap: {{ include (print $.Template.BasePath "/gateway/filter/configmap.yaml") . | sha256sum }} + {{- if $gateway.podAnnotations }} + {{- toYaml $gateway.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.gateway.initContainers }} + {{- if $gateway.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.gateway.affinity | nindent 8 }} - {{- if .Values.gateway.topologySpreadConstraints }} + {{- include "vald.affinity" $gateway.affinity | nindent 8 }} + {{- if $gateway.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.gateway.topologySpreadConstraints | nindent 8 }} + {{- toYaml $gateway.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.gateway.name }} - image: "{{ .Values.gateway.image.repository }}:{{ default .Values.defaults.image.tag .Values.gateway.image.tag }}" - imagePullPolicy: {{ .Values.gateway.image.pullPolicy }} - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config -}} + - name: {{ $gateway.name }} + image: "{{ $gateway.image.repository }}:{{ default .Values.defaults.image.tag $gateway.image.tag }}" + imagePullPolicy: {{ $gateway.image.pullPolicy }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.gateway.resources | nindent 12 }} + {{- toYaml $gateway.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.gateway.env }} + {{- if $gateway.env }} env: - {{- toYaml .Values.gateway.env | nindent 12 }} + {{- toYaml $gateway.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config mountPath: /etc/server/ - {{- if .Values.gateway.volumeMounts }} - {{- toYaml .Values.gateway.volumeMounts | nindent 12 }} + {{- if $gateway.volumeMounts }} + {{- toYaml $gateway.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.gateway.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $gateway.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config configMap: defaultMode: 420 - name: {{ .Values.gateway.name }}-config - {{- if .Values.gateway.volumes }} - {{- toYaml .Values.gateway.volumes | nindent 8 }} + name: {{ $gateway.name }}-config + {{- if $gateway.volumes }} + {{- toYaml $gateway.volumes | nindent 8 }} {{- end }} - {{- if .Values.gateway.nodeName }} - nodeName: {{ .Values.gateway.nodeName }} + {{- if $gateway.nodeName }} + nodeName: {{ $gateway.nodeName }} {{- end }} - {{- if .Values.gateway.nodeSelector }} + {{- if $gateway.nodeSelector }} nodeSelector: - {{- toYaml .Values.gateway.nodeSelector | nindent 8 }} + {{- toYaml $gateway.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.gateway.tolerations }} + {{- if $gateway.tolerations }} tolerations: - {{- toYaml .Values.gateway.tolerations | nindent 8 }} + {{- toYaml $gateway.tolerations | nindent 8 }} {{- end }} - {{- if .Values.gateway.podPriority }} - {{- if .Values.gateway.podPriority.enabled }} - priorityClassName: {{ .Values.gateway.name }}-priority + {{- if $gateway.podPriority }} + {{- if $gateway.podPriority.enabled }} + priorityClassName: {{ $gateway.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/gateway/filter/hpa.yaml b/charts/vald/templates/gateway/filter/hpa.yaml index 144538a892..f6f26baaf7 100644 --- a/charts/vald/templates/gateway/filter/hpa.yaml +++ b/charts/vald/templates/gateway/filter/hpa.yaml @@ -13,25 +13,26 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.hpa.enabled }} +{{- $gateway := .Values.gateway.filter -}} +{{- if and $gateway.enabled $gateway.hpa.enabled }} apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-filter spec: - maxReplicas: {{ .Values.gateway.maxReplicas }} - minReplicas: {{ .Values.gateway.minReplicas }} + maxReplicas: {{ $gateway.maxReplicas }} + minReplicas: {{ $gateway.minReplicas }} scaleTargetRef: apiVersion: apps/v1 - kind: {{ .Values.gateway.kind }} - name: {{ .Values.gateway.name }} - targetCPUUtilizationPercentage: {{ .Values.gateway.hpa.targetCPUUtilizationPercentage }} + kind: {{ $gateway.kind }} + name: {{ $gateway.name }} + targetCPUUtilizationPercentage: {{ $gateway.hpa.targetCPUUtilizationPercentage }} status: {{- end }} diff --git a/charts/vald/templates/gateway/filter/ing.yaml b/charts/vald/templates/gateway/filter/ing.yaml index cb113a496f..4ab91f2e15 100644 --- a/charts/vald/templates/gateway/filter/ing.yaml +++ b/charts/vald/templates/gateway/filter/ing.yaml @@ -13,29 +13,29 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.ingress.enabled }} +{{- $gateway := .Values.gateway.filter -}} +{{- if and $gateway.enabled $gateway.ingress.enabled }} apiVersion: networking.k8s.io/v1beta1 -# apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: - {{- toYaml .Values.gateway.ingress.annotations | nindent 4 }} + {{- toYaml $gateway.ingress.annotations | nindent 4 }} labels: - name: {{ .Values.gateway.name }}-ingress - app: {{ .Values.gateway.name }}-ingress + name: {{ $gateway.name }}-ingress + app: {{ $gateway.name }}-ingress app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - name: {{ .Values.gateway.name }}-ingress + app.kubernetes.io/component: gateway-filter + name: {{ $gateway.name }}-ingress spec: rules: - - host: {{ .Values.gateway.ingress.host }} + - host: {{ $gateway.ingress.host }} http: paths: - backend: - serviceName: {{ .Values.gateway.name }} - servicePort: {{ .Values.gateway.ingress.servicePort }} + serviceName: {{ $gateway.name }} + servicePort: {{ $gateway.ingress.servicePort }} {{- end }} diff --git a/charts/vald/templates/gateway/filter/pdb.yaml b/charts/vald/templates/gateway/filter/pdb.yaml index 7fd1c9e223..40ec4b8831 100644 --- a/charts/vald/templates/gateway/filter/pdb.yaml +++ b/charts/vald/templates/gateway/filter/pdb.yaml @@ -13,21 +13,22 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.filter -}} +{{- if $gateway.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-filter spec: - maxUnavailable: {{ .Values.gateway.maxUnavailable }} + maxUnavailable: {{ $gateway.maxUnavailable }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} {{- end }} diff --git a/charts/vald/templates/gateway/filter/priorityclass.yaml b/charts/vald/templates/gateway/filter/priorityclass.yaml index 2386775dfe..c789ccdc59 100644 --- a/charts/vald/templates/gateway/filter/priorityclass.yaml +++ b/charts/vald/templates/gateway/filter/priorityclass.yaml @@ -13,19 +13,20 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.podPriority.enabled }} +{{- $gateway := .Values.gateway.filter -}} +{{- if and $gateway.enabled $gateway.podPriority.enabled }} apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: - name: {{ .Values.gateway.name }}-priority + name: {{ $gateway.name }}-priority labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway -value: {{ .Values.gateway.podPriority.value }} + app.kubernetes.io/component: gateway-filter +value: {{ $gateway.podPriority.value }} globalDefault: false -description: "A priority class for Vald gateway." +description: "A priority class for Vald filter gateway." {{- end }} diff --git a/charts/vald/templates/gateway/filter/svc.yaml b/charts/vald/templates/gateway/filter/svc.yaml index 8cb9cbc02b..3b09e193b9 100644 --- a/charts/vald/templates/gateway/filter/svc.yaml +++ b/charts/vald/templates/gateway/filter/svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.filter -}} +{{- if $gateway.enabled }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.gateway.name }} - {{- if .Values.gateway.service.annotations }} + name: {{ $gateway.name }} + {{- if $gateway.service.annotations }} annotations: - {{- toYaml .Values.gateway.service.annotations | nindent 4 }} + {{- toYaml $gateway.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -28,21 +29,21 @@ metadata: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - {{- if .Values.gateway.service.labels }} - {{- toYaml .Values.gateway.service.labels | nindent 4 }} + app.kubernetes.io/component: gateway-filter + {{- if $gateway.service.labels }} + {{- toYaml $gateway.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: gateway - {{- if eq .Values.gateway.serviceType "ClusterIP" }} + {{- if eq $gateway.serviceType "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.gateway.serviceType }} - {{- if .Values.gateway.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.gateway.externalTrafficPolicy }} + type: {{ $gateway.serviceType }} + {{- if $gateway.externalTrafficPolicy }} + externalTrafficPolicy: {{ $gateway.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/templates/gateway/lb/configmap.yaml b/charts/vald/templates/gateway/lb/configmap.yaml index 74a74b2740..879e092acb 100644 --- a/charts/vald/templates/gateway/lb/configmap.yaml +++ b/charts/vald/templates/gateway/lb/configmap.yaml @@ -13,64 +13,48 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.lb -}} +{{- if $gateway.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.gateway.name }}-config + name: {{ $gateway.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-lb data: config.yaml: | --- - version: {{ .Values.gateway.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.gateway.time_zone }} + version: {{ $gateway.version }} + time_zone: {{ default .Values.defaults.time_zone $gateway.time_zone }} logging: - {{- $logging := dict "Values" .Values.gateway.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $gateway.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.gateway.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $gateway.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} gateway: agent_port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.agent.server_config.servers.grpc.port }} agent_name: {{ .Values.agent.name | quote }} agent_dns: {{ .Values.agent.name }}.{{ .Release.Namespace }}.svc.cluster.local - agent_namespace: {{ .Values.gateway.gateway_config.agent_namespace | quote }} - node_name: {{ .Values.gateway.gateway_config.node_name | quote }} - index_replica: {{ .Values.gateway.gateway_config.index_replica }} + agent_namespace: {{ $gateway.gateway_config.agent_namespace | quote }} + node_name: {{ $gateway.gateway_config.node_name | quote }} + index_replica: {{ $gateway.gateway_config.index_replica }} discoverer: host: {{ .Values.discoverer.name }}.{{ .Release.Namespace }}.svc.cluster.local port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.discoverer.server_config.servers.grpc.port }} - duration: {{ .Values.gateway.gateway_config.discoverer.duration }} + duration: {{ $gateway.gateway_config.discoverer.duration }} discover_client: - {{- $discoverClient := dict "Values" .Values.gateway.gateway_config.discoverer.discover_client "default" .Values.defaults.grpc.client }} + {{- $discoverClient := dict "Values" $gateway.gateway_config.discoverer.discover_client "default" .Values.defaults.grpc.client }} {{- include "vald.grpc.client" $discoverClient | nindent 10 }} agent_client: - {{- $agentClient := dict "Values" .Values.gateway.gateway_config.discoverer.agent_client "default" .Values.defaults.grpc.client }} + {{- $agentClient := dict "Values" $gateway.gateway_config.discoverer.agent_client "default" .Values.defaults.grpc.client }} {{- include "vald.grpc.client" $agentClient | nindent 10 }} - meta: - host: {{ .Values.meta.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.meta.server_config.servers.grpc.port }} - client: - {{- $metaClient := dict "Values" .Values.gateway.gateway_config.meta.client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $metaClient | nindent 10 }} - enable_cache: {{ .Values.gateway.gateway_config.meta.enable_cache }} - cache_expiration: {{ .Values.gateway.gateway_config.meta.cache_expiration }} - expired_cache_check_duration: {{ .Values.gateway.gateway_config.meta.expired_cache_check_duration }} - backup: - host: {{ .Values.compressor.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.compressor.server_config.servers.grpc.port }} - client: - {{- $backupClient := dict "Values" .Values.gateway.gateway_config.backup.client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $backupClient | nindent 10 }} - egress_filter: - client: null {{- end }} diff --git a/charts/vald/templates/gateway/lb/daemonset.yaml b/charts/vald/templates/gateway/lb/daemonset.yaml index ec9c5bb470..d678f7b55a 100644 --- a/charts/vald/templates/gateway/lb/daemonset.yaml +++ b/charts/vald/templates/gateway/lb/daemonset.yaml @@ -13,104 +13,105 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled (eq .Values.gateway.kind "DaemonSet") }} +{{- $gateway := .Values.gateway.lb -}} +{{- if and $gateway.enabled (eq $gateway.kind "DaemonSet") }} apiVersion: apps/v1 kind: DaemonSet metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - {{- if .Values.gateway.annotations }} + app.kubernetes.io/component: gateway-lb + {{- if $gateway.annotations }} annotations: - {{- toYaml .Values.gateway.annotations | nindent 4 }} + {{- toYaml $gateway.annotations | nindent 4 }} {{- end }} spec: - revisionHistoryLimit: {{ .Values.gateway.revisionHistoryLimit }} + revisionHistoryLimit: {{ $gateway.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} updateStrategy: rollingUpdate: - maxUnavailable: {{ .Values.gateway.rollingUpdate.maxUnavailable }} + maxUnavailable: {{ $gateway.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: gateway annotations: - checksum/configmap: {{ include (print $.Template.BasePath "/gateway/vald/configmap.yaml") . | sha256sum }} - {{- if .Values.gateway.podAnnotations }} - {{- toYaml .Values.gateway.podAnnotations | nindent 8 }} + checksum/configmap: {{ include (print $.Template.BasePath "/gateway/lb/configmap.yaml") . | sha256sum }} + {{- if $gateway.podAnnotations }} + {{- toYaml $gateway.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.gateway.initContainers }} + {{- if $gateway.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.gateway.affinity | nindent 8 }} - {{- if .Values.gateway.topologySpreadConstraints }} + {{- include "vald.affinity" $gateway.affinity | nindent 8 }} + {{- if $gateway.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.gateway.topologySpreadConstraints | nindent 8 }} + {{- toYaml $gateway.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.gateway.name }} - image: "{{ .Values.gateway.image.repository }}:{{ default .Values.defaults.image.tag .Values.gateway.image.tag }}" - imagePullPolicy: {{ .Values.gateway.image.pullPolicy }} - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config -}} + - name: {{ $gateway.name }} + image: "{{ $gateway.image.repository }}:{{ default .Values.defaults.image.tag $gateway.image.tag }}" + imagePullPolicy: {{ $gateway.image.pullPolicy }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.gateway.resources | nindent 12 }} + {{- toYaml $gateway.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.gateway.env }} + {{- if $gateway.env }} env: - {{- toYaml .Values.gateway.env | nindent 12 }} + {{- toYaml $gateway.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config mountPath: /etc/server/ - {{- if .Values.gateway.volumeMounts }} - {{- toYaml .Values.gateway.volumeMounts | nindent 12 }} + {{- if $gateway.volumeMounts }} + {{- toYaml $gateway.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.gateway.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $gateway.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config configMap: defaultMode: 420 - name: {{ .Values.gateway.name }}-config - {{- if .Values.gateway.volumes }} - {{- toYaml .Values.gateway.volumes | nindent 8 }} + name: {{ $gateway.name }}-config + {{- if $gateway.volumes }} + {{- toYaml $gateway.volumes | nindent 8 }} {{- end }} - {{- if .Values.gateway.nodeName }} - nodeName: {{ .Values.gateway.nodeName }} + {{- if $gateway.nodeName }} + nodeName: {{ $gateway.nodeName }} {{- end }} - {{- if .Values.gateway.nodeSelector }} + {{- if $gateway.nodeSelector }} nodeSelector: - {{- toYaml .Values.gateway.nodeSelector | nindent 8 }} + {{- toYaml $gateway.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.gateway.tolerations }} + {{- if $gateway.tolerations }} tolerations: - {{- toYaml .Values.gateway.tolerations | nindent 8 }} + {{- toYaml $gateway.tolerations | nindent 8 }} {{- end }} - {{- if .Values.gateway.podPriority }} - {{- if .Values.gateway.podPriority.enabled }} - priorityClassName: {{ .Values.gateway.name }}-priority + {{- if $gateway.podPriority }} + {{- if $gateway.podPriority.enabled }} + priorityClassName: {{ $gateway.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/gateway/lb/deployment.yaml b/charts/vald/templates/gateway/lb/deployment.yaml index a44c317e1c..0a79d548e4 100644 --- a/charts/vald/templates/gateway/lb/deployment.yaml +++ b/charts/vald/templates/gateway/lb/deployment.yaml @@ -13,109 +13,110 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled (eq .Values.gateway.kind "Deployment") }} +{{- $gateway := .Values.gateway.lb -}} +{{- if and $gateway.enabled (eq $gateway.kind "Deployment") }} apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - {{- if .Values.gateway.annotations }} + app.kubernetes.io/component: gateway-lb + {{- if $gateway.annotations }} annotations: - {{- toYaml .Values.gateway.annotations | nindent 4 }} + {{- toYaml $gateway.annotations | nindent 4 }} {{- end }} spec: - progressDeadlineSeconds: {{ .Values.gateway.progressDeadlineSeconds }} - {{- if not .Values.gateway.hpa.enabled }} - replicas: {{ .Values.gateway.minReplicas }} + progressDeadlineSeconds: {{ $gateway.progressDeadlineSeconds }} + {{- if not $gateway.hpa.enabled }} + replicas: {{ $gateway.minReplicas }} {{- end }} - revisionHistoryLimit: {{ .Values.gateway.revisionHistoryLimit }} + revisionHistoryLimit: {{ $gateway.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} strategy: rollingUpdate: - maxSurge: {{ .Values.gateway.rollingUpdate.maxSurge }} - maxUnavailable: {{ .Values.gateway.rollingUpdate.maxUnavailable }} + maxSurge: {{ $gateway.rollingUpdate.maxSurge }} + maxUnavailable: {{ $gateway.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: gateway annotations: - checksum/configmap: {{ include (print $.Template.BasePath "/gateway/vald/configmap.yaml") . | sha256sum }} - {{- if .Values.gateway.podAnnotations }} - {{- toYaml .Values.gateway.podAnnotations | nindent 8 }} + checksum/configmap: {{ include (print $.Template.BasePath "/gateway/lb/configmap.yaml") . | sha256sum }} + {{- if $gateway.podAnnotations }} + {{- toYaml $gateway.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.gateway.initContainers }} + {{- if $gateway.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.gateway.affinity | nindent 8 }} - {{- if .Values.gateway.topologySpreadConstraints }} + {{- include "vald.affinity" $gateway.affinity | nindent 8 }} + {{- if $gateway.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.gateway.topologySpreadConstraints | nindent 8 }} + {{- toYaml $gateway.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.gateway.name }} - image: "{{ .Values.gateway.image.repository }}:{{ default .Values.defaults.image.tag .Values.gateway.image.tag }}" - imagePullPolicy: {{ .Values.gateway.image.pullPolicy }} - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config -}} + - name: {{ $gateway.name }} + image: "{{ $gateway.image.repository }}:{{ default .Values.defaults.image.tag $gateway.image.tag }}" + imagePullPolicy: {{ $gateway.image.pullPolicy }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.gateway.resources | nindent 12 }} + {{- toYaml $gateway.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.gateway.env }} + {{- if $gateway.env }} env: - {{- toYaml .Values.gateway.env | nindent 12 }} + {{- toYaml $gateway.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config mountPath: /etc/server/ - {{- if .Values.gateway.volumeMounts }} - {{- toYaml .Values.gateway.volumeMounts | nindent 12 }} + {{- if $gateway.volumeMounts }} + {{- toYaml $gateway.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.gateway.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $gateway.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config configMap: defaultMode: 420 - name: {{ .Values.gateway.name }}-config - {{- if .Values.gateway.volumes }} - {{- toYaml .Values.gateway.volumes | nindent 8 }} + name: {{ $gateway.name }}-config + {{- if $gateway.volumes }} + {{- toYaml $gateway.volumes | nindent 8 }} {{- end }} - {{- if .Values.gateway.nodeName }} - nodeName: {{ .Values.gateway.nodeName }} + {{- if $gateway.nodeName }} + nodeName: {{ $gateway.nodeName }} {{- end }} - {{- if .Values.gateway.nodeSelector }} + {{- if $gateway.nodeSelector }} nodeSelector: - {{- toYaml .Values.gateway.nodeSelector | nindent 8 }} + {{- toYaml $gateway.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.gateway.tolerations }} + {{- if $gateway.tolerations }} tolerations: - {{- toYaml .Values.gateway.tolerations | nindent 8 }} + {{- toYaml $gateway.tolerations | nindent 8 }} {{- end }} - {{- if .Values.gateway.podPriority }} - {{- if .Values.gateway.podPriority.enabled }} - priorityClassName: {{ .Values.gateway.name }}-priority + {{- if $gateway.podPriority }} + {{- if $gateway.podPriority.enabled }} + priorityClassName: {{ $gateway.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/gateway/lb/hpa.yaml b/charts/vald/templates/gateway/lb/hpa.yaml index 144538a892..b74f314cfb 100644 --- a/charts/vald/templates/gateway/lb/hpa.yaml +++ b/charts/vald/templates/gateway/lb/hpa.yaml @@ -13,25 +13,26 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.hpa.enabled }} +{{- $gateway := .Values.gateway.lb -}} +{{- if and $gateway.enabled $gateway.hpa.enabled }} apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-lb spec: - maxReplicas: {{ .Values.gateway.maxReplicas }} - minReplicas: {{ .Values.gateway.minReplicas }} + maxReplicas: {{ $gateway.maxReplicas }} + minReplicas: {{ $gateway.minReplicas }} scaleTargetRef: apiVersion: apps/v1 - kind: {{ .Values.gateway.kind }} - name: {{ .Values.gateway.name }} - targetCPUUtilizationPercentage: {{ .Values.gateway.hpa.targetCPUUtilizationPercentage }} + kind: {{ $gateway.kind }} + name: {{ $gateway.name }} + targetCPUUtilizationPercentage: {{ $gateway.hpa.targetCPUUtilizationPercentage }} status: {{- end }} diff --git a/charts/vald/templates/gateway/lb/ing.yaml b/charts/vald/templates/gateway/lb/ing.yaml index cb113a496f..090b67113b 100644 --- a/charts/vald/templates/gateway/lb/ing.yaml +++ b/charts/vald/templates/gateway/lb/ing.yaml @@ -13,29 +13,29 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.ingress.enabled }} +{{- $gateway := .Values.gateway.lb -}} +{{- if and $gateway.enabled $gateway.ingress.enabled }} apiVersion: networking.k8s.io/v1beta1 -# apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: - {{- toYaml .Values.gateway.ingress.annotations | nindent 4 }} + {{- toYaml $gateway.ingress.annotations | nindent 4 }} labels: - name: {{ .Values.gateway.name }}-ingress - app: {{ .Values.gateway.name }}-ingress + name: {{ $gateway.name }}-ingress + app: {{ $gateway.name }}-ingress app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - name: {{ .Values.gateway.name }}-ingress + app.kubernetes.io/component: gateway-lb + name: {{ $gateway.name }}-ingress spec: rules: - - host: {{ .Values.gateway.ingress.host }} + - host: {{ $gateway.ingress.host }} http: paths: - backend: - serviceName: {{ .Values.gateway.name }} - servicePort: {{ .Values.gateway.ingress.servicePort }} + serviceName: {{ $gateway.name }} + servicePort: {{ $gateway.ingress.servicePort }} {{- end }} diff --git a/charts/vald/templates/gateway/lb/pdb.yaml b/charts/vald/templates/gateway/lb/pdb.yaml index 7fd1c9e223..93d458f38b 100644 --- a/charts/vald/templates/gateway/lb/pdb.yaml +++ b/charts/vald/templates/gateway/lb/pdb.yaml @@ -13,21 +13,22 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.lb -}} +{{- if $gateway.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-lb spec: - maxUnavailable: {{ .Values.gateway.maxUnavailable }} + maxUnavailable: {{ $gateway.maxUnavailable }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} {{- end }} diff --git a/charts/vald/templates/gateway/lb/priorityclass.yaml b/charts/vald/templates/gateway/lb/priorityclass.yaml index 2386775dfe..2676f395e0 100644 --- a/charts/vald/templates/gateway/lb/priorityclass.yaml +++ b/charts/vald/templates/gateway/lb/priorityclass.yaml @@ -13,19 +13,20 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.podPriority.enabled }} +{{- $gateway := .Values.gateway.lb -}} +{{- if and $gateway.enabled $gateway.podPriority.enabled }} apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: - name: {{ .Values.gateway.name }}-priority + name: {{ $gateway.name }}-priority labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway -value: {{ .Values.gateway.podPriority.value }} + app.kubernetes.io/component: gateway-lb +value: {{ $gateway.podPriority.value }} globalDefault: false -description: "A priority class for Vald gateway." +description: "A priority class for Vald lb gateway." {{- end }} diff --git a/charts/vald/templates/gateway/lb/svc.yaml b/charts/vald/templates/gateway/lb/svc.yaml index 8cb9cbc02b..3f0ff881ba 100644 --- a/charts/vald/templates/gateway/lb/svc.yaml +++ b/charts/vald/templates/gateway/lb/svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.lb -}} +{{- if $gateway.enabled }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.gateway.name }} - {{- if .Values.gateway.service.annotations }} + name: {{ $gateway.name }} + {{- if $gateway.service.annotations }} annotations: - {{- toYaml .Values.gateway.service.annotations | nindent 4 }} + {{- toYaml $gateway.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -28,21 +29,21 @@ metadata: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - {{- if .Values.gateway.service.labels }} - {{- toYaml .Values.gateway.service.labels | nindent 4 }} + app.kubernetes.io/component: gateway-lb + {{- if $gateway.service.labels }} + {{- toYaml $gateway.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: gateway - {{- if eq .Values.gateway.serviceType "ClusterIP" }} + {{- if eq $gateway.serviceType "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.gateway.serviceType }} - {{- if .Values.gateway.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.gateway.externalTrafficPolicy }} + type: {{ $gateway.serviceType }} + {{- if $gateway.externalTrafficPolicy }} + externalTrafficPolicy: {{ $gateway.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/templates/gateway/meta/configmap.yaml b/charts/vald/templates/gateway/meta/configmap.yaml index 74a74b2740..cc8389b99c 100644 --- a/charts/vald/templates/gateway/meta/configmap.yaml +++ b/charts/vald/templates/gateway/meta/configmap.yaml @@ -13,64 +13,43 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.meta -}} +{{- if $gateway.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.gateway.name }}-config + name: {{ $gateway.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-meta data: config.yaml: | --- - version: {{ .Values.gateway.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.gateway.time_zone }} + version: {{ $gateway.version }} + time_zone: {{ default .Values.defaults.time_zone $gateway.time_zone }} logging: - {{- $logging := dict "Values" .Values.gateway.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $gateway.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.gateway.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $gateway.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} - gateway: - agent_port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.agent.server_config.servers.grpc.port }} - agent_name: {{ .Values.agent.name | quote }} - agent_dns: {{ .Values.agent.name }}.{{ .Release.Namespace }}.svc.cluster.local - agent_namespace: {{ .Values.gateway.gateway_config.agent_namespace | quote }} - node_name: {{ .Values.gateway.gateway_config.node_name | quote }} - index_replica: {{ .Values.gateway.gateway_config.index_replica }} - discoverer: - host: {{ .Values.discoverer.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.discoverer.server_config.servers.grpc.port }} - duration: {{ .Values.gateway.gateway_config.discoverer.duration }} - discover_client: - {{- $discoverClient := dict "Values" .Values.gateway.gateway_config.discoverer.discover_client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $discoverClient | nindent 10 }} - agent_client: - {{- $agentClient := dict "Values" .Values.gateway.gateway_config.discoverer.agent_client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $agentClient | nindent 10 }} - meta: - host: {{ .Values.meta.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.meta.server_config.servers.grpc.port }} - client: - {{- $metaClient := dict "Values" .Values.gateway.gateway_config.meta.client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $metaClient | nindent 10 }} - enable_cache: {{ .Values.gateway.gateway_config.meta.enable_cache }} - cache_expiration: {{ .Values.gateway.gateway_config.meta.cache_expiration }} - expired_cache_check_duration: {{ .Values.gateway.gateway_config.meta.expired_cache_check_duration }} - backup: - host: {{ .Values.compressor.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.compressor.server_config.servers.grpc.port }} - client: - {{- $backupClient := dict "Values" .Values.gateway.gateway_config.backup.client "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $backupClient | nindent 10 }} - egress_filter: - client: null + client: + {{- $client := dict "Values" $gateway.gateway_config.client "default" .Values.defaults.grpc.client }} + {{- include "vald.grpc.client" $client | nindent 6 }} + meta: + host: {{ .Values.meta.name }}.{{ .Release.Namespace }}.svc.cluster.local + port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.meta.server_config.servers.grpc.port }} + client: + {{- $metaClient := dict "Values" $gateway.gateway_config.meta.client "default" .Values.defaults.grpc.client }} + {{- include "vald.grpc.client" $metaClient | nindent 8 }} + enable_cache: {{ $gateway.gateway_config.meta.enable_cache }} + cache_expiration: {{ $gateway.gateway_config.meta.cache_expiration }} + expired_cache_check_duration: {{ $gateway.gateway_config.meta.expired_cache_check_duration }} {{- end }} diff --git a/charts/vald/templates/gateway/meta/daemonset.yaml b/charts/vald/templates/gateway/meta/daemonset.yaml index ec9c5bb470..6add6dd5e7 100644 --- a/charts/vald/templates/gateway/meta/daemonset.yaml +++ b/charts/vald/templates/gateway/meta/daemonset.yaml @@ -13,104 +13,105 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled (eq .Values.gateway.kind "DaemonSet") }} +{{- $gateway := .Values.gateway.meta -}} +{{- if and $gateway.enabled (eq $gateway.kind "DaemonSet") }} apiVersion: apps/v1 kind: DaemonSet metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - {{- if .Values.gateway.annotations }} + app.kubernetes.io/component: gateway-meta + {{- if $gateway.annotations }} annotations: - {{- toYaml .Values.gateway.annotations | nindent 4 }} + {{- toYaml $gateway.annotations | nindent 4 }} {{- end }} spec: - revisionHistoryLimit: {{ .Values.gateway.revisionHistoryLimit }} + revisionHistoryLimit: {{ $gateway.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} updateStrategy: rollingUpdate: - maxUnavailable: {{ .Values.gateway.rollingUpdate.maxUnavailable }} + maxUnavailable: {{ $gateway.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: gateway annotations: - checksum/configmap: {{ include (print $.Template.BasePath "/gateway/vald/configmap.yaml") . | sha256sum }} - {{- if .Values.gateway.podAnnotations }} - {{- toYaml .Values.gateway.podAnnotations | nindent 8 }} + checksum/configmap: {{ include (print $.Template.BasePath "/gateway/meta/configmap.yaml") . | sha256sum }} + {{- if $gateway.podAnnotations }} + {{- toYaml $gateway.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.gateway.initContainers }} + {{- if $gateway.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.gateway.affinity | nindent 8 }} - {{- if .Values.gateway.topologySpreadConstraints }} + {{- include "vald.affinity" $gateway.affinity | nindent 8 }} + {{- if $gateway.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.gateway.topologySpreadConstraints | nindent 8 }} + {{- toYaml $gateway.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.gateway.name }} - image: "{{ .Values.gateway.image.repository }}:{{ default .Values.defaults.image.tag .Values.gateway.image.tag }}" - imagePullPolicy: {{ .Values.gateway.image.pullPolicy }} - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config -}} + - name: {{ $gateway.name }} + image: "{{ $gateway.image.repository }}:{{ default .Values.defaults.image.tag $gateway.image.tag }}" + imagePullPolicy: {{ $gateway.image.pullPolicy }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.gateway.resources | nindent 12 }} + {{- toYaml $gateway.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.gateway.env }} + {{- if $gateway.env }} env: - {{- toYaml .Values.gateway.env | nindent 12 }} + {{- toYaml $gateway.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config mountPath: /etc/server/ - {{- if .Values.gateway.volumeMounts }} - {{- toYaml .Values.gateway.volumeMounts | nindent 12 }} + {{- if $gateway.volumeMounts }} + {{- toYaml $gateway.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.gateway.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $gateway.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config configMap: defaultMode: 420 - name: {{ .Values.gateway.name }}-config - {{- if .Values.gateway.volumes }} - {{- toYaml .Values.gateway.volumes | nindent 8 }} + name: {{ $gateway.name }}-config + {{- if $gateway.volumes }} + {{- toYaml $gateway.volumes | nindent 8 }} {{- end }} - {{- if .Values.gateway.nodeName }} - nodeName: {{ .Values.gateway.nodeName }} + {{- if $gateway.nodeName }} + nodeName: {{ $gateway.nodeName }} {{- end }} - {{- if .Values.gateway.nodeSelector }} + {{- if $gateway.nodeSelector }} nodeSelector: - {{- toYaml .Values.gateway.nodeSelector | nindent 8 }} + {{- toYaml $gateway.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.gateway.tolerations }} + {{- if $gateway.tolerations }} tolerations: - {{- toYaml .Values.gateway.tolerations | nindent 8 }} + {{- toYaml $gateway.tolerations | nindent 8 }} {{- end }} - {{- if .Values.gateway.podPriority }} - {{- if .Values.gateway.podPriority.enabled }} - priorityClassName: {{ .Values.gateway.name }}-priority + {{- if $gateway.podPriority }} + {{- if $gateway.podPriority.enabled }} + priorityClassName: {{ $gateway.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/gateway/meta/deployment.yaml b/charts/vald/templates/gateway/meta/deployment.yaml index a44c317e1c..d80bf835ae 100644 --- a/charts/vald/templates/gateway/meta/deployment.yaml +++ b/charts/vald/templates/gateway/meta/deployment.yaml @@ -13,109 +13,110 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled (eq .Values.gateway.kind "Deployment") }} +{{- $gateway := .Values.gateway.meta -}} +{{- if and $gateway.enabled (eq $gateway.kind "Deployment") }} apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: gateway - {{- if .Values.gateway.annotations }} + {{- if $gateway.annotations }} annotations: - {{- toYaml .Values.gateway.annotations | nindent 4 }} + {{- toYaml $gateway.annotations | nindent 4 }} {{- end }} spec: - progressDeadlineSeconds: {{ .Values.gateway.progressDeadlineSeconds }} - {{- if not .Values.gateway.hpa.enabled }} - replicas: {{ .Values.gateway.minReplicas }} + progressDeadlineSeconds: {{ $gateway.progressDeadlineSeconds }} + {{- if not $gateway.hpa.enabled }} + replicas: {{ $gateway.minReplicas }} {{- end }} - revisionHistoryLimit: {{ .Values.gateway.revisionHistoryLimit }} + revisionHistoryLimit: {{ $gateway.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} strategy: rollingUpdate: - maxSurge: {{ .Values.gateway.rollingUpdate.maxSurge }} - maxUnavailable: {{ .Values.gateway.rollingUpdate.maxUnavailable }} + maxSurge: {{ $gateway.rollingUpdate.maxSurge }} + maxUnavailable: {{ $gateway.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: gateway annotations: - checksum/configmap: {{ include (print $.Template.BasePath "/gateway/vald/configmap.yaml") . | sha256sum }} - {{- if .Values.gateway.podAnnotations }} - {{- toYaml .Values.gateway.podAnnotations | nindent 8 }} + checksum/configmap: {{ include (print $.Template.BasePath "/gateway/meta/configmap.yaml") . | sha256sum }} + {{- if $gateway.podAnnotations }} + {{- toYaml $gateway.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.gateway.initContainers }} + {{- if $gateway.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.gateway.affinity | nindent 8 }} - {{- if .Values.gateway.topologySpreadConstraints }} + {{- include "vald.affinity" $gateway.affinity | nindent 8 }} + {{- if $gateway.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.gateway.topologySpreadConstraints | nindent 8 }} + {{- toYaml $gateway.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.gateway.name }} - image: "{{ .Values.gateway.image.repository }}:{{ default .Values.defaults.image.tag .Values.gateway.image.tag }}" - imagePullPolicy: {{ .Values.gateway.image.pullPolicy }} - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config -}} + - name: {{ $gateway.name }} + image: "{{ $gateway.image.repository }}:{{ default .Values.defaults.image.tag $gateway.image.tag }}" + imagePullPolicy: {{ $gateway.image.pullPolicy }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.gateway.resources | nindent 12 }} + {{- toYaml $gateway.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.gateway.env }} + {{- if $gateway.env }} env: - {{- toYaml .Values.gateway.env | nindent 12 }} + {{- toYaml $gateway.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config mountPath: /etc/server/ - {{- if .Values.gateway.volumeMounts }} - {{- toYaml .Values.gateway.volumeMounts | nindent 12 }} + {{- if $gateway.volumeMounts }} + {{- toYaml $gateway.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.gateway.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $gateway.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config configMap: defaultMode: 420 - name: {{ .Values.gateway.name }}-config - {{- if .Values.gateway.volumes }} - {{- toYaml .Values.gateway.volumes | nindent 8 }} + name: {{ $gateway.name }}-config + {{- if $gateway.volumes }} + {{- toYaml $gateway.volumes | nindent 8 }} {{- end }} - {{- if .Values.gateway.nodeName }} - nodeName: {{ .Values.gateway.nodeName }} + {{- if $gateway.nodeName }} + nodeName: {{ $gateway.nodeName }} {{- end }} - {{- if .Values.gateway.nodeSelector }} + {{- if $gateway.nodeSelector }} nodeSelector: - {{- toYaml .Values.gateway.nodeSelector | nindent 8 }} + {{- toYaml $gateway.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.gateway.tolerations }} + {{- if $gateway.tolerations }} tolerations: - {{- toYaml .Values.gateway.tolerations | nindent 8 }} + {{- toYaml $gateway.tolerations | nindent 8 }} {{- end }} - {{- if .Values.gateway.podPriority }} - {{- if .Values.gateway.podPriority.enabled }} - priorityClassName: {{ .Values.gateway.name }}-priority + {{- if $gateway.podPriority }} + {{- if $gateway.podPriority.enabled }} + priorityClassName: {{ $gateway.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/gateway/meta/hpa.yaml b/charts/vald/templates/gateway/meta/hpa.yaml index 144538a892..a838b58e40 100644 --- a/charts/vald/templates/gateway/meta/hpa.yaml +++ b/charts/vald/templates/gateway/meta/hpa.yaml @@ -13,25 +13,26 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.hpa.enabled }} +{{- $gateway := .Values.gateway.meta -}} +{{- if and $gateway.enabled $gateway.hpa.enabled }} apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-meta spec: - maxReplicas: {{ .Values.gateway.maxReplicas }} - minReplicas: {{ .Values.gateway.minReplicas }} + maxReplicas: {{ $gateway.maxReplicas }} + minReplicas: {{ $gateway.minReplicas }} scaleTargetRef: apiVersion: apps/v1 - kind: {{ .Values.gateway.kind }} - name: {{ .Values.gateway.name }} - targetCPUUtilizationPercentage: {{ .Values.gateway.hpa.targetCPUUtilizationPercentage }} + kind: {{ $gateway.kind }} + name: {{ $gateway.name }} + targetCPUUtilizationPercentage: {{ $gateway.hpa.targetCPUUtilizationPercentage }} status: {{- end }} diff --git a/charts/vald/templates/gateway/meta/ing.yaml b/charts/vald/templates/gateway/meta/ing.yaml index cb113a496f..2e4ba71fbe 100644 --- a/charts/vald/templates/gateway/meta/ing.yaml +++ b/charts/vald/templates/gateway/meta/ing.yaml @@ -13,29 +13,29 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.ingress.enabled }} +{{- $gateway := .Values.gateway.meta -}} +{{- if and $gateway.enabled $gateway.ingress.enabled }} apiVersion: networking.k8s.io/v1beta1 -# apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: - {{- toYaml .Values.gateway.ingress.annotations | nindent 4 }} + {{- toYaml $gateway.ingress.annotations | nindent 4 }} labels: - name: {{ .Values.gateway.name }}-ingress - app: {{ .Values.gateway.name }}-ingress + name: {{ $gateway.name }}-ingress + app: {{ $gateway.name }}-ingress app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - name: {{ .Values.gateway.name }}-ingress + app.kubernetes.io/component: gateway-meta + name: {{ $gateway.name }}-ingress spec: rules: - - host: {{ .Values.gateway.ingress.host }} + - host: {{ $gateway.ingress.host }} http: paths: - backend: - serviceName: {{ .Values.gateway.name }} - servicePort: {{ .Values.gateway.ingress.servicePort }} + serviceName: {{ $gateway.name }} + servicePort: {{ $gateway.ingress.servicePort }} {{- end }} diff --git a/charts/vald/templates/gateway/meta/pdb.yaml b/charts/vald/templates/gateway/meta/pdb.yaml index 7fd1c9e223..d7190c0262 100644 --- a/charts/vald/templates/gateway/meta/pdb.yaml +++ b/charts/vald/templates/gateway/meta/pdb.yaml @@ -13,21 +13,22 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.meta -}} +{{- if $gateway.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway + app.kubernetes.io/component: gateway-meta spec: - maxUnavailable: {{ .Values.gateway.maxUnavailable }} + maxUnavailable: {{ $gateway.maxUnavailable }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} {{- end }} diff --git a/charts/vald/templates/gateway/meta/priorityclass.yaml b/charts/vald/templates/gateway/meta/priorityclass.yaml index 2386775dfe..fb6a65e007 100644 --- a/charts/vald/templates/gateway/meta/priorityclass.yaml +++ b/charts/vald/templates/gateway/meta/priorityclass.yaml @@ -13,19 +13,20 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.podPriority.enabled }} +{{- $gateway := .Values.gateway.meta -}} +{{- if and $gateway.enabled $gateway.podPriority.enabled }} apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: - name: {{ .Values.gateway.name }}-priority + name: {{ $gateway.name }}-priority labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway -value: {{ .Values.gateway.podPriority.value }} + app.kubernetes.io/component: gateway-meta +value: {{ $gateway.podPriority.value }} globalDefault: false -description: "A priority class for Vald gateway." +description: "A priority class for Vald meta gateway." {{- end }} diff --git a/charts/vald/templates/gateway/meta/svc.yaml b/charts/vald/templates/gateway/meta/svc.yaml index 8cb9cbc02b..efa783bc71 100644 --- a/charts/vald/templates/gateway/meta/svc.yaml +++ b/charts/vald/templates/gateway/meta/svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.meta -}} +{{- if $gateway.enabled }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.gateway.name }} - {{- if .Values.gateway.service.annotations }} + name: {{ $gateway.name }} + {{- if $gateway.service.annotations }} annotations: - {{- toYaml .Values.gateway.service.annotations | nindent 4 }} + {{- toYaml $gateway.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -28,21 +29,21 @@ metadata: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: gateway - {{- if .Values.gateway.service.labels }} - {{- toYaml .Values.gateway.service.labels | nindent 4 }} + app.kubernetes.io/component: gateway-meta + {{- if $gateway.service.labels }} + {{- toYaml $gateway.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: gateway - {{- if eq .Values.gateway.serviceType "ClusterIP" }} + {{- if eq $gateway.serviceType "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.gateway.serviceType }} - {{- if .Values.gateway.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.gateway.externalTrafficPolicy }} + type: {{ $gateway.serviceType }} + {{- if $gateway.externalTrafficPolicy }} + externalTrafficPolicy: {{ $gateway.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/templates/gateway/vald/configmap.yaml b/charts/vald/templates/gateway/vald/configmap.yaml index 74a74b2740..cef437c3a1 100644 --- a/charts/vald/templates/gateway/vald/configmap.yaml +++ b/charts/vald/templates/gateway/vald/configmap.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.vald -}} +{{- if $gateway.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.gateway.name }}-config + name: {{ $gateway.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -28,48 +29,48 @@ metadata: data: config.yaml: | --- - version: {{ .Values.gateway.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.gateway.time_zone }} + version: {{ $gateway.version }} + time_zone: {{ default .Values.defaults.time_zone $gateway.time_zone }} logging: - {{- $logging := dict "Values" .Values.gateway.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $gateway.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.gateway.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $gateway.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} gateway: agent_port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.agent.server_config.servers.grpc.port }} agent_name: {{ .Values.agent.name | quote }} agent_dns: {{ .Values.agent.name }}.{{ .Release.Namespace }}.svc.cluster.local - agent_namespace: {{ .Values.gateway.gateway_config.agent_namespace | quote }} - node_name: {{ .Values.gateway.gateway_config.node_name | quote }} - index_replica: {{ .Values.gateway.gateway_config.index_replica }} + agent_namespace: {{ $gateway.gateway_config.agent_namespace | quote }} + node_name: {{ $gateway.gateway_config.node_name | quote }} + index_replica: {{ $gateway.gateway_config.index_replica }} discoverer: host: {{ .Values.discoverer.name }}.{{ .Release.Namespace }}.svc.cluster.local port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.discoverer.server_config.servers.grpc.port }} - duration: {{ .Values.gateway.gateway_config.discoverer.duration }} + duration: {{ $gateway.gateway_config.discoverer.duration }} discover_client: - {{- $discoverClient := dict "Values" .Values.gateway.gateway_config.discoverer.discover_client "default" .Values.defaults.grpc.client }} + {{- $discoverClient := dict "Values" $gateway.gateway_config.discoverer.discover_client "default" .Values.defaults.grpc.client }} {{- include "vald.grpc.client" $discoverClient | nindent 10 }} agent_client: - {{- $agentClient := dict "Values" .Values.gateway.gateway_config.discoverer.agent_client "default" .Values.defaults.grpc.client }} + {{- $agentClient := dict "Values" $gateway.gateway_config.discoverer.agent_client "default" .Values.defaults.grpc.client }} {{- include "vald.grpc.client" $agentClient | nindent 10 }} meta: host: {{ .Values.meta.name }}.{{ .Release.Namespace }}.svc.cluster.local port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.meta.server_config.servers.grpc.port }} client: - {{- $metaClient := dict "Values" .Values.gateway.gateway_config.meta.client "default" .Values.defaults.grpc.client }} + {{- $metaClient := dict "Values" $gateway.gateway_config.meta.client "default" .Values.defaults.grpc.client }} {{- include "vald.grpc.client" $metaClient | nindent 10 }} - enable_cache: {{ .Values.gateway.gateway_config.meta.enable_cache }} - cache_expiration: {{ .Values.gateway.gateway_config.meta.cache_expiration }} - expired_cache_check_duration: {{ .Values.gateway.gateway_config.meta.expired_cache_check_duration }} + enable_cache: {{ $gateway.gateway_config.meta.enable_cache }} + cache_expiration: {{ $gateway.gateway_config.meta.cache_expiration }} + expired_cache_check_duration: {{ $gateway.gateway_config.meta.expired_cache_check_duration }} backup: - host: {{ .Values.compressor.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.compressor.server_config.servers.grpc.port }} + host: {{ .Values.manager.compressor.name }}.{{ .Release.Namespace }}.svc.cluster.local + port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.manager.compressor.server_config.servers.grpc.port }} client: - {{- $backupClient := dict "Values" .Values.gateway.gateway_config.backup.client "default" .Values.defaults.grpc.client }} + {{- $backupClient := dict "Values" $gateway.gateway_config.backup.client "default" .Values.defaults.grpc.client }} {{- include "vald.grpc.client" $backupClient | nindent 10 }} egress_filter: client: null diff --git a/charts/vald/templates/gateway/vald/daemonset.yaml b/charts/vald/templates/gateway/vald/daemonset.yaml index ec9c5bb470..577b48ab48 100644 --- a/charts/vald/templates/gateway/vald/daemonset.yaml +++ b/charts/vald/templates/gateway/vald/daemonset.yaml @@ -13,104 +13,105 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled (eq .Values.gateway.kind "DaemonSet") }} +{{- $gateway := .Values.gateway.vald -}} +{{- if and $gateway.enabled (eq $gateway.kind "DaemonSet") }} apiVersion: apps/v1 kind: DaemonSet metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: gateway - {{- if .Values.gateway.annotations }} + {{- if $gateway.annotations }} annotations: - {{- toYaml .Values.gateway.annotations | nindent 4 }} + {{- toYaml $gateway.annotations | nindent 4 }} {{- end }} spec: - revisionHistoryLimit: {{ .Values.gateway.revisionHistoryLimit }} + revisionHistoryLimit: {{ $gateway.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} updateStrategy: rollingUpdate: - maxUnavailable: {{ .Values.gateway.rollingUpdate.maxUnavailable }} + maxUnavailable: {{ $gateway.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: gateway annotations: checksum/configmap: {{ include (print $.Template.BasePath "/gateway/vald/configmap.yaml") . | sha256sum }} - {{- if .Values.gateway.podAnnotations }} - {{- toYaml .Values.gateway.podAnnotations | nindent 8 }} + {{- if $gateway.podAnnotations }} + {{- toYaml $gateway.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.gateway.initContainers }} + {{- if $gateway.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.gateway.affinity | nindent 8 }} - {{- if .Values.gateway.topologySpreadConstraints }} + {{- include "vald.affinity" $gateway.affinity | nindent 8 }} + {{- if $gateway.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.gateway.topologySpreadConstraints | nindent 8 }} + {{- toYaml $gateway.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.gateway.name }} - image: "{{ .Values.gateway.image.repository }}:{{ default .Values.defaults.image.tag .Values.gateway.image.tag }}" - imagePullPolicy: {{ .Values.gateway.image.pullPolicy }} - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config -}} + - name: {{ $gateway.name }} + image: "{{ $gateway.image.repository }}:{{ default .Values.defaults.image.tag $gateway.image.tag }}" + imagePullPolicy: {{ $gateway.image.pullPolicy }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.gateway.resources | nindent 12 }} + {{- toYaml $gateway.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.gateway.env }} + {{- if $gateway.env }} env: - {{- toYaml .Values.gateway.env | nindent 12 }} + {{- toYaml $gateway.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config mountPath: /etc/server/ - {{- if .Values.gateway.volumeMounts }} - {{- toYaml .Values.gateway.volumeMounts | nindent 12 }} + {{- if $gateway.volumeMounts }} + {{- toYaml $gateway.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.gateway.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $gateway.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config configMap: defaultMode: 420 - name: {{ .Values.gateway.name }}-config - {{- if .Values.gateway.volumes }} - {{- toYaml .Values.gateway.volumes | nindent 8 }} + name: {{ $gateway.name }}-config + {{- if $gateway.volumes }} + {{- toYaml $gateway.volumes | nindent 8 }} {{- end }} - {{- if .Values.gateway.nodeName }} - nodeName: {{ .Values.gateway.nodeName }} + {{- if $gateway.nodeName }} + nodeName: {{ $gateway.nodeName }} {{- end }} - {{- if .Values.gateway.nodeSelector }} + {{- if $gateway.nodeSelector }} nodeSelector: - {{- toYaml .Values.gateway.nodeSelector | nindent 8 }} + {{- toYaml $gateway.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.gateway.tolerations }} + {{- if $gateway.tolerations }} tolerations: - {{- toYaml .Values.gateway.tolerations | nindent 8 }} + {{- toYaml $gateway.tolerations | nindent 8 }} {{- end }} - {{- if .Values.gateway.podPriority }} - {{- if .Values.gateway.podPriority.enabled }} - priorityClassName: {{ .Values.gateway.name }}-priority + {{- if $gateway.podPriority }} + {{- if $gateway.podPriority.enabled }} + priorityClassName: {{ $gateway.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/gateway/vald/deployment.yaml b/charts/vald/templates/gateway/vald/deployment.yaml index a44c317e1c..c18962b218 100644 --- a/charts/vald/templates/gateway/vald/deployment.yaml +++ b/charts/vald/templates/gateway/vald/deployment.yaml @@ -13,109 +13,110 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled (eq .Values.gateway.kind "Deployment") }} +{{- $gateway := .Values.gateway.vald -}} +{{- if and $gateway.enabled (eq $gateway.kind "Deployment") }} apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: gateway - {{- if .Values.gateway.annotations }} + {{- if $gateway.annotations }} annotations: - {{- toYaml .Values.gateway.annotations | nindent 4 }} + {{- toYaml $gateway.annotations | nindent 4 }} {{- end }} spec: - progressDeadlineSeconds: {{ .Values.gateway.progressDeadlineSeconds }} - {{- if not .Values.gateway.hpa.enabled }} - replicas: {{ .Values.gateway.minReplicas }} + progressDeadlineSeconds: {{ $gateway.progressDeadlineSeconds }} + {{- if not $gateway.hpa.enabled }} + replicas: {{ $gateway.minReplicas }} {{- end }} - revisionHistoryLimit: {{ .Values.gateway.revisionHistoryLimit }} + revisionHistoryLimit: {{ $gateway.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} strategy: rollingUpdate: - maxSurge: {{ .Values.gateway.rollingUpdate.maxSurge }} - maxUnavailable: {{ .Values.gateway.rollingUpdate.maxUnavailable }} + maxSurge: {{ $gateway.rollingUpdate.maxSurge }} + maxUnavailable: {{ $gateway.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: gateway annotations: checksum/configmap: {{ include (print $.Template.BasePath "/gateway/vald/configmap.yaml") . | sha256sum }} - {{- if .Values.gateway.podAnnotations }} - {{- toYaml .Values.gateway.podAnnotations | nindent 8 }} + {{- if $gateway.podAnnotations }} + {{- toYaml $gateway.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.gateway.initContainers }} + {{- if $gateway.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $gateway.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.gateway.affinity | nindent 8 }} - {{- if .Values.gateway.topologySpreadConstraints }} + {{- include "vald.affinity" $gateway.affinity | nindent 8 }} + {{- if $gateway.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.gateway.topologySpreadConstraints | nindent 8 }} + {{- toYaml $gateway.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.gateway.name }} - image: "{{ .Values.gateway.image.repository }}:{{ default .Values.defaults.image.tag .Values.gateway.image.tag }}" - imagePullPolicy: {{ .Values.gateway.image.pullPolicy }} - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config -}} + - name: {{ $gateway.name }} + image: "{{ $gateway.image.repository }}:{{ default .Values.defaults.image.tag $gateway.image.tag }}" + imagePullPolicy: {{ $gateway.image.pullPolicy }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.gateway.resources | nindent 12 }} + {{- toYaml $gateway.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.gateway.env }} + {{- if $gateway.env }} env: - {{- toYaml .Values.gateway.env | nindent 12 }} + {{- toYaml $gateway.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config mountPath: /etc/server/ - {{- if .Values.gateway.volumeMounts }} - {{- toYaml .Values.gateway.volumeMounts | nindent 12 }} + {{- if $gateway.volumeMounts }} + {{- toYaml $gateway.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.gateway.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $gateway.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.gateway.name }}-config + - name: {{ $gateway.name }}-config configMap: defaultMode: 420 - name: {{ .Values.gateway.name }}-config - {{- if .Values.gateway.volumes }} - {{- toYaml .Values.gateway.volumes | nindent 8 }} + name: {{ $gateway.name }}-config + {{- if $gateway.volumes }} + {{- toYaml $gateway.volumes | nindent 8 }} {{- end }} - {{- if .Values.gateway.nodeName }} - nodeName: {{ .Values.gateway.nodeName }} + {{- if $gateway.nodeName }} + nodeName: {{ $gateway.nodeName }} {{- end }} - {{- if .Values.gateway.nodeSelector }} + {{- if $gateway.nodeSelector }} nodeSelector: - {{- toYaml .Values.gateway.nodeSelector | nindent 8 }} + {{- toYaml $gateway.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.gateway.tolerations }} + {{- if $gateway.tolerations }} tolerations: - {{- toYaml .Values.gateway.tolerations | nindent 8 }} + {{- toYaml $gateway.tolerations | nindent 8 }} {{- end }} - {{- if .Values.gateway.podPriority }} - {{- if .Values.gateway.podPriority.enabled }} - priorityClassName: {{ .Values.gateway.name }}-priority + {{- if $gateway.podPriority }} + {{- if $gateway.podPriority.enabled }} + priorityClassName: {{ $gateway.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/gateway/vald/hpa.yaml b/charts/vald/templates/gateway/vald/hpa.yaml index 144538a892..88a522173b 100644 --- a/charts/vald/templates/gateway/vald/hpa.yaml +++ b/charts/vald/templates/gateway/vald/hpa.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.hpa.enabled }} +{{- $gateway := .Values.gateway.vald -}} +{{- if and $gateway.enabled $gateway.hpa.enabled }} apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,12 +27,12 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: gateway spec: - maxReplicas: {{ .Values.gateway.maxReplicas }} - minReplicas: {{ .Values.gateway.minReplicas }} + maxReplicas: {{ $gateway.maxReplicas }} + minReplicas: {{ $gateway.minReplicas }} scaleTargetRef: apiVersion: apps/v1 - kind: {{ .Values.gateway.kind }} - name: {{ .Values.gateway.name }} - targetCPUUtilizationPercentage: {{ .Values.gateway.hpa.targetCPUUtilizationPercentage }} + kind: {{ $gateway.kind }} + name: {{ $gateway.name }} + targetCPUUtilizationPercentage: {{ $gateway.hpa.targetCPUUtilizationPercentage }} status: {{- end }} diff --git a/charts/vald/templates/gateway/vald/ing.yaml b/charts/vald/templates/gateway/vald/ing.yaml index cb113a496f..90cb0ba8ea 100644 --- a/charts/vald/templates/gateway/vald/ing.yaml +++ b/charts/vald/templates/gateway/vald/ing.yaml @@ -13,29 +13,29 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.ingress.enabled }} +{{- $gateway := .Values.gateway.vald -}} +{{- if and $gateway.enabled $gateway.ingress.enabled }} apiVersion: networking.k8s.io/v1beta1 -# apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: - {{- toYaml .Values.gateway.ingress.annotations | nindent 4 }} + {{- toYaml $gateway.ingress.annotations | nindent 4 }} labels: - name: {{ .Values.gateway.name }}-ingress - app: {{ .Values.gateway.name }}-ingress + name: {{ $gateway.name }}-ingress + app: {{ $gateway.name }}-ingress app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: gateway - name: {{ .Values.gateway.name }}-ingress + name: {{ $gateway.name }}-ingress spec: rules: - - host: {{ .Values.gateway.ingress.host }} + - host: {{ $gateway.ingress.host }} http: paths: - backend: - serviceName: {{ .Values.gateway.name }} - servicePort: {{ .Values.gateway.ingress.servicePort }} + serviceName: {{ $gateway.name }} + servicePort: {{ $gateway.ingress.servicePort }} {{- end }} diff --git a/charts/vald/templates/gateway/vald/pdb.yaml b/charts/vald/templates/gateway/vald/pdb.yaml index 7fd1c9e223..41fcfcb497 100644 --- a/charts/vald/templates/gateway/vald/pdb.yaml +++ b/charts/vald/templates/gateway/vald/pdb.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.vald -}} +{{- if $gateway.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: - name: {{ .Values.gateway.name }} + name: {{ $gateway.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,8 +27,8 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: gateway spec: - maxUnavailable: {{ .Values.gateway.maxUnavailable }} + maxUnavailable: {{ $gateway.maxUnavailable }} selector: matchLabels: - app: {{ .Values.gateway.name }} + app: {{ $gateway.name }} {{- end }} diff --git a/charts/vald/templates/gateway/vald/priorityclass.yaml b/charts/vald/templates/gateway/vald/priorityclass.yaml index 2386775dfe..fd6496bce7 100644 --- a/charts/vald/templates/gateway/vald/priorityclass.yaml +++ b/charts/vald/templates/gateway/vald/priorityclass.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.gateway.enabled .Values.gateway.podPriority.enabled }} +{{- $gateway := .Values.gateway.vald -}} +{{- if and $gateway.enabled $gateway.podPriority.enabled }} apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: - name: {{ .Values.gateway.name }}-priority + name: {{ $gateway.name }}-priority labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -25,7 +26,7 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: gateway -value: {{ .Values.gateway.podPriority.value }} +value: {{ $gateway.podPriority.value }} globalDefault: false description: "A priority class for Vald gateway." {{- end }} diff --git a/charts/vald/templates/gateway/vald/svc.yaml b/charts/vald/templates/gateway/vald/svc.yaml index 8cb9cbc02b..96bdd3a7af 100644 --- a/charts/vald/templates/gateway/vald/svc.yaml +++ b/charts/vald/templates/gateway/vald/svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.gateway.enabled }} +{{- $gateway := .Values.gateway.vald -}} +{{- if $gateway.enabled }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.gateway.name }} - {{- if .Values.gateway.service.annotations }} + name: {{ $gateway.name }} + {{- if $gateway.service.annotations }} annotations: - {{- toYaml .Values.gateway.service.annotations | nindent 4 }} + {{- toYaml $gateway.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -29,20 +30,20 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: gateway - {{- if .Values.gateway.service.labels }} - {{- toYaml .Values.gateway.service.labels | nindent 4 }} + {{- if $gateway.service.labels }} + {{- toYaml $gateway.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.gateway.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $gateway.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: gateway - {{- if eq .Values.gateway.serviceType "ClusterIP" }} + {{- if eq $gateway.serviceType "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.gateway.serviceType }} - {{- if .Values.gateway.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.gateway.externalTrafficPolicy }} + type: {{ $gateway.serviceType }} + {{- if $gateway.externalTrafficPolicy }} + externalTrafficPolicy: {{ $gateway.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/templates/manager/backup/configmap.yaml b/charts/vald/templates/manager/backup/configmap.yaml index 7499f7efed..93c9c7b9e4 100644 --- a/charts/vald/templates/manager/backup/configmap.yaml +++ b/charts/vald/templates/manager/backup/configmap.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.backupManager.enabled }} +{{- $backup := .Values.manager.backup -}} +{{- if $backup.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.backupManager.name }}-config + name: {{ $backup.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -28,23 +29,23 @@ metadata: data: config.yaml: | --- - version: {{ .Values.backupManager.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.backupManager.time_zone }} + version: {{ $backup.version }} + time_zone: {{ default .Values.defaults.time_zone $backup.time_zone }} logging: - {{- $logging := dict "Values" .Values.backupManager.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $backup.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.backupManager.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $backup.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.backupManager.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $backup.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} - {{- if .Values.backupManager.mysql.enabled }} + {{- if $backup.mysql.enabled }} mysql_config: - {{- toYaml .Values.backupManager.mysql.config | nindent 6 }} + {{- toYaml $backup.mysql.config | nindent 6 }} {{- end }} - {{- if .Values.backupManager.cassandra.enabled }} + {{- if $backup.cassandra.enabled }} cassandra_config: - {{- toYaml .Values.backupManager.cassandra.config | nindent 6 }} + {{- toYaml $backup.cassandra.config | nindent 6 }} {{- end }} {{- end }} diff --git a/charts/vald/templates/manager/backup/daemonset.yaml b/charts/vald/templates/manager/backup/daemonset.yaml index 5a1ccc8577..7d7c8bbedb 100644 --- a/charts/vald/templates/manager/backup/daemonset.yaml +++ b/charts/vald/templates/manager/backup/daemonset.yaml @@ -13,104 +13,105 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.backupManager.enabled (eq .Values.backupManager.kind "DaemonSet") }} +{{- $backup := .Values.manager.backup -}} +{{- if and $backup.enabled (eq $backup.kind "DaemonSet") }} apiVersion: apps/v1 kind: DaemonSet metadata: - name: {{ .Values.backupManager.name }} + name: {{ $backup.name }} labels: - app: {{ .Values.backupManager.name }} + app: {{ $backup.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-backup - {{- if .Values.backupManager.annotations }} + {{- if $backup.annotations }} annotations: - {{- toYaml .Values.backupManager.annotations | nindent 4 }} + {{- toYaml $backup.annotations | nindent 4 }} {{- end }} spec: - revisionHistoryLimit: {{ .Values.backupManager.revisionHistoryLimit }} + revisionHistoryLimit: {{ $backup.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.backupManager.name }} + app: {{ $backup.name }} updateStrategy: rollingUpdate: - maxUnavailable: {{ .Values.backupManager.rollingUpdate.maxUnavailable }} + maxUnavailable: {{ $backup.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.backupManager.name }} + app: {{ $backup.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: manager-backup annotations: checksum/configmap: {{ include (print $.Template.BasePath "/manager/backup/configmap.yaml") . | sha256sum }} - {{- if .Values.backupManager.podAnnotations }} - {{- toYaml .Values.backupManager.podAnnotations | nindent 8 }} + {{- if $backup.podAnnotations }} + {{- toYaml $backup.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.backupManager.initContainers }} + {{- if $backup.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.backupManager.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $backup.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.backupManager.affinity | nindent 8 }} - {{- if .Values.backupManager.topologySpreadConstraints }} + {{- include "vald.affinity" $backup.affinity | nindent 8 }} + {{- if $backup.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.backupManager.topologySpreadConstraints | nindent 8 }} + {{- toYaml $backup.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.backupManager.name }} - image: "{{ .Values.backupManager.image.repository }}:{{ default .Values.defaults.image.tag .Values.backupManager.image.tag }}" - imagePullPolicy: {{ .Values.backupManager.image.pullPolicy }} - {{- $servers := dict "Values" .Values.backupManager.server_config "default" .Values.defaults.server_config -}} + - name: {{ $backup.name }} + image: "{{ $backup.image.repository }}:{{ default .Values.defaults.image.tag $backup.image.tag }}" + imagePullPolicy: {{ $backup.image.pullPolicy }} + {{- $servers := dict "Values" $backup.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.backupManager.resources | nindent 12 }} + {{- toYaml $backup.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.backupManager.env }} + {{- if $backup.env }} env: - {{- toYaml .Values.backupManager.env | nindent 12 }} + {{- toYaml $backup.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.backupManager.name }}-config + - name: {{ $backup.name }}-config mountPath: /etc/server/ - {{- if .Values.backupManager.volumeMounts }} - {{- toYaml .Values.backupManager.volumeMounts | nindent 12 }} + {{- if $backup.volumeMounts }} + {{- toYaml $backup.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.backupManager.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $backup.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.backupManager.name }}-config + - name: {{ $backup.name }}-config configMap: defaultMode: 420 - name: {{ .Values.backupManager.name }}-config - {{- if .Values.backupManager.volumes }} - {{- toYaml .Values.backupManager.volumes | nindent 8 }} + name: {{ $backup.name }}-config + {{- if $backup.volumes }} + {{- toYaml $backup.volumes | nindent 8 }} {{- end }} - {{- if .Values.backupManager.nodeName }} - nodeName: {{ .Values.backupManager.nodeName }} + {{- if $backup.nodeName }} + nodeName: {{ $backup.nodeName }} {{- end }} - {{- if .Values.backupManager.nodeSelector }} + {{- if $backup.nodeSelector }} nodeSelector: - {{- toYaml .Values.backupManager.nodeSelector | nindent 8 }} + {{- toYaml $backup.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.backupManager.tolerations }} + {{- if $backup.tolerations }} tolerations: - {{- toYaml .Values.backupManager.tolerations | nindent 8 }} + {{- toYaml $backup.tolerations | nindent 8 }} {{- end }} - {{- if .Values.backupManager.podPriority }} - {{- if .Values.backupManager.podPriority.enabled }} - priorityClassName: {{ .Values.backupManager.name }}-priority + {{- if $backup.podPriority }} + {{- if $backup.podPriority.enabled }} + priorityClassName: {{ $backup.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/manager/backup/deployment.yaml b/charts/vald/templates/manager/backup/deployment.yaml index 5673c6c37c..c8fbd230c9 100644 --- a/charts/vald/templates/manager/backup/deployment.yaml +++ b/charts/vald/templates/manager/backup/deployment.yaml @@ -13,109 +13,110 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.backupManager.enabled (eq .Values.backupManager.kind "Deployment") }} +{{- $backup := .Values.manager.backup -}} +{{- if and $backup.enabled (eq $backup.kind "Deployment") }} apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .Values.backupManager.name }} + name: {{ $backup.name }} labels: - app: {{ .Values.backupManager.name }} + app: {{ $backup.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-backup - {{- if .Values.backupManager.annotations }} + {{- if $backup.annotations }} annotations: - {{- toYaml .Values.backupManager.annotations | nindent 4 }} + {{- toYaml $backup.annotations | nindent 4 }} {{- end }} spec: - progressDeadlineSeconds: {{ .Values.backupManager.progressDeadlineSeconds }} - {{- if not .Values.backupManager.hpa.enabled }} - replicas: {{ .Values.backupManager.minReplicas }} + progressDeadlineSeconds: {{ $backup.progressDeadlineSeconds }} + {{- if not $backup.hpa.enabled }} + replicas: {{ $backup.minReplicas }} {{- end }} - revisionHistoryLimit: {{ .Values.backupManager.revisionHistoryLimit }} + revisionHistoryLimit: {{ $backup.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.backupManager.name }} + app: {{ $backup.name }} strategy: rollingUpdate: - maxSurge: {{ .Values.backupManager.rollingUpdate.maxSurge }} - maxUnavailable: {{ .Values.backupManager.rollingUpdate.maxUnavailable }} + maxSurge: {{ $backup.rollingUpdate.maxSurge }} + maxUnavailable: {{ $backup.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.backupManager.name }} + app: {{ $backup.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: manager-backup annotations: checksum/configmap: {{ include (print $.Template.BasePath "/manager/backup/configmap.yaml") . | sha256sum }} - {{- if .Values.backupManager.podAnnotations }} - {{- toYaml .Values.backupManager.podAnnotations | nindent 8 }} + {{- if $backup.podAnnotations }} + {{- toYaml $backup.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.backupManager.initContainers }} + {{- if $backup.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.backupManager.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $backup.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.backupManager.affinity | nindent 8 }} - {{- if .Values.backupManager.topologySpreadConstraints }} + {{- include "vald.affinity" $backup.affinity | nindent 8 }} + {{- if $backup.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.backupManager.topologySpreadConstraints | nindent 8 }} + {{- toYaml $backup.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.backupManager.name }} - image: "{{ .Values.backupManager.image.repository }}:{{ default .Values.defaults.image.tag .Values.backupManager.image.tag }}" - imagePullPolicy: {{ .Values.backupManager.image.pullPolicy }} - {{- $servers := dict "Values" .Values.backupManager.server_config "default" .Values.defaults.server_config -}} + - name: {{ $backup.name }} + image: "{{ $backup.image.repository }}:{{ default .Values.defaults.image.tag $backup.image.tag }}" + imagePullPolicy: {{ $backup.image.pullPolicy }} + {{- $servers := dict "Values" $backup.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.backupManager.resources | nindent 12 }} + {{- toYaml $backup.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.backupManager.env }} + {{- if $backup.env }} env: - {{- toYaml .Values.backupManager.env | nindent 12 }} + {{- toYaml $backup.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.backupManager.name }}-config + - name: {{ $backup.name }}-config mountPath: /etc/server/ - {{- if .Values.backupManager.volumeMounts }} - {{- toYaml .Values.backupManager.volumeMounts | nindent 12 }} + {{- if $backup.volumeMounts }} + {{- toYaml $backup.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.backupManager.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $backup.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.backupManager.name }}-config + - name: {{ $backup.name }}-config configMap: defaultMode: 420 - name: {{ .Values.backupManager.name }}-config - {{- if .Values.backupManager.volumes }} - {{- toYaml .Values.backupManager.volumes | nindent 8 }} + name: {{ $backup.name }}-config + {{- if $backup.volumes }} + {{- toYaml $backup.volumes | nindent 8 }} {{- end }} - {{- if .Values.backupManager.nodeName }} - nodeName: {{ .Values.backupManager.nodeName }} + {{- if $backup.nodeName }} + nodeName: {{ $backup.nodeName }} {{- end }} - {{- if .Values.backupManager.nodeSelector }} + {{- if $backup.nodeSelector }} nodeSelector: - {{- toYaml .Values.backupManager.nodeSelector | nindent 8 }} + {{- toYaml $backup.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.backupManager.tolerations }} + {{- if $backup.tolerations }} tolerations: - {{- toYaml .Values.backupManager.tolerations | nindent 8 }} + {{- toYaml $backup.tolerations | nindent 8 }} {{- end }} - {{- if .Values.backupManager.podPriority }} - {{- if .Values.backupManager.podPriority.enabled }} - priorityClassName: {{ .Values.backupManager.name }}-priority + {{- if $backup.podPriority }} + {{- if $backup.podPriority.enabled }} + priorityClassName: {{ $backup.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/manager/backup/hpa.yaml b/charts/vald/templates/manager/backup/hpa.yaml index 25d5ec7cd9..ee77aa1e32 100644 --- a/charts/vald/templates/manager/backup/hpa.yaml +++ b/charts/vald/templates/manager/backup/hpa.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.backupManager.enabled .Values.backupManager.hpa.enabled }} +{{- $backup := .Values.manager.backup -}} +{{- if and $backup.enabled $backup.hpa.enabled }} apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ .Values.backupManager.name }} + name: {{ $backup.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,12 +27,12 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-backup spec: - maxReplicas: {{ .Values.backupManager.maxReplicas }} - minReplicas: {{ .Values.backupManager.minReplicas }} + maxReplicas: {{ $backup.maxReplicas }} + minReplicas: {{ $backup.minReplicas }} scaleTargetRef: apiVersion: apps/v1 - kind: {{ .Values.backupManager.kind }} - name: {{ .Values.backupManager.name }} - targetCPUUtilizationPercentage: {{ .Values.backupManager.hpa.targetCPUUtilizationPercentage }} + kind: {{ $backup.kind }} + name: {{ $backup.name }} + targetCPUUtilizationPercentage: {{ $backup.hpa.targetCPUUtilizationPercentage }} status: {{- end }} diff --git a/charts/vald/templates/manager/backup/pdb.yaml b/charts/vald/templates/manager/backup/pdb.yaml index 2bbea1a7ee..3c29bd2d1f 100644 --- a/charts/vald/templates/manager/backup/pdb.yaml +++ b/charts/vald/templates/manager/backup/pdb.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.backupManager.enabled }} +{{- $backup := .Values.manager.backup -}} +{{- if $backup.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: - name: {{ .Values.backupManager.name }} + name: {{ $backup.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,8 +27,8 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-backup spec: - maxUnavailable: {{ .Values.backupManager.maxUnavailable }} + maxUnavailable: {{ $backup.maxUnavailable }} selector: matchLabels: - app: {{ .Values.backupManager.name }} + app: {{ $backup.name }} {{- end }} diff --git a/charts/vald/templates/manager/backup/priorityclass.yaml b/charts/vald/templates/manager/backup/priorityclass.yaml index c0b02e4752..3d40a81058 100644 --- a/charts/vald/templates/manager/backup/priorityclass.yaml +++ b/charts/vald/templates/manager/backup/priorityclass.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.backupManager.enabled .Values.backupManager.podPriority.enabled }} +{{- $backup := .Values.manager.backup -}} +{{- if and $backup.enabled $backup.podPriority.enabled }} apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: - name: {{ .Values.backupManager.name }}-priority + name: {{ $backup.name }}-priority labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -25,7 +26,7 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-backup -value: {{ .Values.backupManager.podPriority.value }} +value: {{ $backup.podPriority.value }} globalDefault: false -description: "A priority class for Vald backupManager." +description: "A priority class for Vald backup manager." {{- end }} diff --git a/charts/vald/templates/manager/backup/svc.yaml b/charts/vald/templates/manager/backup/svc.yaml index 5538452dfb..2e87952af1 100644 --- a/charts/vald/templates/manager/backup/svc.yaml +++ b/charts/vald/templates/manager/backup/svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.backupManager.enabled }} +{{- $backup := .Values.manager.backup -}} +{{- if $backup.enabled }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.backupManager.name }} - {{- if .Values.backupManager.service.annotations }} + name: {{ $backup.name }} + {{- if $backup.service.annotations }} annotations: - {{- toYaml .Values.backupManager.service.annotations | nindent 4 }} + {{- toYaml $backup.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -29,20 +30,20 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-backup - {{- if .Values.backupManager.service.labels }} - {{- toYaml .Values.backupManager.service.labels | nindent 4 }} + {{- if $backup.service.labels }} + {{- toYaml $backup.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.backupManager.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $backup.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: manager-backup - {{- if eq .Values.backupManager.serviceType "ClusterIP" }} + {{- if eq $backup.serviceType "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.backupManager.serviceType }} - {{- if .Values.backupManager.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.backupManager.externalTrafficPolicy }} + type: {{ $backup.serviceType }} + {{- if $backup.externalTrafficPolicy }} + externalTrafficPolicy: {{ $backup.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/templates/manager/compressor/configmap.yaml b/charts/vald/templates/manager/compressor/configmap.yaml index 2114952dcc..4f05a3da6c 100644 --- a/charts/vald/templates/manager/compressor/configmap.yaml +++ b/charts/vald/templates/manager/compressor/configmap.yaml @@ -13,11 +13,13 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.compressor.enabled }} +{{- $compressor := .Values.manager.compressor -}} +{{- $backup := .Values.manager.backup -}} +{{- if $compressor.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.compressor.name }}-config + name: {{ $compressor.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -28,35 +30,35 @@ metadata: data: config.yaml: | --- - version: {{ .Values.compressor.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.compressor.time_zone }} + version: {{ $compressor.version }} + time_zone: {{ default .Values.defaults.time_zone $compressor.time_zone }} logging: - {{- $logging := dict "Values" .Values.compressor.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $compressor.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.compressor.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $compressor.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.compressor.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $compressor.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} backup: - host: {{ .Values.backupManager.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.backupManager.server_config.servers.grpc.port }} + host: {{ $backup.name }}.{{ .Release.Namespace }}.svc.cluster.local + port: {{ default .Values.defaults.server_config.servers.grpc.port $backup.server_config.servers.grpc.port }} client: - {{- $backupClient := dict "Values" .Values.compressor.backup.client "default" .Values.defaults.grpc.client }} + {{- $backupClient := dict "Values" $compressor.backup.client "default" .Values.defaults.grpc.client }} {{- include "vald.grpc.client" $backupClient | nindent 8 }} compressor: - compress_algorithm: {{ .Values.compressor.compress.compress_algorithm | quote }} - compression_level: {{ .Values.compressor.compress.compression_level }} - concurrent_limit: {{ .Values.compressor.compress.concurrent_limit }} - queue_check_duration: {{ .Values.compressor.compress.queue_check_duration }} + compress_algorithm: {{ $compressor.compress.compress_algorithm | quote }} + compression_level: {{ $compressor.compress.compression_level }} + concurrent_limit: {{ $compressor.compress.concurrent_limit }} + queue_check_duration: {{ $compressor.compress.queue_check_duration }} registerer: - concurrent_limit: {{ .Values.compressor.registerer.concurrent_limit }} - queue_check_duration: {{ .Values.compressor.registerer.queue_check_duration }} + concurrent_limit: {{ $compressor.registerer.concurrent_limit }} + queue_check_duration: {{ $compressor.registerer.queue_check_duration }} compressor: - host: {{ .Values.compressor.name }}.{{ .Release.Namespace }}.svc.cluster.local - port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.compressor.server_config.servers.grpc.port }} + host: {{ $compressor.name }}.{{ .Release.Namespace }}.svc.cluster.local + port: {{ default .Values.defaults.server_config.servers.grpc.port $compressor.server_config.servers.grpc.port }} client: - {{- $compressorClient := dict "Values" .Values.compressor.registerer.compressor.client "default" .Values.defaults.grpc.client }} + {{- $compressorClient := dict "Values" $compressor.registerer.compressor.client "default" .Values.defaults.grpc.client }} {{- include "vald.grpc.client" $compressorClient | nindent 12 }} {{- end }} diff --git a/charts/vald/templates/manager/compressor/daemonset.yaml b/charts/vald/templates/manager/compressor/daemonset.yaml index 290ebee446..014e818d22 100644 --- a/charts/vald/templates/manager/compressor/daemonset.yaml +++ b/charts/vald/templates/manager/compressor/daemonset.yaml @@ -13,104 +13,105 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.compressor.enabled (eq .Values.compressor.kind "DaemonSet") }} +{{- $compressor := .Values.manager.compressor -}} +{{- if and $compressor.enabled (eq $compressor.kind "DaemonSet") }} apiVersion: apps/v1 kind: DaemonSet metadata: - name: {{ .Values.compressor.name }} + name: {{ $compressor.name }} labels: - app: {{ .Values.compressor.name }} + app: {{ $compressor.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-compressor - {{- if .Values.compressor.annotations }} + {{- if $compressor.annotations }} annotations: - {{- toYaml .Values.compressor.annotations | nindent 4 }} + {{- toYaml $compressor.annotations | nindent 4 }} {{- end }} spec: - revisionHistoryLimit: {{ .Values.compressor.revisionHistoryLimit }} + revisionHistoryLimit: {{ $compressor.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.compressor.name }} + app: {{ $compressor.name }} updateStrategy: rollingUpdate: - maxUnavailable: {{ .Values.compressor.rollingUpdate.maxUnavailable }} + maxUnavailable: {{ $compressor.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.compressor.name }} + app: {{ $compressor.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: manager-compressor annotations: checksum/configmap: {{ include (print $.Template.BasePath "/manager/compressor/configmap.yaml") . | sha256sum }} - {{- if .Values.compressor.podAnnotations }} - {{- toYaml .Values.compressor.podAnnotations | nindent 8 }} + {{- if $compressor.podAnnotations }} + {{- toYaml $compressor.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.compressor.initContainers }} + {{- if $compressor.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.compressor.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $compressor.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.compressor.affinity | nindent 8 }} - {{- if .Values.compressor.topologySpreadConstraints }} + {{- include "vald.affinity" $compressor.affinity | nindent 8 }} + {{- if $compressor.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.compressor.topologySpreadConstraints | nindent 8 }} + {{- toYaml $compressor.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.compressor.name }} - image: "{{ .Values.compressor.image.repository }}:{{ default .Values.defaults.image.tag .Values.compressor.image.tag }}" - imagePullPolicy: {{ .Values.compressor.image.pullPolicy }} - {{- $servers := dict "Values" .Values.compressor.server_config "default" .Values.defaults.server_config -}} + - name: {{ $compressor.name }} + image: "{{ $compressor.image.repository }}:{{ default .Values.defaults.image.tag $compressor.image.tag }}" + imagePullPolicy: {{ $compressor.image.pullPolicy }} + {{- $servers := dict "Values" $compressor.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.compressor.resources | nindent 12 }} + {{- toYaml $compressor.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.compressor.env }} + {{- if $compressor.env }} env: - {{- toYaml .Values.compressor.env | nindent 12 }} + {{- toYaml $compressor.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.compressor.name }}-config + - name: {{ $compressor.name }}-config mountPath: /etc/server/ - {{- if .Values.compressor.volumeMounts }} - {{- toYaml .Values.compressor.volumeMounts | nindent 12 }} + {{- if $compressor.volumeMounts }} + {{- toYaml $compressor.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.compressor.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $compressor.terminationGracePeriodSeconds }} volumes: - configMap: defaultMode: 420 - name: {{ .Values.compressor.name }}-config - name: {{ .Values.compressor.name }}-config - {{- if .Values.compressor.volumes }} - {{- toYaml .Values.compressor.volumes | nindent 8 }} + name: {{ $compressor.name }}-config + name: {{ $compressor.name }}-config + {{- if $compressor.volumes }} + {{- toYaml $compressor.volumes | nindent 8 }} {{- end }} - {{- if .Values.compressor.nodeName }} - nodeName: {{ .Values.compressor.nodeName }} + {{- if $compressor.nodeName }} + nodeName: {{ $compressor.nodeName }} {{- end }} - {{- if .Values.compressor.nodeSelector }} + {{- if $compressor.nodeSelector }} nodeSelector: - {{- toYaml .Values.compressor.nodeSelector | nindent 8 }} + {{- toYaml $compressor.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.compressor.tolerations }} + {{- if $compressor.tolerations }} tolerations: - {{- toYaml .Values.compressor.tolerations | nindent 8 }} + {{- toYaml $compressor.tolerations | nindent 8 }} {{- end }} - {{- if .Values.compressor.podPriority }} - {{- if .Values.compressor.podPriority.enabled }} - priorityClassName: {{ .Values.compressor.name }}-priority + {{- if $compressor.podPriority }} + {{- if $compressor.podPriority.enabled }} + priorityClassName: {{ $compressor.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/manager/compressor/deployment.yaml b/charts/vald/templates/manager/compressor/deployment.yaml index f718d84320..74510099d4 100644 --- a/charts/vald/templates/manager/compressor/deployment.yaml +++ b/charts/vald/templates/manager/compressor/deployment.yaml @@ -13,109 +13,110 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.compressor.enabled (eq .Values.compressor.kind "Deployment") }} +{{- $compressor := .Values.manager.compressor -}} +{{- if and $compressor.enabled (eq $compressor.kind "Deployment") }} apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .Values.compressor.name }} + name: {{ $compressor.name }} labels: - app: {{ .Values.compressor.name }} + app: {{ $compressor.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-compressor - {{- if .Values.compressor.annotations }} + {{- if $compressor.annotations }} annotations: - {{- toYaml .Values.compressor.annotations | nindent 4 }} + {{- toYaml $compressor.annotations | nindent 4 }} {{- end }} spec: - progressDeadlineSeconds: {{ .Values.compressor.progressDeadlineSeconds }} - {{- if not .Values.compressor.hpa.enabled }} - replicas: {{ .Values.compressor.minReplicas }} + progressDeadlineSeconds: {{ $compressor.progressDeadlineSeconds }} + {{- if not $compressor.hpa.enabled }} + replicas: {{ $compressor.minReplicas }} {{- end }} - revisionHistoryLimit: {{ .Values.compressor.revisionHistoryLimit }} + revisionHistoryLimit: {{ $compressor.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.compressor.name }} + app: {{ $compressor.name }} strategy: rollingUpdate: - maxSurge: {{ .Values.compressor.rollingUpdate.maxSurge }} - maxUnavailable: {{ .Values.compressor.rollingUpdate.maxUnavailable }} + maxSurge: {{ $compressor.rollingUpdate.maxSurge }} + maxUnavailable: {{ $compressor.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.compressor.name }} + app: {{ $compressor.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: manager-compressor annotations: checksum/configmap: {{ include (print $.Template.BasePath "/manager/compressor/configmap.yaml") . | sha256sum }} - {{- if .Values.compressor.podAnnotations }} - {{- toYaml .Values.compressor.podAnnotations | nindent 8 }} + {{- if $compressor.podAnnotations }} + {{- toYaml $compressor.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.compressor.initContainers }} + {{- if $compressor.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.compressor.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $compressor.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.compressor.affinity | nindent 8 }} - {{- if .Values.compressor.topologySpreadConstraints }} + {{- include "vald.affinity" $compressor.affinity | nindent 8 }} + {{- if $compressor.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.compressor.topologySpreadConstraints | nindent 8 }} + {{- toYaml $compressor.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.compressor.name }} - image: "{{ .Values.compressor.image.repository }}:{{ default .Values.defaults.image.tag .Values.compressor.image.tag }}" - imagePullPolicy: {{ .Values.compressor.image.pullPolicy }} - {{- $servers := dict "Values" .Values.compressor.server_config "default" .Values.defaults.server_config -}} + - name: {{ $compressor.name }} + image: "{{ $compressor.image.repository }}:{{ default .Values.defaults.image.tag $compressor.image.tag }}" + imagePullPolicy: {{ $compressor.image.pullPolicy }} + {{- $servers := dict "Values" $compressor.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.compressor.resources | nindent 12 }} + {{- toYaml $compressor.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.compressor.env }} + {{- if $compressor.env }} env: - {{- toYaml .Values.compressor.env | nindent 12 }} + {{- toYaml $compressor.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.compressor.name }}-config + - name: {{ $compressor.name }}-config mountPath: /etc/server/ - {{- if .Values.compressor.volumeMounts }} - {{- toYaml .Values.compressor.volumeMounts | nindent 12 }} + {{- if $compressor.volumeMounts }} + {{- toYaml $compressor.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.compressor.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $compressor.terminationGracePeriodSeconds }} volumes: - configMap: defaultMode: 420 - name: {{ .Values.compressor.name }}-config - name: {{ .Values.compressor.name }}-config - {{- if .Values.compressor.volumes }} - {{- toYaml .Values.compressor.volumes | nindent 8 }} + name: {{ $compressor.name }}-config + name: {{ $compressor.name }}-config + {{- if $compressor.volumes }} + {{- toYaml $compressor.volumes | nindent 8 }} {{- end }} - {{- if .Values.compressor.nodeName }} - nodeName: {{ .Values.compressor.nodeName }} + {{- if $compressor.nodeName }} + nodeName: {{ $compressor.nodeName }} {{- end }} - {{- if .Values.compressor.nodeSelector }} + {{- if $compressor.nodeSelector }} nodeSelector: - {{- toYaml .Values.compressor.nodeSelector | nindent 8 }} + {{- toYaml $compressor.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.compressor.tolerations }} + {{- if $compressor.tolerations }} tolerations: - {{- toYaml .Values.compressor.tolerations | nindent 8 }} + {{- toYaml $compressor.tolerations | nindent 8 }} {{- end }} - {{- if .Values.compressor.podPriority }} - {{- if .Values.compressor.podPriority.enabled }} - priorityClassName: {{ .Values.compressor.name }}-priority + {{- if $compressor.podPriority }} + {{- if $compressor.podPriority.enabled }} + priorityClassName: {{ $compressor.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/manager/compressor/hpa.yaml b/charts/vald/templates/manager/compressor/hpa.yaml index 8e13be05b3..7c2fc8333a 100644 --- a/charts/vald/templates/manager/compressor/hpa.yaml +++ b/charts/vald/templates/manager/compressor/hpa.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.compressor.enabled .Values.compressor.hpa.enabled }} +{{- $compressor := .Values.manager.compressor -}} +{{- if and $compressor.enabled $compressor.hpa.enabled }} apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ .Values.compressor.name }} + name: {{ $compressor.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,12 +27,12 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-compressor spec: - maxReplicas: {{ .Values.compressor.maxReplicas }} - minReplicas: {{ .Values.compressor.minReplicas }} + maxReplicas: {{ $compressor.maxReplicas }} + minReplicas: {{ $compressor.minReplicas }} scaleTargetRef: apiVersion: apps/v1 - kind: {{ .Values.compressor.kind }} - name: {{ .Values.compressor.name }} - targetCPUUtilizationPercentage: {{ .Values.compressor.hpa.targetCPUUtilizationPercentage }} + kind: {{ $compressor.kind }} + name: {{ $compressor.name }} + targetCPUUtilizationPercentage: {{ $compressor.hpa.targetCPUUtilizationPercentage }} status: {{- end }} diff --git a/charts/vald/templates/manager/compressor/pdb.yaml b/charts/vald/templates/manager/compressor/pdb.yaml index 0eaeb65c3f..d13735f59c 100644 --- a/charts/vald/templates/manager/compressor/pdb.yaml +++ b/charts/vald/templates/manager/compressor/pdb.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.compressor.enabled }} +{{- $compressor := .Values.manager.compressor -}} +{{- if $compressor.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: - name: {{ .Values.compressor.name }} + name: {{ $compressor.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,8 +27,8 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-compressor spec: - maxUnavailable: {{ .Values.compressor.maxUnavailable }} + maxUnavailable: {{ $compressor.maxUnavailable }} selector: matchLabels: - app: {{ .Values.compressor.name }} + app: {{ $compressor.name }} {{- end }} diff --git a/charts/vald/templates/manager/compressor/priorityclass.yaml b/charts/vald/templates/manager/compressor/priorityclass.yaml index c981d26774..1e00386cc2 100644 --- a/charts/vald/templates/manager/compressor/priorityclass.yaml +++ b/charts/vald/templates/manager/compressor/priorityclass.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.compressor.enabled .Values.compressor.podPriority.enabled }} +{{- $compressor := .Values.manager.compressor -}} +{{- if and $compressor.enabled $compressor.podPriority.enabled }} apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: - name: {{ .Values.compressor.name }}-priority + name: {{ $compressor.name }}-priority labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -25,7 +26,7 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-compressor -value: {{ .Values.compressor.podPriority.value }} +value: {{ $compressor.podPriority.value }} preemptionPolicy: Never globalDefault: false description: "A priority class for Vald compressor." diff --git a/charts/vald/templates/manager/compressor/svc.yaml b/charts/vald/templates/manager/compressor/svc.yaml index 369514b824..8b164ae1a0 100644 --- a/charts/vald/templates/manager/compressor/svc.yaml +++ b/charts/vald/templates/manager/compressor/svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.compressor.enabled }} +{{- $compressor := .Values.manager.compressor -}} +{{- if $compressor.enabled }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.compressor.name }} - {{- if .Values.compressor.service.annotations }} + name: {{ $compressor.name }} + {{- if $compressor.service.annotations }} annotations: - {{- toYaml .Values.compressor.service.annotations | nindent 4 }} + {{- toYaml $compressor.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -29,20 +30,20 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-compressor - {{- if .Values.compressor.service.labels }} - {{- toYaml .Values.compressor.service.labels | nindent 4 }} + {{- if $compressor.service.labels }} + {{- toYaml $compressor.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.compressor.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $compressor.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: manager-compressor - {{- if eq .Values.compressor.serviceType "ClusterIP" }} + {{- if eq $compressor.serviceType "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.compressor.serviceType }} - {{- if .Values.compressor.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.compressor.externalTrafficPolicy }} + type: {{ $compressor.serviceType }} + {{- if $compressor.externalTrafficPolicy }} + externalTrafficPolicy: {{ $compressor.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/templates/manager/index/configmap.yaml b/charts/vald/templates/manager/index/configmap.yaml index 160a376185..c51e386b0e 100644 --- a/charts/vald/templates/manager/index/configmap.yaml +++ b/charts/vald/templates/manager/index/configmap.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.indexManager.enabled }} +{{- $index := .Values.manager.index -}} +{{- if $index.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.indexManager.name }}-config + name: {{ $index.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -28,35 +29,35 @@ metadata: data: config.yaml: | --- - version: {{ .Values.indexManager.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.indexManager.time_zone }} + version: {{ $index.version }} + time_zone: {{ default .Values.defaults.time_zone $index.time_zone }} logging: - {{- $logging := dict "Values" .Values.indexManager.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $index.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.indexManager.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $index.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.indexManager.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $index.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} indexer: agent_port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.agent.server_config.servers.grpc.port }} agent_name: {{ .Values.agent.name | quote }} agent_dns: {{ .Values.agent.name }}.{{ .Release.Namespace }}.svc.cluster.local - agent_namespace: {{ .Values.indexManager.indexer.agent_namespace | quote }} - node_name: {{ .Values.indexManager.indexer.node_name | quote }} + agent_namespace: {{ $index.indexer.agent_namespace | quote }} + node_name: {{ $index.indexer.node_name | quote }} discoverer: host: {{ .Values.discoverer.name }}.{{ .Release.Namespace }}.svc.cluster.local port: {{ default .Values.defaults.server_config.servers.grpc.port .Values.discoverer.server_config.servers.grpc.port }} - duration: {{ .Values.indexManager.indexer.discoverer.duration }} + duration: {{ $index.indexer.discoverer.duration }} discover_client: - {{- $discoverClient := dict "Values" .Values.indexManager.indexer.discoverer.discover_client "default" .Values.defaults.grpc.client }} + {{- $discoverClient := dict "Values" $index.indexer.discoverer.discover_client "default" .Values.defaults.grpc.client }} {{- include "vald.grpc.client" $discoverClient | nindent 10 }} agent_client: - {{- $agentClient := dict "Values" .Values.indexManager.indexer.discoverer.agent_client "default" .Values.defaults.grpc.client }} + {{- $agentClient := dict "Values" $index.indexer.discoverer.agent_client "default" .Values.defaults.grpc.client }} {{- include "vald.grpc.client" $agentClient | nindent 10 }} - concurrency: {{ .Values.indexManager.indexer.concurrency }} - auto_index_duration_limit: {{ .Values.indexManager.indexer.auto_index_duration_limit }} - auto_index_check_duration: {{ .Values.indexManager.indexer.auto_index_check_duration }} - auto_index_length: {{ .Values.indexManager.indexer.auto_index_length }} + concurrency: {{ $index.indexer.concurrency }} + auto_index_duration_limit: {{ $index.indexer.auto_index_duration_limit }} + auto_index_check_duration: {{ $index.indexer.auto_index_check_duration }} + auto_index_length: {{ $index.indexer.auto_index_length }} {{- end }} diff --git a/charts/vald/templates/manager/index/daemonset.yaml b/charts/vald/templates/manager/index/daemonset.yaml index ade6f00a01..e1f751bcf9 100644 --- a/charts/vald/templates/manager/index/daemonset.yaml +++ b/charts/vald/templates/manager/index/daemonset.yaml @@ -13,104 +13,105 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.indexManager.enabled (eq .Values.indexManager.kind "DaemonSet") }} +{{- $index := .Values.manager.index -}} +{{- if and $index.enabled (eq $index.kind "DaemonSet") }} apiVersion: apps/v1 kind: DaemonSet metadata: - name: {{ .Values.indexManager.name }} + name: {{ $index.name }} labels: - app: {{ .Values.indexManager.name }} + app: {{ $index.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-index - {{- if .Values.indexManager.annotations }} + {{- if $index.annotations }} annotations: - {{- toYaml .Values.indexManager.annotations | nindent 4 }} + {{- toYaml $index.annotations | nindent 4 }} {{- end }} spec: - revisionHistoryLimit: {{ .Values.indexManager.revisionHistoryLimit }} + revisionHistoryLimit: {{ $index.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.indexManager.name }} + app: {{ $index.name }} updateStrategy: rollingUpdate: - maxUnavailable: {{ .Values.indexManager.rollingUpdate.maxUnavailable }} + maxUnavailable: {{ $index.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.indexManager.name }} + app: {{ $index.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: manager-index annotations: checksum/configmap: {{ include (print $.Template.BasePath "/manager/index/configmap.yaml") . | sha256sum }} - {{- if .Values.indexManager.podAnnotations }} - {{- toYaml .Values.indexManager.podAnnotations | nindent 8 }} + {{- if $index.podAnnotations }} + {{- toYaml $index.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.indexManager.initContainers }} + {{- if $index.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.indexManager.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $index.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.indexManager.affinity | nindent 8 }} - {{- if .Values.indexManager.topologySpreadConstraints }} + {{- include "vald.affinity" $index.affinity | nindent 8 }} + {{- if $index.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.indexManager.topologySpreadConstraints | nindent 8 }} + {{- toYaml $index.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.indexManager.name }} - image: "{{ .Values.indexManager.image.repository }}:{{ default .Values.defaults.image.tag .Values.indexManager.image.tag }}" - imagePullPolicy: {{ .Values.indexManager.image.pullPolicy }} - {{- $servers := dict "Values" .Values.indexManager.server_config "default" .Values.defaults.server_config -}} + - name: {{ $index.name }} + image: "{{ $index.image.repository }}:{{ default .Values.defaults.image.tag $index.image.tag }}" + imagePullPolicy: {{ $index.image.pullPolicy }} + {{- $servers := dict "Values" $index.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.indexManager.resources | nindent 12 }} + {{- toYaml $index.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.indexManager.env }} + {{- if $index.env }} env: - {{- toYaml .Values.indexManager.env | nindent 12 }} + {{- toYaml $index.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.indexManager.name }}-config + - name: {{ $index.name }}-config mountPath: /etc/server/ - {{- if .Values.indexManager.volumeMounts }} - {{- toYaml .Values.indexManager.volumeMounts | nindent 12 }} + {{- if $index.volumeMounts }} + {{- toYaml $index.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.indexManager.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $index.terminationGracePeriodSeconds }} volumes: - configMap: defaultMode: 420 - name: {{ .Values.indexManager.name }}-config - name: {{ .Values.indexManager.name }}-config - {{- if .Values.indexManager.volumes }} - {{- toYaml .Values.indexManager.volumes | nindent 8 }} + name: {{ $index.name }}-config + name: {{ $index.name }}-config + {{- if $index.volumes }} + {{- toYaml $index.volumes | nindent 8 }} {{- end }} - {{- if .Values.indexManager.nodeName }} - nodeName: {{ .Values.indexManager.nodeName }} + {{- if $index.nodeName }} + nodeName: {{ $index.nodeName }} {{- end }} - {{- if .Values.indexManager.nodeSelector }} + {{- if $index.nodeSelector }} nodeSelector: - {{- toYaml .Values.indexManager.nodeSelector | nindent 8 }} + {{- toYaml $index.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.indexManager.tolerations }} + {{- if $index.tolerations }} tolerations: - {{- toYaml .Values.indexManager.tolerations | nindent 8 }} + {{- toYaml $index.tolerations | nindent 8 }} {{- end }} - {{- if .Values.indexManager.podPriority }} - {{- if .Values.indexManager.podPriority.enabled }} - priorityClassName: {{ .Values.indexManager.name }}-priority + {{- if $index.podPriority }} + {{- if $index.podPriority.enabled }} + priorityClassName: {{ $index.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/manager/index/deployment.yaml b/charts/vald/templates/manager/index/deployment.yaml index 91e91e8df4..5d68d27f36 100644 --- a/charts/vald/templates/manager/index/deployment.yaml +++ b/charts/vald/templates/manager/index/deployment.yaml @@ -13,107 +13,108 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.indexManager.enabled (eq .Values.indexManager.kind "Deployment") }} +{{- $index := .Values.manager.index -}} +{{- if and $index.enabled (eq $index.kind "Deployment") }} apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .Values.indexManager.name }} + name: {{ $index.name }} labels: - app: {{ .Values.indexManager.name }} + app: {{ $index.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-index - {{- if .Values.indexManager.annotations }} + {{- if $index.annotations }} annotations: - {{- toYaml .Values.indexManager.annotations | nindent 4 }} + {{- toYaml $index.annotations | nindent 4 }} {{- end }} spec: - progressDeadlineSeconds: {{ .Values.indexManager.progressDeadlineSeconds }} - replicas: {{ .Values.indexManager.replicas }} - revisionHistoryLimit: {{ .Values.indexManager.revisionHistoryLimit }} + progressDeadlineSeconds: {{ $index.progressDeadlineSeconds }} + replicas: {{ $index.replicas }} + revisionHistoryLimit: {{ $index.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.indexManager.name }} + app: {{ $index.name }} strategy: rollingUpdate: - maxSurge: {{ .Values.indexManager.rollingUpdate.maxSurge }} - maxUnavailable: {{ .Values.indexManager.rollingUpdate.maxUnavailable }} + maxSurge: {{ $index.rollingUpdate.maxSurge }} + maxUnavailable: {{ $index.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.indexManager.name }} + app: {{ $index.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: manager-index annotations: checksum/configmap: {{ include (print $.Template.BasePath "/manager/index/configmap.yaml") . | sha256sum }} - {{- if .Values.indexManager.podAnnotations }} - {{- toYaml .Values.indexManager.podAnnotations | nindent 8 }} + {{- if $index.podAnnotations }} + {{- toYaml $index.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.indexManager.initContainers }} + {{- if $index.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.indexManager.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $index.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.indexManager.affinity | nindent 8 }} - {{- if .Values.indexManager.topologySpreadConstraints }} + {{- include "vald.affinity" $index.affinity | nindent 8 }} + {{- if $index.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.indexManager.topologySpreadConstraints | nindent 8 }} + {{- toYaml $index.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.indexManager.name }} - image: "{{ .Values.indexManager.image.repository }}:{{ default .Values.defaults.image.tag .Values.indexManager.image.tag }}" - imagePullPolicy: {{ .Values.indexManager.image.pullPolicy }} - {{- $servers := dict "Values" .Values.indexManager.server_config "default" .Values.defaults.server_config -}} + - name: {{ $index.name }} + image: "{{ $index.image.repository }}:{{ default .Values.defaults.image.tag $index.image.tag }}" + imagePullPolicy: {{ $index.image.pullPolicy }} + {{- $servers := dict "Values" $index.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.indexManager.resources | nindent 12 }} + {{- toYaml $index.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.indexManager.env }} + {{- if $index.env }} env: - {{- toYaml .Values.indexManager.env | nindent 12 }} + {{- toYaml $index.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.indexManager.name }}-config + - name: {{ $index.name }}-config mountPath: /etc/server/ - {{- if .Values.indexManager.volumeMounts }} - {{- toYaml .Values.indexManager.volumeMounts | nindent 12 }} + {{- if $index.volumeMounts }} + {{- toYaml $index.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.indexManager.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $index.terminationGracePeriodSeconds }} volumes: - configMap: defaultMode: 420 - name: {{ .Values.indexManager.name }}-config - name: {{ .Values.indexManager.name }}-config - {{- if .Values.indexManager.volumes }} - {{- toYaml .Values.indexManager.volumes | nindent 8 }} + name: {{ $index.name }}-config + name: {{ $index.name }}-config + {{- if $index.volumes }} + {{- toYaml $index.volumes | nindent 8 }} {{- end }} - {{- if .Values.indexManager.nodeName }} - nodeName: {{ .Values.indexManager.nodeName }} + {{- if $index.nodeName }} + nodeName: {{ $index.nodeName }} {{- end }} - {{- if .Values.indexManager.nodeSelector }} + {{- if $index.nodeSelector }} nodeSelector: - {{- toYaml .Values.indexManager.nodeSelector | nindent 8 }} + {{- toYaml $index.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.indexManager.tolerations }} + {{- if $index.tolerations }} tolerations: - {{- toYaml .Values.indexManager.tolerations | nindent 8 }} + {{- toYaml $index.tolerations | nindent 8 }} {{- end }} - {{- if .Values.indexManager.podPriority }} - {{- if .Values.indexManager.podPriority.enabled }} - priorityClassName: {{ .Values.indexManager.name }}-priority + {{- if $index.podPriority }} + {{- if $index.podPriority.enabled }} + priorityClassName: {{ $index.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/manager/index/pdb.yaml b/charts/vald/templates/manager/index/pdb.yaml index 93636bf0a5..b2a95d95af 100644 --- a/charts/vald/templates/manager/index/pdb.yaml +++ b/charts/vald/templates/manager/index/pdb.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.indexManager.enabled }} +{{- $index := .Values.manager.index -}} +{{- if $index.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: - name: {{ .Values.indexManager.name }} + name: {{ $index.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,8 +27,8 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-index spec: - maxUnavailable: {{ .Values.indexManager.maxUnavailable }} + maxUnavailable: {{ $index.maxUnavailable }} selector: matchLabels: - app: {{ .Values.indexManager.name }} + app: {{ $index.name }} {{- end }} diff --git a/charts/vald/templates/manager/index/priorityclass.yaml b/charts/vald/templates/manager/index/priorityclass.yaml index f1e78c47f5..1b44a9140f 100644 --- a/charts/vald/templates/manager/index/priorityclass.yaml +++ b/charts/vald/templates/manager/index/priorityclass.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.indexManager.enabled .Values.indexManager.podPriority.enabled }} +{{- $index := .Values.manager.index -}} +{{- if and $index.enabled $index.podPriority.enabled }} apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: - name: {{ .Values.indexManager.name }}-priority + name: {{ $index.name }}-priority labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -25,7 +26,7 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-index -value: {{ .Values.indexManager.podPriority.value }} +value: {{ $index.podPriority.value }} globalDefault: false -description: "A priority class for Vald indexManager." +description: "A priority class for Vald index manager." {{- end }} diff --git a/charts/vald/templates/manager/index/svc.yaml b/charts/vald/templates/manager/index/svc.yaml index 63294e83e1..a562aa0482 100644 --- a/charts/vald/templates/manager/index/svc.yaml +++ b/charts/vald/templates/manager/index/svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.indexManager.enabled }} +{{- $index := .Values.manager.index -}} +{{- if $index.enabled }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.indexManager.name }} - {{- if .Values.indexManager.service.annotations }} + name: {{ $index.name }} + {{- if $index.service.annotations }} annotations: - {{- toYaml .Values.indexManager.service.annotations | nindent 4 }} + {{- toYaml $index.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -29,20 +30,20 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: manager-index - {{- if .Values.indexManager.service.labels }} - {{- toYaml .Values.indexManager.service.labels | nindent 4 }} + {{- if $index.service.labels }} + {{- toYaml $index.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.indexManager.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $index.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: manager-index - {{- if eq .Values.indexManager.serviceType "ClusterIP" }} + {{- if eq $index.serviceType "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.indexManager.serviceType }} - {{- if .Values.indexManager.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.indexManager.externalTrafficPolicy }} + type: {{ $index.serviceType }} + {{- if $index.externalTrafficPolicy }} + externalTrafficPolicy: {{ $index.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/templates/meta/configmap.yaml b/charts/vald/templates/meta/configmap.yaml index 19ea6623bb..59031628e4 100644 --- a/charts/vald/templates/meta/configmap.yaml +++ b/charts/vald/templates/meta/configmap.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.meta.enabled }} +{{- $meta := .Values.meta -}} +{{- if $meta.enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Values.meta.name }}-config + name: {{ $meta.name }}-config labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -28,23 +29,23 @@ metadata: data: config.yaml: | --- - version: {{ .Values.meta.version }} - time_zone: {{ default .Values.defaults.time_zone .Values.meta.time_zone }} + version: {{ $meta.version }} + time_zone: {{ default .Values.defaults.time_zone $meta.time_zone }} logging: - {{- $logging := dict "Values" .Values.meta.logging "default" .Values.defaults.logging }} + {{- $logging := dict "Values" $meta.logging "default" .Values.defaults.logging }} {{- include "vald.logging" $logging | nindent 6 }} server_config: - {{- $servers := dict "Values" .Values.meta.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $meta.server_config "default" .Values.defaults.server_config }} {{- include "vald.servers" $servers | nindent 6 }} observability: - {{- $observability := dict "Values" .Values.meta.observability "default" .Values.defaults.observability }} + {{- $observability := dict "Values" $meta.observability "default" .Values.defaults.observability }} {{- include "vald.observability" $observability | nindent 6 }} - {{- if .Values.meta.redis.enabled }} + {{- if $meta.redis.enabled }} redis_config: - {{- toYaml .Values.meta.redis.config | nindent 6 }} + {{- toYaml $meta.redis.config | nindent 6 }} {{- end }} - {{- if .Values.meta.cassandra.enabled }} + {{- if $meta.cassandra.enabled }} cassandra_config: - {{- toYaml .Values.meta.cassandra.config | nindent 6 }} + {{- toYaml $meta.cassandra.config | nindent 6 }} {{- end }} {{- end }} diff --git a/charts/vald/templates/meta/daemonset.yaml b/charts/vald/templates/meta/daemonset.yaml index 225a87b6f5..19bf7827fb 100644 --- a/charts/vald/templates/meta/daemonset.yaml +++ b/charts/vald/templates/meta/daemonset.yaml @@ -13,104 +13,105 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.meta.enabled (eq .Values.meta.kind "DaemonSet") }} +{{- $meta := .Values.meta -}} +{{- if and $meta.enabled (eq $meta.kind "DaemonSet") }} apiVersion: apps/v1 kind: DaemonSet metadata: - name: {{.Values.meta.name }} + name: {{$meta.name }} labels: - app: {{ .Values.meta.name }} + app: {{ $meta.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: meta - {{- if .Values.meta.annotations }} + {{- if $meta.annotations }} annotations: - {{- toYaml .Values.meta.annotations | nindent 4 }} + {{- toYaml $meta.annotations | nindent 4 }} {{- end }} spec: - revisionHistoryLimit: {{ .Values.meta.revisionHistoryLimit }} + revisionHistoryLimit: {{ $meta.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.meta.name }} + app: {{ $meta.name }} updateStrategy: rollingUpdate: - maxUnavailable: {{ .Values.meta.rollingUpdate.maxUnavailable }} + maxUnavailable: {{ $meta.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.meta.name }} + app: {{ $meta.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: meta annotations: checksum/configmap: {{ include (print $.Template.BasePath "/meta/configmap.yaml") . | sha256sum }} - {{- if .Values.meta.podAnnotations }} - {{- toYaml .Values.meta.podAnnotations | nindent 8 }} + {{- if $meta.podAnnotations }} + {{- toYaml $meta.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.meta.initContainers }} + {{- if $meta.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.meta.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $meta.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.meta.affinity | nindent 8 }} - {{- if .Values.meta.topologySpreadConstraints }} + {{- include "vald.affinity" $meta.affinity | nindent 8 }} + {{- if $meta.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.meta.topologySpreadConstraints | nindent 8 }} + {{- toYaml $meta.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.meta.name }} - image: "{{ .Values.meta.image.repository }}:{{ default .Values.defaults.image.tag .Values.meta.image.tag }}" - imagePullPolicy: {{ .Values.meta.image.pullPolicy }} - {{- $servers := dict "Values" .Values.meta.server_config "default" .Values.defaults.server_config -}} + - name: {{ $meta.name }} + image: "{{ $meta.image.repository }}:{{ default .Values.defaults.image.tag $meta.image.tag }}" + imagePullPolicy: {{ $meta.image.pullPolicy }} + {{- $servers := dict "Values" $meta.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.meta.resources | nindent 12 }} + {{- toYaml $meta.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.meta.env }} + {{- if $meta.env }} env: - {{- toYaml .Values.meta.env | nindent 12 }} + {{- toYaml $meta.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.meta.name }}-config + - name: {{ $meta.name }}-config mountPath: /etc/server/ - {{- if .Values.meta.volumeMounts }} - {{- toYaml .Values.meta.volumeMounts | nindent 12 }} + {{- if $meta.volumeMounts }} + {{- toYaml $meta.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.meta.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $meta.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.meta.name }}-config + - name: {{ $meta.name }}-config configMap: defaultMode: 420 - name: {{ .Values.meta.name }}-config - {{- if .Values.meta.volumes }} - {{- toYaml .Values.meta.volumes | nindent 8 }} + name: {{ $meta.name }}-config + {{- if $meta.volumes }} + {{- toYaml $meta.volumes | nindent 8 }} {{- end }} - {{- if .Values.meta.nodeName }} - nodeName: {{ .Values.meta.nodeName }} + {{- if $meta.nodeName }} + nodeName: {{ $meta.nodeName }} {{- end }} - {{- if .Values.meta.nodeSelector }} + {{- if $meta.nodeSelector }} nodeSelector: - {{- toYaml .Values.meta.nodeSelector | nindent 8 }} + {{- toYaml $meta.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.meta.tolerations }} + {{- if $meta.tolerations }} tolerations: - {{- toYaml .Values.meta.tolerations | nindent 8 }} + {{- toYaml $meta.tolerations | nindent 8 }} {{- end }} - {{- if .Values.meta.podPriority }} - {{- if .Values.meta.podPriority.enabled }} - priorityClassName: {{ .Values.meta.name }}-priority + {{- if $meta.podPriority }} + {{- if $meta.podPriority.enabled }} + priorityClassName: {{ $meta.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/meta/deployment.yaml b/charts/vald/templates/meta/deployment.yaml index a7fa9ff577..6194f9a766 100644 --- a/charts/vald/templates/meta/deployment.yaml +++ b/charts/vald/templates/meta/deployment.yaml @@ -13,109 +13,110 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.meta.enabled (eq .Values.meta.kind "Deployment") }} +{{- $meta := .Values.meta -}} +{{- if and $meta.enabled (eq $meta.kind "Deployment") }} apiVersion: apps/v1 kind: Deployment metadata: - name: {{.Values.meta.name }} + name: {{$meta.name }} labels: - app: {{ .Values.meta.name }} + app: {{ $meta.name }} app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: meta - {{- if .Values.meta.annotations }} + {{- if $meta.annotations }} annotations: - {{- toYaml .Values.meta.annotations | nindent 4 }} + {{- toYaml $meta.annotations | nindent 4 }} {{- end }} spec: - progressDeadlineSeconds: {{ .Values.meta.progressDeadlineSeconds }} - {{- if not .Values.meta.hpa.enabled }} - replicas: {{ .Values.meta.minReplicas }} + progressDeadlineSeconds: {{ $meta.progressDeadlineSeconds }} + {{- if not $meta.hpa.enabled }} + replicas: {{ $meta.minReplicas }} {{- end }} - revisionHistoryLimit: {{ .Values.meta.revisionHistoryLimit }} + revisionHistoryLimit: {{ $meta.revisionHistoryLimit }} selector: matchLabels: - app: {{ .Values.meta.name }} + app: {{ $meta.name }} strategy: rollingUpdate: - maxSurge: {{ .Values.meta.rollingUpdate.maxSurge }} - maxUnavailable: {{ .Values.meta.rollingUpdate.maxUnavailable }} + maxSurge: {{ $meta.rollingUpdate.maxSurge }} + maxUnavailable: {{ $meta.rollingUpdate.maxUnavailable }} type: RollingUpdate template: metadata: creationTimestamp: null labels: - app: {{ .Values.meta.name }} + app: {{ $meta.name }} app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: meta annotations: checksum/configmap: {{ include (print $.Template.BasePath "/meta/configmap.yaml") . | sha256sum }} - {{- if .Values.meta.podAnnotations }} - {{- toYaml .Values.meta.podAnnotations | nindent 8 }} + {{- if $meta.podAnnotations }} + {{- toYaml $meta.podAnnotations | nindent 8 }} {{- end }} spec: - {{- if .Values.meta.initContainers }} + {{- if $meta.initContainers }} initContainers: - {{- $initContainers := dict "initContainers" .Values.meta.initContainers "Values" .Values "namespace" .Release.Namespace -}} + {{- $initContainers := dict "initContainers" $meta.initContainers "Values" .Values "namespace" .Release.Namespace -}} {{- include "vald.initContainers" $initContainers | trim | nindent 8 }} {{- end }} affinity: - {{- include "vald.affinity" .Values.meta.affinity | nindent 8 }} - {{- if .Values.meta.topologySpreadConstraints }} + {{- include "vald.affinity" $meta.affinity | nindent 8 }} + {{- if $meta.topologySpreadConstraints }} topologySpreadConstraints: - {{- toYaml .Values.meta.topologySpreadConstraints | nindent 8 }} + {{- toYaml $meta.topologySpreadConstraints | nindent 8 }} {{- end }} containers: - - name: {{ .Values.meta.name }} - image: "{{ .Values.meta.image.repository }}:{{ default .Values.defaults.image.tag .Values.meta.image.tag }}" - imagePullPolicy: {{ .Values.meta.image.pullPolicy }} - {{- $servers := dict "Values" .Values.meta.server_config "default" .Values.defaults.server_config -}} + - name: {{ $meta.name }} + image: "{{ $meta.image.repository }}:{{ default .Values.defaults.image.tag $meta.image.tag }}" + imagePullPolicy: {{ $meta.image.pullPolicy }} + {{- $servers := dict "Values" $meta.server_config "default" .Values.defaults.server_config -}} {{- include "vald.containerPorts" $servers | trim | nindent 10 }} resources: - {{- toYaml .Values.meta.resources | nindent 12 }} + {{- toYaml $meta.resources | nindent 12 }} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - {{- if .Values.meta.env }} + {{- if $meta.env }} env: - {{- toYaml .Values.meta.env | nindent 12 }} + {{- toYaml $meta.env | nindent 12 }} {{- end }} volumeMounts: - - name: {{ .Values.meta.name }}-config + - name: {{ $meta.name }}-config mountPath: /etc/server/ - {{- if .Values.meta.volumeMounts }} - {{- toYaml .Values.meta.volumeMounts | nindent 12 }} + {{- if $meta.volumeMounts }} + {{- toYaml $meta.volumeMounts | nindent 12 }} {{- end }} dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} - terminationGracePeriodSeconds: {{ .Values.meta.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ $meta.terminationGracePeriodSeconds }} volumes: - - name: {{ .Values.meta.name }}-config + - name: {{ $meta.name }}-config configMap: defaultMode: 420 - name: {{ .Values.meta.name }}-config - {{- if .Values.meta.volumes }} - {{- toYaml .Values.meta.volumes | nindent 8 }} + name: {{ $meta.name }}-config + {{- if $meta.volumes }} + {{- toYaml $meta.volumes | nindent 8 }} {{- end }} - {{- if .Values.meta.nodeName }} - nodeName: {{ .Values.meta.nodeName }} + {{- if $meta.nodeName }} + nodeName: {{ $meta.nodeName }} {{- end }} - {{- if .Values.meta.nodeSelector }} + {{- if $meta.nodeSelector }} nodeSelector: - {{- toYaml .Values.meta.nodeSelector | nindent 8 }} + {{- toYaml $meta.nodeSelector | nindent 8 }} {{- end }} - {{- if .Values.meta.tolerations }} + {{- if $meta.tolerations }} tolerations: - {{- toYaml .Values.meta.tolerations | nindent 8 }} + {{- toYaml $meta.tolerations | nindent 8 }} {{- end }} - {{- if .Values.meta.podPriority }} - {{- if .Values.meta.podPriority.enabled }} - priorityClassName: {{ .Values.meta.name }}-priority + {{- if $meta.podPriority }} + {{- if $meta.podPriority.enabled }} + priorityClassName: {{ $meta.name }}-priority {{- end }} {{- end }} status: diff --git a/charts/vald/templates/meta/hpa.yaml b/charts/vald/templates/meta/hpa.yaml index a22f0aea86..e1c0051eb8 100644 --- a/charts/vald/templates/meta/hpa.yaml +++ b/charts/vald/templates/meta/hpa.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.meta.enabled .Values.meta.hpa.enabled }} +{{- $meta := .Values.meta -}} +{{- if and $meta.enabled $meta.hpa.enabled }} apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ .Values.meta.name }} + name: {{ $meta.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,12 +27,12 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: meta spec: - maxReplicas: {{ .Values.meta.maxReplicas }} - minReplicas: {{ .Values.meta.minReplicas }} + maxReplicas: {{ $meta.maxReplicas }} + minReplicas: {{ $meta.minReplicas }} scaleTargetRef: apiVersion: apps/v1 - kind: {{ .Values.meta.kind }} - name: {{ .Values.meta.name }} - targetCPUUtilizationPercentage: {{ .Values.meta.hpa.targetCPUUtilizationPercentage }} + kind: {{ $meta.kind }} + name: {{ $meta.name }} + targetCPUUtilizationPercentage: {{ $meta.hpa.targetCPUUtilizationPercentage }} status: {{- end }} diff --git a/charts/vald/templates/meta/pdb.yaml b/charts/vald/templates/meta/pdb.yaml index 023aaff3b4..36ba467a37 100644 --- a/charts/vald/templates/meta/pdb.yaml +++ b/charts/vald/templates/meta/pdb.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.meta.enabled }} +{{- $meta := .Values.meta -}} +{{- if $meta.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: - name: {{ .Values.meta.name }} + name: {{ $meta.name }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -26,8 +27,8 @@ metadata: app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: meta spec: - maxUnavailable: {{ .Values.meta.maxUnavailable }} + maxUnavailable: {{ $meta.maxUnavailable }} selector: matchLabels: - app: {{ .Values.meta.name }} + app: {{ $meta.name }} {{- end }} diff --git a/charts/vald/templates/meta/priorityclass.yaml b/charts/vald/templates/meta/priorityclass.yaml index 1a6b9e768d..0f12241012 100644 --- a/charts/vald/templates/meta/priorityclass.yaml +++ b/charts/vald/templates/meta/priorityclass.yaml @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if and .Values.meta.enabled .Values.meta.podPriority.enabled }} +{{- $meta := .Values.meta -}} +{{- if and $meta.enabled $meta.podPriority.enabled }} apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: - name: {{ .Values.meta.name }}-priority + name: {{ $meta.name }}-priority labels: app.kubernetes.io/name: {{ include "vald.name" . }} helm.sh/chart: {{ include "vald.chart" . }} @@ -25,7 +26,7 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: meta -value: {{ .Values.meta.podPriority.value }} +value: {{ $meta.podPriority.value }} globalDefault: false description: "A priority class for Vald meta." {{- end }} diff --git a/charts/vald/templates/meta/svc.yaml b/charts/vald/templates/meta/svc.yaml index 6441434e43..0eb04c2a10 100644 --- a/charts/vald/templates/meta/svc.yaml +++ b/charts/vald/templates/meta/svc.yaml @@ -13,14 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # -{{- if .Values.meta.enabled }} +{{- $meta := .Values.meta -}} +{{- if $meta.enabled }} apiVersion: v1 kind: Service metadata: - name: {{ .Values.meta.name }} - {{- if .Values.meta.service.annotations }} + name: {{ $meta.name }} + {{- if $meta.service.annotations }} annotations: - {{- toYaml .Values.meta.service.annotations | nindent 4 }} + {{- toYaml $meta.service.annotations | nindent 4 }} {{- end }} labels: app.kubernetes.io/name: {{ include "vald.name" . }} @@ -29,20 +30,20 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/component: meta - {{- if .Values.meta.service.labels }} - {{- toYaml .Values.meta.service.labels | nindent 4 }} + {{- if $meta.service.labels }} + {{- toYaml $meta.service.labels | nindent 4 }} {{- end }} spec: - {{- $servers := dict "Values" .Values.meta.server_config "default" .Values.defaults.server_config }} + {{- $servers := dict "Values" $meta.server_config "default" .Values.defaults.server_config }} {{- include "vald.servicePorts" $servers | nindent 2 }} selector: app.kubernetes.io/name: {{ include "vald.name" . }} app.kubernetes.io/component: meta - {{- if eq .Values.meta.serviceType "ClusterIP" }} + {{- if eq $meta.serviceType "ClusterIP" }} clusterIP: None {{- end }} - type: {{ .Values.meta.serviceType }} - {{- if .Values.meta.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.meta.externalTrafficPolicy }} + type: {{ $meta.serviceType }} + {{- if $meta.externalTrafficPolicy }} + externalTrafficPolicy: {{ $meta.externalTrafficPolicy }} {{- end }} {{- end }} diff --git a/charts/vald/values-agent-ngt-standalone.yaml b/charts/vald/values-agent-ngt-standalone.yaml index 074bc3ba33..db8ff7d370 100644 --- a/charts/vald/values-agent-ngt-standalone.yaml +++ b/charts/vald/values-agent-ngt-standalone.yaml @@ -26,19 +26,21 @@ agent: search_edge_size: 10 gateway: - enabled: false + vald: + enabled: false discoverer: enabled: false -compressor: - enabled: false +manager: + compressor: + enabled: false -backupManager: - enabled: false + backup: + enabled: false -indexManager: - enabled: false + index: + enabled: false meta: enabled: false diff --git a/charts/vald/values-cassandra.yaml b/charts/vald/values-cassandra.yaml index 66c2cea308..f21649616e 100644 --- a/charts/vald/values-cassandra.yaml +++ b/charts/vald/values-cassandra.yaml @@ -14,43 +14,44 @@ # limitations under the License. # -backupManager: - image: - repository: vdaas/vald-manager-backup-cassandra - initContainers: - - type: wait-for-cassandra - name: wait-for-cassandra - image: cassandra:latest - cassandra: - hosts: - - cassandra-0.default.svc.cluster.local - - cassandra-1.default.svc.cluster.local - - cassandra-2.default.svc.cluster.local - options: - - "-uroot" - - "-p${CASSANDRA_PASSWORD}" - sleepDuration: 2 - env: +manager: + backup: + image: + repository: vdaas/vald-manager-backup-cassandra + initContainers: + - type: wait-for-cassandra + name: wait-for-cassandra + image: cassandra:latest + cassandra: + hosts: + - cassandra-0.default.svc.cluster.local + - cassandra-1.default.svc.cluster.local + - cassandra-2.default.svc.cluster.local + options: + - "-uroot" + - "-p${CASSANDRA_PASSWORD}" + sleepDuration: 2 + env: + - name: CASSANDRA_PASSWORD + valueFrom: + secretKeyRef: + name: cassandra-secret + key: password + env: - name: CASSANDRA_PASSWORD valueFrom: secretKeyRef: name: cassandra-secret key: password - env: - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra-secret - key: password - mysql: - enabled: false - cassandra: - enabled: true - config: - hosts: - - cassandra-0.cassandra.default.svc.cluster.local - - cassandra-1.cassandra.default.svc.cluster.local - - cassandra-2.cassandra.default.svc.cluster.local + mysql: + enabled: false + cassandra: + enabled: true + config: + hosts: + - cassandra-0.cassandra.default.svc.cluster.local + - cassandra-1.cassandra.default.svc.cluster.local + - cassandra-2.cassandra.default.svc.cluster.local meta: image: diff --git a/charts/vald/values-ci.yaml b/charts/vald/values-ci.yaml index da333affe0..62c3cfaf10 100644 --- a/charts/vald/values-ci.yaml +++ b/charts/vald/values-ci.yaml @@ -15,15 +15,16 @@ # gateway: - minReplicas: 1 - hpa: - enabled: false - resources: - requests: - cpu: 100m - memory: 50Mi - gateway_config: - index_replica: 3 + vald: + minReplicas: 1 + hpa: + enabled: false + resources: + requests: + cpu: 100m + memory: 50Mi + gateway_config: + index_replica: 3 agent: minReplicas: 3 @@ -50,32 +51,33 @@ discoverer: cpu: 100m memory: 50Mi -compressor: - minReplicas: 1 - hpa: - enabled: false - resources: - requests: - cpu: 100m - memory: 50Mi - compress: - compress_algorithm: gob +manager: + compressor: + minReplicas: 1 + hpa: + enabled: false + resources: + requests: + cpu: 100m + memory: 50Mi + compress: + compress_algorithm: gob -backupManager: - minReplicas: 1 - hpa: - enabled: false - resources: - requests: - cpu: 100m - memory: 30Mi + backup: + minReplicas: 1 + hpa: + enabled: false + resources: + requests: + cpu: 100m + memory: 30Mi -indexManager: - replicas: 1 - resources: - requests: - cpu: 100m - memory: 30Mi + index: + replicas: 1 + resources: + requests: + cpu: 100m + memory: 30Mi meta: minReplicas: 1 diff --git a/charts/vald/values-dev.yaml b/charts/vald/values-dev.yaml index 1c9e98a5df..fa110484c4 100644 --- a/charts/vald/values-dev.yaml +++ b/charts/vald/values-dev.yaml @@ -23,14 +23,15 @@ defaults: enabled: true gateway: - podAnnotations: - profefe.com/enable: "true" - profefe.com/port: "6060" - profefe.com/service: "vald-gateway" - resources: - requests: - cpu: 100m - memory: 50Mi + vald: + podAnnotations: + profefe.com/enable: "true" + profefe.com/port: "6060" + profefe.com/service: "vald-gateway" + resources: + requests: + cpu: 100m + memory: 50Mi agent: podAnnotations: @@ -55,35 +56,36 @@ discoverer: cpu: 100m memory: 50Mi -compressor: - podAnnotations: - profefe.com/enable: "true" - profefe.com/port: "6060" - profefe.com/service: "vald-manager-compressor" - resources: - requests: - cpu: 100m - memory: 50Mi +manager: + compressor: + podAnnotations: + profefe.com/enable: "true" + profefe.com/port: "6060" + profefe.com/service: "vald-manager-compressor" + resources: + requests: + cpu: 100m + memory: 50Mi -backupManager: - podAnnotations: - profefe.com/enable: "true" - profefe.com/port: "6060" - profefe.com/service: "vald-manager-backup" - resources: - requests: - cpu: 100m - memory: 30Mi + backup: + podAnnotations: + profefe.com/enable: "true" + profefe.com/port: "6060" + profefe.com/service: "vald-manager-backup" + resources: + requests: + cpu: 100m + memory: 30Mi -indexManager: - podAnnotations: - profefe.com/enable: "true" - profefe.com/port: "6060" - profefe.com/service: "vald-manager-index" - resources: - requests: - cpu: 100m - memory: 30Mi + index: + podAnnotations: + profefe.com/enable: "true" + profefe.com/port: "6060" + profefe.com/service: "vald-manager-index" + resources: + requests: + cpu: 100m + memory: 30Mi meta: podAnnotations: diff --git a/charts/vald/values-gateways.yaml b/charts/vald/values-gateways.yaml new file mode 100644 index 0000000000..982c3cab96 --- /dev/null +++ b/charts/vald/values-gateways.yaml @@ -0,0 +1,27 @@ +# +# Copyright (C) 2019-2020 Vdaas.org Vald team ( kpango, rinx, kmrmt ) +# +# 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 +# +# https://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. +# + +gateway: + vald: + enabled: false + backup: + enabled: true + filter: + enabled: true + lb: + enabled: true + meta: + enabled: true diff --git a/charts/vald/values-scylla.yaml b/charts/vald/values-scylla.yaml index 90021606f3..fc86bc536b 100644 --- a/charts/vald/values-scylla.yaml +++ b/charts/vald/values-scylla.yaml @@ -14,29 +14,30 @@ # limitations under the License. # -backupManager: - image: - repository: vdaas/vald-manager-backup-cassandra - initContainers: - - type: wait-for-cassandra - name: wait-for-scylla - image: cassandra:latest - cassandra: +manager: + backup: + image: + repository: vdaas/vald-manager-backup-cassandra + initContainers: + - type: wait-for-cassandra + name: wait-for-scylla + image: cassandra:latest + cassandra: + hosts: + - scylla-0.scylla.default.svc.cluster.local + - scylla-1.scylla.default.svc.cluster.local + - scylla-2.scylla.default.svc.cluster.local + sleepDuration: 2 + env: [] + mysql: + enabled: false + cassandra: + enabled: true + config: hosts: - scylla-0.scylla.default.svc.cluster.local - scylla-1.scylla.default.svc.cluster.local - scylla-2.scylla.default.svc.cluster.local - sleepDuration: 2 - env: [] - mysql: - enabled: false - cassandra: - enabled: true - config: - hosts: - - scylla-0.scylla.default.svc.cluster.local - - scylla-1.scylla.default.svc.cluster.local - - scylla-2.scylla.default.svc.cluster.local meta: image: diff --git a/charts/vald/values.schema.json b/charts/vald/values.schema.json index a2dc270a9d..86af964484 100644 --- a/charts/vald/values.schema.json +++ b/charts/vald/values.schema.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema#","title":"Values","type":"object","properties":{"agent":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["StatefulSet","Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"ngt":{"type":"object","properties":{"auto_index_check_duration":{"type":"string"},"auto_index_duration_limit":{"type":"string"},"auto_index_length":{"type":"integer"},"auto_save_index_duration":{"type":"string"},"bulk_insert_chunk_size":{"type":"integer"},"creation_edge_size":{"type":"integer"},"default_epsilon":{"type":"number"},"default_pool_size":{"type":"integer"},"default_radius":{"type":"number"},"dimension":{"type":"integer","minimum":1},"distance_type":{"type":"string","enum":["l1","l2","angle","hamming","cos","cosine","normalizedangle","normalizedcosine"]},"enable_in_memory_mode":{"type":"boolean"},"index_path":{"type":"string"},"initial_delay_max_duration":{"type":"string"},"load_index_timeout_factor":{"type":"string"},"max_load_index_timeout":{"type":"string"},"min_load_index_timeout":{"type":"string"},"object_type":{"type":"string","enum":["float","uint8"]},"search_edge_size":{"type":"integer"}}},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"persistentVolume":{"type":"object","properties":{"accessMode":{"type":"string"},"enabled":{"type":"boolean"},"size":{"type":"string"},"storageClass":{"type":"string"}}},"podAnnotations":{"type":"object"},"podManagementPolicy":{"type":"string","enum":["OrderedReady","Parallel"]},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"},"partition":{"type":"integer"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"sidecar":{"type":"object","properties":{"config":{"type":"object","properties":{"auto_backup_duration":{"type":"string"},"auto_backup_enabled":{"type":"boolean"},"blob_storage":{"type":"object","properties":{"bucket":{"type":"string"},"s3":{"type":"object","properties":{"access_key":{"type":"string"},"enable_100_continue":{"type":"boolean"},"enable_content_md5_validation":{"type":"boolean"},"enable_endpoint_discovery":{"type":"boolean"},"enable_endpoint_host_prefix":{"type":"boolean"},"enable_param_validation":{"type":"boolean"},"enable_ssl":{"type":"boolean"},"endpoint":{"type":"string"},"force_path_style":{"type":"boolean"},"max_chunk_size":{"type":"string","pattern":"^[0-9]+(kb|mb|gb)$"},"max_part_size":{"type":"string","pattern":"^[0-9]+(kb|mb|gb)$"},"max_retries":{"type":"integer"},"region":{"type":"string"},"secret_access_key":{"type":"string"},"token":{"type":"string"},"use_accelerate":{"type":"boolean"},"use_arn_region":{"type":"boolean"},"use_dual_stack":{"type":"boolean"}}},"storage_type":{"type":"string","enum":["s3"]}}},"client":{"type":"object","properties":{"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"transport":{"type":"object","properties":{"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"round_tripper":{"type":"object","properties":{"expect_continue_timeout":{"type":"string"},"force_attempt_http_2":{"type":"boolean"},"idle_conn_timeout":{"type":"string"},"max_conns_per_host":{"type":"integer"},"max_idle_conns":{"type":"integer"},"max_idle_conns_per_host":{"type":"integer"},"max_response_header_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"response_header_timeout":{"type":"string"},"tls_handshake_timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}}}}}},"compress":{"type":"object","properties":{"compress_algorithm":{"type":"string","enum":["gob","gzip","lz4","zstd"]},"compression_level":{"type":"integer"}}},"filename":{"type":"string"},"filename_suffix":{"type":"string"},"post_stop_timeout":{"type":"string"},"restore_backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"watch_enabled":{"type":"boolean"}}},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainerEnabled":{"type":"boolean"},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"name":{"type":"string"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"enabled":{"type":"boolean"},"externalTrafficPolicy":{"type":"string"},"labels":{"type":"object"},"type":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]}}},"time_zone":{"type":"string"},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"}}},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"backupManager":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"cassandra":{"type":"object","properties":{"config":{"type":"object","properties":{"connect_timeout":{"type":"string"},"consistency":{"type":"string","enum":["any","one","two","three","all","quorum","localquorum","eachquorum","localone"]},"cql_version":{"type":"string"},"default_idempotence":{"type":"boolean"},"default_timestamp":{"type":"boolean"},"disable_initial_host_lookup":{"type":"boolean"},"disable_node_status_events":{"type":"boolean"},"disable_skip_metadata":{"type":"boolean"},"disable_topology_events":{"type":"boolean"},"enable_host_verification":{"type":"boolean"},"host_filter":{"type":"object","properties":{"data_center":{"type":"string"},"enabled":{"type":"boolean"},"white_list":{"type":"array","items":{"type":"string"}}}},"hosts":{"type":"array","items":{"type":"string"}},"ignore_peer_addr":{"type":"boolean"},"keyspace":{"type":"string"},"max_prepared_stmts":{"type":"integer"},"max_routing_key_info":{"type":"integer"},"max_wait_schema_agreement":{"type":"string"},"meta_table":{"type":"string"},"num_conns":{"type":"integer"},"page_size":{"type":"integer"},"password":{"type":"string"},"pool_config":{"type":"object","properties":{"data_center":{"type":"string"},"dc_aware_routing":{"type":"boolean"},"non_local_replicas_fallback":{"type":"boolean"},"shuffle_replicas":{"type":"boolean"},"token_aware_host_policy":{"type":"boolean"}}},"port":{"type":"integer"},"proto_version":{"type":"integer"},"reconnect_interval":{"type":"string"},"reconnection_policy":{"type":"object","properties":{"initial_interval":{"type":"string"},"max_retries":{"type":"integer"}}},"retry_policy":{"type":"object","properties":{"max_duration":{"type":"string"},"min_duration":{"type":"string"},"num_retries":{"type":"integer"}}},"serial_consistency":{"type":"string","enum":["localserial","serial"]},"socket_keepalive":{"type":"string"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"username":{"type":"string"},"write_coalesce_wait_time":{"type":"string"}}},"enabled":{"type":"boolean"}}},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"mysql":{"type":"object","properties":{"config":{"type":"object","properties":{"conn_max_life_time":{"type":"string"},"db":{"type":"string","enum":["mysql","postgres","sqlite3"]},"host":{"type":"string"},"max_idle_conns":{"type":"integer"},"max_open_conns":{"type":"integer"},"name":{"type":"string"},"pass":{"type":"string"},"port":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"user":{"type":"string"}}},"enabled":{"type":"boolean"}}},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"compressor":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"backup":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}}}},"compress":{"type":"object","properties":{"compress_algorithm":{"type":"string","enum":["gob","gzip","lz4","zstd"]},"compression_level":{"type":"integer"},"concurrent_limit":{"type":"integer"},"queue_check_duration":{"type":"string"}}},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"registerer":{"type":"object","properties":{"compressor":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}}}},"concurrent_limit":{"type":"integer"},"queue_check_duration":{"type":"string"}}},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"defaults":{"type":"object","properties":{"grpc":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}}}},"image":{"type":"object","properties":{"tag":{"type":"string"}}},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"time_zone":{"type":"string"}}},"discoverer":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"clusterRole":{"type":"object","properties":{"enabled":{"type":"boolean"},"name":{"type":"string"}}},"clusterRoleBinding":{"type":"object","properties":{"enabled":{"type":"boolean"},"name":{"type":"string"}}},"discoverer":{"type":"object","properties":{"discovery_duration":{"type":"string"},"name":{"type":"string"},"namespace":{"type":"string"}}},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceAccount":{"type":"object","properties":{"enabled":{"type":"boolean"},"name":{"type":"string"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"gateway":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"filter":{"type":"object","properties":{"egress":{"type":"array","items":{"type":"string"}},"ingress":{"type":"array","items":{"type":"string"}}}},"gateway_config":{"type":"object","properties":{"agent_namespace":{"type":"string"},"backup":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}}}},"discoverer":{"type":"object","properties":{"agent_client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"discover_client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"duration":{"type":"string"}}},"index_replica":{"type":"integer","minimum":1},"meta":{"type":"object","properties":{"cache_expiration":{"type":"string"},"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"enable_cache":{"type":"boolean"},"expired_cache_check_duration":{"type":"string"}}},"node_namespace":{"type":"string"}}},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"ingress":{"type":"object","properties":{"annotations":{"type":"object"},"enabled":{"type":"boolean"},"host":{"type":"string"},"servicePort":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"indexManager":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"indexer":{"type":"object","properties":{"agent_namespace":{"type":"string"},"auto_index_check_duration":{"type":"string"},"auto_index_duration_limit":{"type":"string"},"auto_index_length":{"type":"integer"},"concurrency":{"type":"integer","minimum":1},"creation_pool_size":{"type":"integer"},"discoverer":{"type":"object","properties":{"agent_client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"discover_client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"duration":{"type":"string"}}},"node_name":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxUnavailable":{"type":"string"},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"replicas":{"type":"integer","minimum":0},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"meta":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"cassandra":{"type":"object","properties":{"config":{"type":"object","properties":{"connect_timeout":{"type":"string"},"consistency":{"type":"string","enum":["any","one","two","three","all","quorum","localquorum","eachquorum","localone"]},"cql_version":{"type":"string"},"default_idempotence":{"type":"boolean"},"default_timestamp":{"type":"boolean"},"disable_initial_host_lookup":{"type":"boolean"},"disable_node_status_events":{"type":"boolean"},"disable_skip_metadata":{"type":"boolean"},"disable_topology_events":{"type":"boolean"},"enable_host_verification":{"type":"boolean"},"host_filter":{"type":"object","properties":{"data_center":{"type":"string"},"enabled":{"type":"boolean"},"white_list":{"type":"array","items":{"type":"string"}}}},"hosts":{"type":"array","items":{"type":"string"}},"ignore_peer_addr":{"type":"boolean"},"keyspace":{"type":"string"},"max_prepared_stmts":{"type":"integer"},"max_routing_key_info":{"type":"integer"},"max_wait_schema_agreement":{"type":"string"},"meta_table":{"type":"string"},"num_conns":{"type":"integer"},"page_size":{"type":"integer"},"password":{"type":"string"},"pool_config":{"type":"object","properties":{"data_center":{"type":"string"},"dc_aware_routing":{"type":"boolean"},"non_local_replicas_fallback":{"type":"boolean"},"shuffle_replicas":{"type":"boolean"},"token_aware_host_policy":{"type":"boolean"}}},"port":{"type":"integer"},"proto_version":{"type":"integer"},"reconnect_interval":{"type":"string"},"reconnection_policy":{"type":"object","properties":{"initial_interval":{"type":"string"},"max_retries":{"type":"integer"}}},"retry_policy":{"type":"object","properties":{"max_duration":{"type":"string"},"min_duration":{"type":"string"},"num_retries":{"type":"integer"}}},"serial_consistency":{"type":"string","enum":["localserial","serial"]},"socket_keepalive":{"type":"string"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"username":{"type":"string"},"write_coalesce_wait_time":{"type":"string"}}},"enabled":{"type":"boolean"}}},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"redis":{"type":"object","properties":{"config":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"db":{"type":"integer"},"dial_timeout":{"type":"string"},"idle_check_frequency":{"type":"string"},"idle_timeout":{"type":"string"},"key_pref":{"type":"string"},"kv_prefix":{"type":"string"},"max_conn_age":{"type":"string"},"max_redirects":{"type":"integer"},"max_retries":{"type":"integer"},"max_retry_backoff":{"type":"string"},"min_idle_conns":{"type":"integer"},"min_retry_backoff":{"type":"string"},"password":{"type":"string"},"pool_size":{"type":"integer"},"pool_timeout":{"type":"string"},"prefix_delimiter":{"type":"string"},"read_only":{"type":"boolean"},"read_timeout":{"type":"string"},"route_by_latency":{"type":"boolean"},"route_randomly":{"type":"boolean"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"vk_prefix":{"type":"string"},"write_timeout":{"type":"string"}}},"enabled":{"type":"boolean"}}},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}}}} +{"$schema":"http://json-schema.org/draft-07/schema#","title":"Values","type":"object","properties":{"agent":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["StatefulSet","Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"ngt":{"type":"object","properties":{"auto_create_index_pool_size":{"type":"integer"},"auto_index_check_duration":{"type":"string"},"auto_index_duration_limit":{"type":"string"},"auto_index_length":{"type":"integer"},"auto_save_index_duration":{"type":"string"},"bulk_insert_chunk_size":{"type":"integer"},"creation_edge_size":{"type":"integer"},"dimension":{"type":"integer","minimum":1},"distance_type":{"type":"string","enum":["l1","l2","angle","hamming","cos","cosine","normalizedangle","normalizedcosine"]},"enable_in_memory_mode":{"type":"boolean"},"index_path":{"type":"string"},"initial_delay_max_duration":{"type":"string"},"object_type":{"type":"string","enum":["float","uint8"]},"search_edge_size":{"type":"integer"}}},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"persistentVolume":{"type":"object","properties":{"accessMode":{"type":"string"},"enabled":{"type":"boolean"},"size":{"type":"string"},"storageClass":{"type":"string"}}},"podAnnotations":{"type":"object"},"podManagementPolicy":{"type":"string","enum":["OrderedReady","Parallel"]},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"},"partition":{"type":"integer"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"sidecar":{"type":"object","properties":{"config":{"type":"object","properties":{"auto_backup_duration":{"type":"string"},"blob_storage":{"type":"object","properties":{"bucket":{"type":"string"},"s3":{"type":"object","properties":{"access_key":{"type":"string"},"enable_100_continue":{"type":"boolean"},"enable_content_md5_validation":{"type":"boolean"},"enable_endpoint_discovery":{"type":"boolean"},"enable_endpoint_host_prefix":{"type":"boolean"},"enable_param_validation":{"type":"boolean"},"enable_ssl":{"type":"boolean"},"endpoint":{"type":"string"},"force_path_style":{"type":"boolean"},"max_chunk_size":{"type":"string","pattern":"^[0-9]+(kb|mb|gb)$"},"max_part_size":{"type":"string","pattern":"^[0-9]+(kb|mb|gb)$"},"max_retries":{"type":"integer"},"region":{"type":"string"},"secret_access_key":{"type":"string"},"token":{"type":"string"},"use_accelerate":{"type":"boolean"},"use_arn_region":{"type":"boolean"},"use_dual_stack":{"type":"boolean"}}},"storage_type":{"type":"string","enum":["s3"]}}},"client":{"type":"object","properties":{"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"transport":{"type":"object","properties":{"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"round_tripper":{"type":"object","properties":{"expect_continue_timeout":{"type":"string"},"force_attempt_http_2":{"type":"boolean"},"idle_conn_timeout":{"type":"string"},"max_conns_per_host":{"type":"integer"},"max_idle_conns":{"type":"integer"},"max_idle_conns_per_host":{"type":"integer"},"max_response_header_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"response_header_timeout":{"type":"string"},"tls_handshake_timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}}}}}},"compress":{"type":"object","properties":{"compress_algorithm":{"type":"string","enum":["gob","gzip","lz4","zstd"]},"compression_level":{"type":"integer"}}},"filename":{"type":"string"},"filename_suffix":{"type":"string"},"post_stop_timeout":{"type":"string"},"restore_backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}}}},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainerEnabled":{"type":"boolean"},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"name":{"type":"string"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"enabled":{"type":"boolean"},"externalTrafficPolicy":{"type":"string"},"labels":{"type":"object"},"type":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]}}},"time_zone":{"type":"string"},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"}}},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"defaults":{"type":"object","properties":{"grpc":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}}}},"image":{"type":"object","properties":{"tag":{"type":"string"}}},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"time_zone":{"type":"string"}}},"discoverer":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"clusterRole":{"type":"object","properties":{"enabled":{"type":"boolean"},"name":{"type":"string"}}},"clusterRoleBinding":{"type":"object","properties":{"enabled":{"type":"boolean"},"name":{"type":"string"}}},"discoverer":{"type":"object","properties":{"discovery_duration":{"type":"string"},"name":{"type":"string"},"namespace":{"type":"string"}}},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceAccount":{"type":"object","properties":{"enabled":{"type":"boolean"},"name":{"type":"string"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"gateway":{"type":"object","properties":{"backup":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"gateway_config":{"type":"object","properties":{"backup":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}}}},"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}}}},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"ingress":{"type":"object","properties":{"annotations":{"type":"object"},"enabled":{"type":"boolean"},"host":{"type":"string"},"servicePort":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"filter":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"gateway_config":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"egress_filter":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}}}},"ingress_filter":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"insert":{"type":"array","items":{"type":"string"}},"search":{"type":"array","items":{"type":"string"}},"update":{"type":"array","items":{"type":"string"}},"upsert":{"type":"array","items":{"type":"string"}}}}}},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"ingress":{"type":"object","properties":{"annotations":{"type":"object"},"enabled":{"type":"boolean"},"host":{"type":"string"},"servicePort":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"lb":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"gateway_config":{"type":"object","properties":{"agent_namespace":{"type":"string"},"discoverer":{"type":"object","properties":{"agent_client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"discover_client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"duration":{"type":"string"}}},"index_replica":{"type":"integer","minimum":1},"node_namespace":{"type":"string"}}},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"ingress":{"type":"object","properties":{"annotations":{"type":"object"},"enabled":{"type":"boolean"},"host":{"type":"string"},"servicePort":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"meta":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"gateway_config":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"meta":{"type":"object","properties":{"cache_expiration":{"type":"string"},"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"enable_cache":{"type":"boolean"},"expired_cache_check_duration":{"type":"string"}}}}},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"ingress":{"type":"object","properties":{"annotations":{"type":"object"},"enabled":{"type":"boolean"},"host":{"type":"string"},"servicePort":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"vald":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"gateway_config":{"type":"object","properties":{"agent_namespace":{"type":"string"},"backup":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}}}},"discoverer":{"type":"object","properties":{"agent_client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"discover_client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"duration":{"type":"string"}}},"index_replica":{"type":"integer","minimum":1},"meta":{"type":"object","properties":{"cache_expiration":{"type":"string"},"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"enable_cache":{"type":"boolean"},"expired_cache_check_duration":{"type":"string"}}},"node_namespace":{"type":"string"}}},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"ingress":{"type":"object","properties":{"annotations":{"type":"object"},"enabled":{"type":"boolean"},"host":{"type":"string"},"servicePort":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}}}},"manager":{"type":"object","properties":{"backup":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"cassandra":{"type":"object","properties":{"config":{"type":"object","properties":{"connect_timeout":{"type":"string"},"consistency":{"type":"string","enum":["any","one","two","three","all","quorum","localquorum","eachquorum","localone"]},"cql_version":{"type":"string"},"default_idempotence":{"type":"boolean"},"default_timestamp":{"type":"boolean"},"disable_initial_host_lookup":{"type":"boolean"},"disable_node_status_events":{"type":"boolean"},"disable_skip_metadata":{"type":"boolean"},"disable_topology_events":{"type":"boolean"},"enable_host_verification":{"type":"boolean"},"host_filter":{"type":"object","properties":{"data_center":{"type":"string"},"enabled":{"type":"boolean"},"white_list":{"type":"array","items":{"type":"string"}}}},"hosts":{"type":"array","items":{"type":"string"}},"ignore_peer_addr":{"type":"boolean"},"keyspace":{"type":"string"},"max_prepared_stmts":{"type":"integer"},"max_routing_key_info":{"type":"integer"},"max_wait_schema_agreement":{"type":"string"},"meta_table":{"type":"string"},"num_conns":{"type":"integer"},"page_size":{"type":"integer"},"password":{"type":"string"},"pool_config":{"type":"object","properties":{"data_center":{"type":"string"},"dc_aware_routing":{"type":"boolean"},"non_local_replicas_fallback":{"type":"boolean"},"shuffle_replicas":{"type":"boolean"},"token_aware_host_policy":{"type":"boolean"}}},"port":{"type":"integer"},"proto_version":{"type":"integer"},"reconnect_interval":{"type":"string"},"reconnection_policy":{"type":"object","properties":{"initial_interval":{"type":"string"},"max_retries":{"type":"integer"}}},"retry_policy":{"type":"object","properties":{"max_duration":{"type":"string"},"min_duration":{"type":"string"},"num_retries":{"type":"integer"}}},"serial_consistency":{"type":"string","enum":["localserial","serial"]},"socket_keepalive":{"type":"string"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"username":{"type":"string"},"write_coalesce_wait_time":{"type":"string"}}},"enabled":{"type":"boolean"}}},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"mysql":{"type":"object","properties":{"config":{"type":"object","properties":{"conn_max_life_time":{"type":"string"},"db":{"type":"string","enum":["mysql","postgres","sqlite3"]},"host":{"type":"string"},"max_idle_conns":{"type":"integer"},"max_open_conns":{"type":"integer"},"name":{"type":"string"},"pass":{"type":"string"},"port":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"user":{"type":"string"}}},"enabled":{"type":"boolean"}}},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"compressor":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"backup":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}}}},"compress":{"type":"object","properties":{"compress_algorithm":{"type":"string","enum":["gob","gzip","lz4","zstd"]},"compression_level":{"type":"integer"},"concurrent_limit":{"type":"integer"},"queue_check_duration":{"type":"string"}}},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"registerer":{"type":"object","properties":{"compressor":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}}}},"concurrent_limit":{"type":"integer"},"queue_check_duration":{"type":"string"}}},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}},"index":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"indexer":{"type":"object","properties":{"agent_namespace":{"type":"string"},"auto_index_check_duration":{"type":"string"},"auto_index_duration_limit":{"type":"string"},"auto_index_length":{"type":"integer"},"concurrency":{"type":"integer","minimum":1},"creation_pool_size":{"type":"integer"},"discoverer":{"type":"object","properties":{"agent_client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"discover_client":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number"},"backoff_time_limit":{"type":"string"},"enable_error_log":{"type":"boolean"},"initial_duration":{"type":"string"},"jitter_limit":{"type":"string"},"maximum_duration":{"type":"string"},"retry_count":{"type":"integer"}}},"call_option":{"type":"object"},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean"},"enable_rebalance":{"type":"boolean"},"old_conn_close_duration":{"type":"string"},"rebalance_duration":{"type":"string"},"size":{"type":"integer"}}},"dial_option":{"type":"object","properties":{"enable_backoff":{"type":"boolean"},"initial_connection_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"insecure":{"type":"boolean"},"keep_alive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_backoff_delay":{"type":"string"},"max_msg_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"write_buffer_size":{"type":"integer"}}},"health_check_duration":{"type":"string"},"max_recv_msg_size":{"type":"integer"},"max_retry_rpc_buffer_size":{"type":"integer"},"max_send_msg_size":{"type":"integer"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"wait_for_ready":{"type":"boolean"}}},"duration":{"type":"string"}}},"node_name":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxUnavailable":{"type":"string"},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"replicas":{"type":"integer","minimum":0},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}}}},"meta":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","items":{"type":"object"}}}}}},"annotations":{"type":"object"},"cassandra":{"type":"object","properties":{"config":{"type":"object","properties":{"connect_timeout":{"type":"string"},"consistency":{"type":"string","enum":["any","one","two","three","all","quorum","localquorum","eachquorum","localone"]},"cql_version":{"type":"string"},"default_idempotence":{"type":"boolean"},"default_timestamp":{"type":"boolean"},"disable_initial_host_lookup":{"type":"boolean"},"disable_node_status_events":{"type":"boolean"},"disable_skip_metadata":{"type":"boolean"},"disable_topology_events":{"type":"boolean"},"enable_host_verification":{"type":"boolean"},"host_filter":{"type":"object","properties":{"data_center":{"type":"string"},"enabled":{"type":"boolean"},"white_list":{"type":"array","items":{"type":"string"}}}},"hosts":{"type":"array","items":{"type":"string"}},"ignore_peer_addr":{"type":"boolean"},"keyspace":{"type":"string"},"max_prepared_stmts":{"type":"integer"},"max_routing_key_info":{"type":"integer"},"max_wait_schema_agreement":{"type":"string"},"meta_table":{"type":"string"},"num_conns":{"type":"integer"},"page_size":{"type":"integer"},"password":{"type":"string"},"pool_config":{"type":"object","properties":{"data_center":{"type":"string"},"dc_aware_routing":{"type":"boolean"},"non_local_replicas_fallback":{"type":"boolean"},"shuffle_replicas":{"type":"boolean"},"token_aware_host_policy":{"type":"boolean"}}},"port":{"type":"integer"},"proto_version":{"type":"integer"},"reconnect_interval":{"type":"string"},"reconnection_policy":{"type":"object","properties":{"initial_interval":{"type":"string"},"max_retries":{"type":"integer"}}},"retry_policy":{"type":"object","properties":{"max_duration":{"type":"string"},"min_duration":{"type":"string"},"num_retries":{"type":"integer"}}},"serial_consistency":{"type":"string","enum":["localserial","serial"]},"socket_keepalive":{"type":"string"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"timeout":{"type":"string"},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"username":{"type":"string"},"write_coalesce_wait_time":{"type":"string"}}},"enabled":{"type":"boolean"}}},"enabled":{"type":"boolean"},"env":{"type":"array","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean"},"targetCPUUtilizationPercentage":{"type":"integer"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string"},"tag":{"type":"string"}}},"initContainers":{"type":"array","items":{"type":"object"}},"kind":{"type":"string","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","enum":["raw","json"]},"level":{"type":"string","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","enum":["glg"]}}},"maxReplicas":{"type":"integer","minimum":0},"maxUnavailable":{"type":"string"},"minReplicas":{"type":"integer","minimum":0},"name":{"type":"string"},"nodeName":{"type":"string"},"nodeSelector":{"type":"object"},"observability":{"type":"object","properties":{"collector":{"type":"object","properties":{"duration":{"type":"string"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean"},"enable_goroutine":{"type":"boolean"},"enable_memory":{"type":"boolean"},"enable_version_info":{"type":"boolean"},"version_info_labels":{"type":"array","items":{"type":"string","enum":["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","cgo_enabled","ngt_version","build_cpu_info_flags"]}}}}}},"enabled":{"type":"boolean"},"jaeger":{"type":"object","properties":{"agent_endpoint":{"type":"string"},"buffer_max_count":{"type":"integer"},"collector_endpoint":{"type":"string"},"enabled":{"type":"boolean"},"password":{"type":"string"},"service_name":{"type":"string"},"username":{"type":"string"}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"endpoint":{"type":"string"},"namespace":{"type":"string"}}},"stackdriver":{"type":"object","properties":{"client":{"type":"object","properties":{"api_key":{"type":"string"},"audiences":{"type":"array","items":{"type":"string"}},"authentication_enabled":{"type":"boolean"},"credentials_file":{"type":"string"},"credentials_json":{"type":"string"},"endpoint":{"type":"string"},"quota_project":{"type":"string"},"request_reason":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"telemetry_enabled":{"type":"boolean"},"user_agent":{"type":"string"}}},"exporter":{"type":"object","properties":{"bundle_count_threshold":{"type":"integer"},"bundle_delay_threshold":{"type":"string"},"location":{"type":"string"},"metric_prefix":{"type":"string"},"monitoring_enabled":{"type":"boolean"},"number_of_workers":{"type":"integer"},"reporting_interval":{"type":"string"},"skip_cmd":{"type":"boolean"},"timeout":{"type":"string"},"trace_spans_buffer_max_bytes":{"type":"integer"},"tracing_enabled":{"type":"boolean"}}},"profiler":{"type":"object","properties":{"alloc_force_gc":{"type":"boolean"},"alloc_profiling":{"type":"boolean"},"api_addr":{"type":"string"},"cpu_profiling":{"type":"boolean"},"debug_logging":{"type":"boolean"},"enabled":{"type":"boolean"},"goroutine_profiling":{"type":"boolean"},"heap_profiling":{"type":"boolean"},"instance":{"type":"string"},"mutex_profiling":{"type":"boolean"},"service":{"type":"string"},"service_version":{"type":"string"},"zone":{"type":"string"}}},"project_id":{"type":"string"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean"},"sampling_rate":{"type":"number"}}}}},"podAnnotations":{"type":"object"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean"},"value":{"type":"integer"}}},"progressDeadlineSeconds":{"type":"integer"},"redis":{"type":"object","properties":{"config":{"type":"object","properties":{"addrs":{"type":"array","items":{"type":"string"}},"db":{"type":"integer"},"dial_timeout":{"type":"string"},"idle_check_frequency":{"type":"string"},"idle_timeout":{"type":"string"},"key_pref":{"type":"string"},"kv_prefix":{"type":"string"},"max_conn_age":{"type":"string"},"max_redirects":{"type":"integer"},"max_retries":{"type":"integer"},"max_retry_backoff":{"type":"string"},"min_idle_conns":{"type":"integer"},"min_retry_backoff":{"type":"string"},"password":{"type":"string"},"pool_size":{"type":"integer"},"pool_timeout":{"type":"string"},"prefix_delimiter":{"type":"string"},"read_only":{"type":"boolean"},"read_timeout":{"type":"string"},"route_by_latency":{"type":"boolean"},"route_randomly":{"type":"boolean"},"tcp":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean"},"keep_alive":{"type":"string"},"timeout":{"type":"string"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean"},"cache_expiration":{"type":"string"},"refresh_duration":{"type":"string"}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}},"vk_prefix":{"type":"string"},"write_timeout":{"type":"string"}}},"enabled":{"type":"boolean"}}},"resources":{"type":"object","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string"},"maxUnavailable":{"type":"string"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timetoutSeconds":{"type":"integer"}}},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer"},"httpGet":{"type":"object","properties":{"path":{"type":"string"},"port":{"type":"string"},"scheme":{"type":"string"}}},"initialDelaySeconds":{"type":"integer"},"periodSeconds":{"type":"integer"},"successThreshold":{"type":"integer"},"timeoutSeconds":{"type":"integer"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"prometheus":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string"},"idle_timeout":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer"},"connection_timeout":{"type":"string"},"header_table_size":{"type":"integer"},"initial_conn_window_size":{"type":"integer"},"initial_window_size":{"type":"integer"},"interceptors":{"type":"array"},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string"},"max_conn_age_grace":{"type":"string"},"max_conn_idle":{"type":"string"},"time":{"type":"string"},"timeout":{"type":"string"}}},"max_header_list_size":{"type":"integer"},"max_receive_message_size":{"type":"integer"},"max_send_message_size":{"type":"integer"},"read_buffer_size":{"type":"integer"},"write_buffer_size":{"type":"integer"}}},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"restart":{"type":"boolean"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"handler_timeout":{"type":"string"},"http":{"type":"object"},"idle_timeout":{"type":"string"},"mode":{"type":"string"},"probe_wait_time":{"type":"string"},"read_header_timeout":{"type":"string"},"read_timeout":{"type":"string"},"shutdown_duration":{"type":"string"},"write_timeout":{"type":"string"}}},"servicePort":{"type":"integer","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"cert":{"type":"string"},"enabled":{"type":"boolean"},"key":{"type":"string"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object"},"labels":{"type":"object"}}},"serviceType":{"type":"string","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","minimum":0},"time_zone":{"type":"string"},"tolerations":{"type":"array","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","items":{"type":"object"}},"version":{"type":"string","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","items":{"type":"object"}},"volumes":{"type":"array","items":{"type":"object"}}}}}} diff --git a/charts/vald/values.yaml b/charts/vald/values.yaml index 311413271f..4ef01ccc9f 100644 --- a/charts/vald/values.yaml +++ b/charts/vald/values.yaml @@ -755,285 +755,1212 @@ defaults: # @schema {"name": "gateway", "type": "object"} gateway: - # @schema {"name": "gateway.enabled", "type": "boolean"} - # gateway.enabled -- gateway enabled - enabled: true - # @schema {"name": "gateway.version", "type": "string", "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$", "anchor": "version"} - # gateway.version -- version of gateway config - version: v0.0.0 - # @schema {"name": "gateway.time_zone", "type": "string"} - # gateway.time_zone -- Time zone - time_zone: "" - # @schema {"name": "gateway.logging", "alias": "logging"} - # gateway.logging -- logging config (overrides defaults.logging) - logging: {} - # @schema {"name": "gateway.name", "type": "string"} - # gateway.name -- name of gateway deployment - name: vald-gateway - # @schema {"name": "gateway.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} - # gateway.kind -- deployment kind: Deployment or DaemonSet - kind: Deployment - # @schema {"name": "gateway.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} - # gateway.serviceType -- service type: ClusterIP, LoadBalancer or NodePort - serviceType: ClusterIP - # @schema {"name": "gateway.externalTrafficPolicy", "type": "string"} - # gateway.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local - externalTrafficPolicy: "" - # @schema {"name": "gateway.progressDeadlineSeconds", "type": "integer"} - # gateway.progressDeadlineSeconds -- progress deadline seconds - progressDeadlineSeconds: 600 - # @schema {"name": "gateway.minReplicas", "type": "integer", "minimum": 0} - # gateway.minReplicas -- minimum number of replicas. - # if HPA is disabled, the replicas will be set to this value - minReplicas: 3 - # @schema {"name": "gateway.maxReplicas", "type": "integer", "minimum": 0} - # gateway.maxReplicas -- maximum number of replicas. - # if HPA is disabled, this value will be ignored. - maxReplicas: 9 - # @schema {"name": "gateway.maxUnavailable", "type": "string"} - # gateway.maxUnavailable -- maximum number of unavailable replicas - maxUnavailable: 50% - # @schema {"name": "gateway.revisionHistoryLimit", "type": "integer", "minimum": 0} - # gateway.revisionHistoryLimit -- number of old history to retain to allow rollback - revisionHistoryLimit: 2 - # @schema {"name": "gateway.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} - # gateway.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully - terminationGracePeriodSeconds: 30 - # @schema {"name": "gateway.podPriority", "type": "object", "anchor": "podPriority"} - podPriority: - # @schema {"name": "gateway.podPriority.enabled", "type": "boolean"} - # gateway.podPriority.enabled -- gateway pod PriorityClass enabled + # @schema {"name": "gateway.vald", "type": "object"} + vald: + # @schema {"name": "gateway.vald.enabled", "type": "boolean"} + # gateway.vald.enabled -- gateway enabled enabled: true - # @schema {"name": "gateway.podPriority.value", "type": "integer"} - # gateway.podPriority.value -- gateway pod PriorityClass value - value: 1000000 - # @schema {"name": "gateway.annotations", "type": "object"} - # gateway.annotations -- deployment annotations - annotations: {} - # @schema {"name": "gateway.podAnnotations", "type": "object"} - # gateway.podAnnotations -- pod annotations - podAnnotations: {} - # @schema {"name": "gateway.service", "type": "object", "anchor": "service"} - service: - # @schema {"name": "gateway.service.annotations", "type": "object"} - # gateway.service.annotations -- service annotations + # @schema {"name": "gateway.vald.version", "type": "string", "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$", "anchor": "version"} + # gateway.vald.version -- version of gateway config + version: v0.0.0 + # @schema {"name": "gateway.vald.time_zone", "type": "string"} + # gateway.vald.time_zone -- Time zone + time_zone: "" + # @schema {"name": "gateway.vald.logging", "alias": "logging"} + # gateway.vald.logging -- logging config (overrides defaults.logging) + logging: {} + # @schema {"name": "gateway.vald.name", "type": "string"} + # gateway.vald.name -- name of gateway deployment + name: vald-gateway + # @schema {"name": "gateway.vald.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} + # gateway.vald.kind -- deployment kind: Deployment or DaemonSet + kind: Deployment + # @schema {"name": "gateway.vald.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} + # gateway.vald.serviceType -- service type: ClusterIP, LoadBalancer or NodePort + serviceType: ClusterIP + # @schema {"name": "gateway.vald.externalTrafficPolicy", "type": "string"} + # gateway.vald.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local + externalTrafficPolicy: "" + # @schema {"name": "gateway.vald.progressDeadlineSeconds", "type": "integer"} + # gateway.vald.progressDeadlineSeconds -- progress deadline seconds + progressDeadlineSeconds: 600 + # @schema {"name": "gateway.vald.minReplicas", "type": "integer", "minimum": 0} + # gateway.vald.minReplicas -- minimum number of replicas. + # if HPA is disabled, the replicas will be set to this value + minReplicas: 3 + # @schema {"name": "gateway.vald.maxReplicas", "type": "integer", "minimum": 0} + # gateway.vald.maxReplicas -- maximum number of replicas. + # if HPA is disabled, this value will be ignored. + maxReplicas: 9 + # @schema {"name": "gateway.vald.maxUnavailable", "type": "string"} + # gateway.vald.maxUnavailable -- maximum number of unavailable replicas + maxUnavailable: 50% + # @schema {"name": "gateway.vald.revisionHistoryLimit", "type": "integer", "minimum": 0} + # gateway.vald.revisionHistoryLimit -- number of old history to retain to allow rollback + revisionHistoryLimit: 2 + # @schema {"name": "gateway.vald.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} + # gateway.vald.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully + terminationGracePeriodSeconds: 30 + # @schema {"name": "gateway.vald.podPriority", "type": "object", "anchor": "podPriority"} + podPriority: + # @schema {"name": "gateway.vald.podPriority.enabled", "type": "boolean"} + # gateway.vald.podPriority.enabled -- gateway pod PriorityClass enabled + enabled: true + # @schema {"name": "gateway.vald.podPriority.value", "type": "integer"} + # gateway.vald.podPriority.value -- gateway pod PriorityClass value + value: 1000000 + # @schema {"name": "gateway.vald.annotations", "type": "object"} + # gateway.vald.annotations -- deployment annotations annotations: {} - # @schema {"name": "gateway.service.labels", "type": "object"} - # gateway.service.labels -- service labels - labels: {} - # @schema {"name": "gateway.hpa", "type": "object", "anchor": "hpa"} - hpa: - # @schema {"name": "gateway.hpa.enabled", "type": "boolean"} - # gateway.hpa.enabled -- HPA enabled - enabled: true - # @schema {"name": "gateway.hpa.targetCPUUtilizationPercentage", "type": "integer"} - # gateway.hpa.targetCPUUtilizationPercentage -- HPA CPU utilization percentage - targetCPUUtilizationPercentage: 80 - # @schema {"name": "gateway.image", "type": "object", "anchor": "image"} - image: - # @schema {"name": "gateway.image.repository", "type": "string"} - # gateway.image.repository -- image repository - repository: vdaas/vald-gateway - # @schema {"name": "gateway.image.tag", "type": "string"} - # gateway.image.tag -- image tag (overrides defaults.image.tag) - tag: "" - # @schema {"name": "gateway.image.pullPolicy", "type": "string", "enum": ["Always", "Never", "IfNotPresent"]} - # gateway.image.pullPolicy -- image pull policy - pullPolicy: Always - # @schema {"name": "gateway.rollingUpdate", "type": "object", "anchor": "rollingUpdate"} - rollingUpdate: - # @schema {"name": "gateway.rollingUpdate.maxSurge", "type": "string"} - # gateway.rollingUpdate.maxSurge -- max surge of rolling update - maxSurge: 25% - # @schema {"name": "gateway.rollingUpdate.maxUnavailable", "type": "string"} - # gateway.rollingUpdate.maxUnavailable -- max unavailable of rolling update - maxUnavailable: 25% - # @schema {"name": "gateway.initContainers", "type": "array", "items": {"type": "object"}, "anchor": "initContainers"} - # gateway.initContainers -- init containers - initContainers: - - type: wait-for - name: wait-for-manager-compressor - target: compressor - image: busybox - sleepDuration: 2 - - type: wait-for - name: wait-for-meta - target: meta - image: busybox - sleepDuration: 2 - - type: wait-for - name: wait-for-discoverer - target: discoverer - image: busybox - sleepDuration: 2 - - type: wait-for - name: wait-for-agent - target: agent - image: busybox - sleepDuration: 2 - # @schema {"name": "gateway.env", "type": "array", "items": {"type": "object"}, "anchor": "env"} - # gateway.env -- environment variables - env: - # - name: MY_NODE_NAME - # valueFrom: - # fieldRef: - # fieldPath: spec.nodeName - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - # @schema {"name": "gateway.volumeMounts", "type": "array", "items": {"type": "object"}, "anchor": "volumeMounts"} - # gateway.volumeMounts -- volume mounts - volumeMounts: [] - # @schema {"name": "gateway.volumes", "type": "array", "items": {"type": "object"}, "anchor": "volumes"} - # gateway.volumes -- volumes - volumes: [] - # @schema {"name": "gateway.nodeName", "type": "string"} - # gateway.nodeName -- node name - nodeName: "" - # @schema {"name": "gateway.nodeSelector", "type": "object", "anchor": "nodeSelector"} - # gateway.nodeSelector -- node selector - nodeSelector: {} - # @schema {"name": "gateway.tolerations", "type": "array", "items": {"type": "object"}, "anchor": "tolerations"} - # gateway.tolerations -- tolerations - tolerations: [] - # @schema {"name": "gateway.affinity", "type": "object", "anchor": "affinity"} - affinity: - # @schema {"name": "gateway.affinity.nodeAffinity", "type": "object"} - nodeAffinity: - # @schema {"name": "gateway.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} - # gateway.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: [] - # @schema {"name": "gateway.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "object"} - requiredDuringSchedulingIgnoredDuringExecution: - # @schema {"name": "gateway.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms", "type": "array", "items": {"type": "object"}} - # gateway.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors - nodeSelectorTerms: [] - # @schema {"name": "gateway.affinity.podAffinity", "type": "object"} - podAffinity: - # @schema {"name": "gateway.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} - # gateway.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: [] - # @schema {"name": "gateway.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} - # gateway.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms - requiredDuringSchedulingIgnoredDuringExecution: [] - # @schema {"name": "gateway.affinity.podAntiAffinity", "type": "object"} - podAntiAffinity: - # @schema {"name": "gateway.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} - # gateway.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - topologyKey: kubernetes.io/hostname - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - vald-gateway - # @schema {"name": "gateway.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} - # gateway.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms - requiredDuringSchedulingIgnoredDuringExecution: [] - # @schema {"name": "gateway.topologySpreadConstraints", "type": "array", "items": {"type": "object"}, "anchor": "topologySpreadConstraints"} - # gateway.topologySpreadConstraints -- topology spread constraints of gateway pods - topologySpreadConstraints: [] - # @schema {"name": "gateway.server_config", "alias": "server_config"} - # gateway.server_config -- server config (overrides defaults.server_config) - server_config: - servers: - rest: {} - grpc: {} - healths: - liveness: {} - readiness: {} - metrics: - pprof: {} - prometheus: {} - # @schema {"name": "gateway.observability", "alias": "observability"} - # gateway.observability -- observability config (overrides defaults.observability) - observability: - jaeger: - service_name: vald-gateway - stackdriver: - profiler: - service: vald-gateway + # @schema {"name": "gateway.vald.podAnnotations", "type": "object"} + # gateway.vald.podAnnotations -- pod annotations + podAnnotations: {} + # @schema {"name": "gateway.vald.service", "type": "object", "anchor": "service"} + service: + # @schema {"name": "gateway.vald.service.annotations", "type": "object"} + # gateway.vald.service.annotations -- service annotations + annotations: {} + # @schema {"name": "gateway.vald.service.labels", "type": "object"} + # gateway.vald.service.labels -- service labels + labels: {} + # @schema {"name": "gateway.vald.hpa", "type": "object", "anchor": "hpa"} + hpa: + # @schema {"name": "gateway.vald.hpa.enabled", "type": "boolean"} + # gateway.vald.hpa.enabled -- HPA enabled + enabled: true + # @schema {"name": "gateway.vald.hpa.targetCPUUtilizationPercentage", "type": "integer"} + # gateway.vald.hpa.targetCPUUtilizationPercentage -- HPA CPU utilization percentage + targetCPUUtilizationPercentage: 80 + # @schema {"name": "gateway.vald.image", "type": "object", "anchor": "image"} + image: + # @schema {"name": "gateway.vald.image.repository", "type": "string"} + # gateway.vald.image.repository -- image repository + repository: vdaas/vald-gateway + # @schema {"name": "gateway.vald.image.tag", "type": "string"} + # gateway.vald.image.tag -- image tag (overrides defaults.image.tag) + tag: "" + # @schema {"name": "gateway.vald.image.pullPolicy", "type": "string", "enum": ["Always", "Never", "IfNotPresent"]} + # gateway.vald.image.pullPolicy -- image pull policy + pullPolicy: Always + # @schema {"name": "gateway.vald.rollingUpdate", "type": "object", "anchor": "rollingUpdate"} + rollingUpdate: + # @schema {"name": "gateway.vald.rollingUpdate.maxSurge", "type": "string"} + # gateway.vald.rollingUpdate.maxSurge -- max surge of rolling update + maxSurge: 25% + # @schema {"name": "gateway.vald.rollingUpdate.maxUnavailable", "type": "string"} + # gateway.vald.rollingUpdate.maxUnavailable -- max unavailable of rolling update + maxUnavailable: 25% + # @schema {"name": "gateway.vald.initContainers", "type": "array", "items": {"type": "object"}, "anchor": "initContainers"} + # gateway.vald.initContainers -- init containers + initContainers: + - type: wait-for + name: wait-for-manager-compressor + target: compressor + image: busybox + sleepDuration: 2 + - type: wait-for + name: wait-for-meta + target: meta + image: busybox + sleepDuration: 2 + - type: wait-for + name: wait-for-discoverer + target: discoverer + image: busybox + sleepDuration: 2 + - type: wait-for + name: wait-for-agent + target: agent + image: busybox + sleepDuration: 2 + # @schema {"name": "gateway.vald.env", "type": "array", "items": {"type": "object"}, "anchor": "env"} + # gateway.vald.env -- environment variables + env: + # - name: MY_NODE_NAME + # valueFrom: + # fieldRef: + # fieldPath: spec.nodeName + - name: MY_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + # @schema {"name": "gateway.vald.volumeMounts", "type": "array", "items": {"type": "object"}, "anchor": "volumeMounts"} + # gateway.vald.volumeMounts -- volume mounts + volumeMounts: [] + # @schema {"name": "gateway.vald.volumes", "type": "array", "items": {"type": "object"}, "anchor": "volumes"} + # gateway.vald.volumes -- volumes + volumes: [] + # @schema {"name": "gateway.vald.nodeName", "type": "string"} + # gateway.vald.nodeName -- node name + nodeName: "" + # @schema {"name": "gateway.vald.nodeSelector", "type": "object", "anchor": "nodeSelector"} + # gateway.vald.nodeSelector -- node selector + nodeSelector: {} + # @schema {"name": "gateway.vald.tolerations", "type": "array", "items": {"type": "object"}, "anchor": "tolerations"} + # gateway.vald.tolerations -- tolerations + tolerations: [] + # @schema {"name": "gateway.vald.affinity", "type": "object", "anchor": "affinity"} + affinity: + # @schema {"name": "gateway.vald.affinity.nodeAffinity", "type": "object"} + nodeAffinity: + # @schema {"name": "gateway.vald.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.vald.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.vald.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "object"} + requiredDuringSchedulingIgnoredDuringExecution: + # @schema {"name": "gateway.vald.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms", "type": "array", "items": {"type": "object"}} + # gateway.vald.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors + nodeSelectorTerms: [] + # @schema {"name": "gateway.vald.affinity.podAffinity", "type": "object"} + podAffinity: + # @schema {"name": "gateway.vald.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.vald.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.vald.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.vald.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.vald.affinity.podAntiAffinity", "type": "object"} + podAntiAffinity: + # @schema {"name": "gateway.vald.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.vald.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + topologyKey: kubernetes.io/hostname + labelSelector: + matchExpressions: + - key: app + operator: In + values: + - vald-gateway + # @schema {"name": "gateway.vald.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.vald.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.vald.topologySpreadConstraints", "type": "array", "items": {"type": "object"}, "anchor": "topologySpreadConstraints"} + # gateway.vald.topologySpreadConstraints -- topology spread constraints of gateway pods + topologySpreadConstraints: [] + # @schema {"name": "gateway.vald.server_config", "alias": "server_config"} + # gateway.vald.server_config -- server config (overrides defaults.server_config) + server_config: + servers: + rest: {} + grpc: {} + healths: + liveness: {} + readiness: {} + metrics: + pprof: {} + prometheus: {} + # @schema {"name": "gateway.vald.observability", "alias": "observability"} + # gateway.vald.observability -- observability config (overrides defaults.observability) + observability: + jaeger: + service_name: vald-gateway + stackdriver: + profiler: + service: vald-gateway + # @schema {"name": "gateway.vald.ingress", "type": "object"} + ingress: + # @schema {"name": "gateway.vald.ingress.enabled", "type": "boolean"} + # gateway.vald.ingress.enabled -- gateway ingress enabled + enabled: true + # @schema {"name": "gateway.vald.ingress.annotations", "type": "object"} + # gateway.vald.ingress.annotations -- annotations for ingress + annotations: + nginx.ingress.kubernetes.io/grpc-backend: "true" + # @schema {"name": "gateway.vald.ingress.host", "type": "string"} + # gateway.vald.ingress.host -- ingress hostname + host: vald.gateway.vald.vdaas.org + # @schema {"name": "gateway.vald.ingress.servicePort", "type": "string"} + # gateway.vald.ingress.servicePort -- service port to be exposed by ingress + servicePort: grpc + # @schema {"name": "gateway.vald.resources", "type": "object", "anchor": "resources"} + # gateway.vald.resources -- compute resources + resources: + # @schema {"name": "gateway.vald.resources.requests", "type": "object"} + requests: + cpu: 200m + memory: 150Mi + # @schema {"name": "gateway.vald.resources.limits", "type": "object"} + limits: + cpu: 2000m + memory: 700Mi + # @schema {"name": "gateway.vald.gateway_config", "type": "object"} + gateway_config: + # @schema {"name": "gateway.vald.gateway_config.agent_namespace", "type": "string"} + # gateway.vald.gateway_config.agent_namespace -- agent namespace + agent_namespace: _MY_POD_NAMESPACE_ + # @schema {"name": "gateway.vald.gateway_config.node_namespace", "type": "string"} + # gateway.vald.gateway_config.node_name -- node name + node_name: "" # _MY_NODE_NAME_ + # @schema {"name": "gateway.vald.gateway_config.index_replica", "type": "integer", "minimum": 1} + # gateway.vald.gateway_config.index_replica -- number of index replica + index_replica: 5 + # @schema {"name": "gateway.vald.gateway_config.discoverer", "type": "object"} + discoverer: + # @schema {"name": "gateway.vald.gateway_config.discoverer.duration", "type": "string"} + # gateway.vald.gateway_config.discoverer.duration -- discoverer duration + duration: 200ms + # @schema {"name": "gateway.vald.gateway_config.discoverer.discover_client", "alias": "grpc.client"} + # gateway.vald.gateway_config.discoverer.discover_client -- gRPC client for discoverer (overrides defaults.grpc.client) + discover_client: {} + # @schema {"name": "gateway.vald.gateway_config.discoverer.agent_client", "alias": "grpc.client"} + # gateway.vald.gateway_config.discoverer.agent_client -- gRPC client for agents (overrides defaults.grpc.client) + agent_client: {} + # @schema {"name": "gateway.vald.gateway_config.meta", "type": "object"} + meta: + # @schema {"name": "gateway.vald.gateway_config.meta.client", "alias": "grpc.client"} + # gateway.vald.gateway_config.meta.client -- gRPC client for meta (overrides defaults.grpc.client) + client: {} + # @schema {"name": "gateway.vald.gateway_config.meta.enable_cache", "type": "boolean"} + # gateway.vald.gateway_config.meta.enable_cache -- meta cache enabled + enable_cache: true + # @schema {"name": "gateway.vald.gateway_config.meta.cache_expiration", "type": "string"} + # gateway.vald.gateway_config.meta.cache_expiration -- meta cache expire duration + cache_expiration: "30m" + # @schema {"name": "gateway.vald.gateway_config.meta.expired_cache_check_duration", "type": "string"} + # gateway.vald.gateway_config.meta.expired_cache_check_duration -- meta cache expired check duration + expired_cache_check_duration: "3m" + # @schema {"name": "gateway.vald.gateway_config.backup", "type": "object"} + backup: + # @schema {"name": "gateway.vald.gateway_config.backup.client", "alias": "grpc.client"} + # gateway.vald.gateway_config.backup.client -- gRPC client for backup (overrides defaults.grpc.client) + client: {} + # @schema {"name": "gateway.backup", "type": "object"} + backup: + # @schema {"name": "gateway.backup.enabled", "type": "boolean"} + # gateway.backup.enabled -- gateway enabled + enabled: false + # @schema {"name": "gateway.backup.version", "type": "string", "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$", "anchor": "version"} + # gateway.backup.version -- version of gateway config + version: v0.0.0 + # @schema {"name": "gateway.backup.time_zone", "type": "string"} + # gateway.backup.time_zone -- Time zone + time_zone: "" + # @schema {"name": "gateway.backup.logging", "alias": "logging"} + # gateway.backup.logging -- logging config (overrides defaults.logging) + logging: {} + # @schema {"name": "gateway.backup.name", "type": "string"} + # gateway.backup.name -- name of backup gateway deployment + name: vald-gateway-backup + # @schema {"name": "gateway.backup.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} + # gateway.backup.kind -- deployment kind: Deployment or DaemonSet + kind: Deployment + # @schema {"name": "gateway.backup.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} + # gateway.backup.serviceType -- service type: ClusterIP, LoadBalancer or NodePort + serviceType: ClusterIP + # @schema {"name": "gateway.backup.externalTrafficPolicy", "type": "string"} + # gateway.backup.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local + externalTrafficPolicy: "" + # @schema {"name": "gateway.backup.progressDeadlineSeconds", "type": "integer"} + # gateway.backup.progressDeadlineSeconds -- progress deadline seconds + progressDeadlineSeconds: 600 + # @schema {"name": "gateway.backup.minReplicas", "type": "integer", "minimum": 0} + # gateway.backup.minReplicas -- minimum number of replicas. + # if HPA is disabled, the replicas will be set to this value + minReplicas: 3 + # @schema {"name": "gateway.backup.maxReplicas", "type": "integer", "minimum": 0} + # gateway.backup.maxReplicas -- maximum number of replicas. + # if HPA is disabled, this value will be ignored. + maxReplicas: 9 + # @schema {"name": "gateway.backup.maxUnavailable", "type": "string"} + # gateway.backup.maxUnavailable -- maximum number of unavailable replicas + maxUnavailable: 50% + # @schema {"name": "gateway.backup.revisionHistoryLimit", "type": "integer", "minimum": 0} + # gateway.backup.revisionHistoryLimit -- number of old history to retain to allow rollback + revisionHistoryLimit: 2 + # @schema {"name": "gateway.backup.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} + # gateway.backup.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully + terminationGracePeriodSeconds: 30 + # @schema {"name": "gateway.backup.podPriority", "type": "object", "anchor": "podPriority"} + podPriority: + # @schema {"name": "gateway.backup.podPriority.enabled", "type": "boolean"} + # gateway.backup.podPriority.enabled -- gateway pod PriorityClass enabled + enabled: true + # @schema {"name": "gateway.backup.podPriority.value", "type": "integer"} + # gateway.backup.podPriority.value -- gateway pod PriorityClass value + value: 1000000 + # @schema {"name": "gateway.backup.annotations", "type": "object"} + # gateway.backup.annotations -- deployment annotations + annotations: {} + # @schema {"name": "gateway.backup.podAnnotations", "type": "object"} + # gateway.backup.podAnnotations -- pod annotations + podAnnotations: {} + # @schema {"name": "gateway.backup.service", "type": "object", "anchor": "service"} + service: + # @schema {"name": "gateway.backup.service.annotations", "type": "object"} + # gateway.backup.service.annotations -- service annotations + annotations: {} + # @schema {"name": "gateway.backup.service.labels", "type": "object"} + # gateway.backup.service.labels -- service labels + labels: {} + # @schema {"name": "gateway.backup.hpa", "type": "object", "anchor": "hpa"} + hpa: + # @schema {"name": "gateway.backup.hpa.enabled", "type": "boolean"} + # gateway.backup.hpa.enabled -- HPA enabled + enabled: true + # @schema {"name": "gateway.backup.hpa.targetCPUUtilizationPercentage", "type": "integer"} + # gateway.backup.hpa.targetCPUUtilizationPercentage -- HPA CPU utilization percentage + targetCPUUtilizationPercentage: 80 + # @schema {"name": "gateway.backup.image", "type": "object", "anchor": "image"} + image: + # @schema {"name": "gateway.backup.image.repository", "type": "string"} + # gateway.backup.image.repository -- image repository + repository: vdaas/vald-gateway-backup + # @schema {"name": "gateway.backup.image.tag", "type": "string"} + # gateway.backup.image.tag -- image tag (overrides defaults.image.tag) + tag: "" + # @schema {"name": "gateway.backup.image.pullPolicy", "type": "string", "enum": ["Always", "Never", "IfNotPresent"]} + # gateway.backup.image.pullPolicy -- image pull policy + pullPolicy: Always + # @schema {"name": "gateway.backup.rollingUpdate", "type": "object", "anchor": "rollingUpdate"} + rollingUpdate: + # @schema {"name": "gateway.backup.rollingUpdate.maxSurge", "type": "string"} + # gateway.backup.rollingUpdate.maxSurge -- max surge of rolling update + maxSurge: 25% + # @schema {"name": "gateway.backup.rollingUpdate.maxUnavailable", "type": "string"} + # gateway.backup.rollingUpdate.maxUnavailable -- max unavailable of rolling update + maxUnavailable: 25% + # @schema {"name": "gateway.backup.initContainers", "type": "array", "items": {"type": "object"}, "anchor": "initContainers"} + # gateway.backup.initContainers -- init containers + initContainers: + - type: wait-for + name: wait-for-manager-compressor + target: compressor + image: busybox + sleepDuration: 2 + - type: wait-for + name: wait-for-gateway-lb + target: gateway-lb + image: busybox + sleepDuration: 2 + # @schema {"name": "gateway.backup.env", "type": "array", "items": {"type": "object"}, "anchor": "env"} + # gateway.backup.env -- environment variables + env: [] + # @schema {"name": "gateway.backup.volumeMounts", "type": "array", "items": {"type": "object"}, "anchor": "volumeMounts"} + # gateway.backup.volumeMounts -- volume mounts + volumeMounts: [] + # @schema {"name": "gateway.backup.volumes", "type": "array", "items": {"type": "object"}, "anchor": "volumes"} + # gateway.backup.volumes -- volumes + volumes: [] + # @schema {"name": "gateway.backup.nodeName", "type": "string"} + # gateway.backup.nodeName -- node name + nodeName: "" + # @schema {"name": "gateway.backup.nodeSelector", "type": "object", "anchor": "nodeSelector"} + # gateway.backup.nodeSelector -- node selector + nodeSelector: {} + # @schema {"name": "gateway.backup.tolerations", "type": "array", "items": {"type": "object"}, "anchor": "tolerations"} + # gateway.backup.tolerations -- tolerations + tolerations: [] + # @schema {"name": "gateway.backup.affinity", "type": "object", "anchor": "affinity"} + affinity: + # @schema {"name": "gateway.backup.affinity.nodeAffinity", "type": "object"} + nodeAffinity: + # @schema {"name": "gateway.backup.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.backup.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.backup.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "object"} + requiredDuringSchedulingIgnoredDuringExecution: + # @schema {"name": "gateway.backup.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms", "type": "array", "items": {"type": "object"}} + # gateway.backup.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors + nodeSelectorTerms: [] + # @schema {"name": "gateway.backup.affinity.podAffinity", "type": "object"} + podAffinity: + # @schema {"name": "gateway.backup.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.backup.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.backup.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.backup.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.backup.affinity.podAntiAffinity", "type": "object"} + podAntiAffinity: + # @schema {"name": "gateway.backup.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.backup.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + topologyKey: kubernetes.io/hostname + labelSelector: + matchExpressions: + - key: app + operator: In + values: + - vald-gateway-backup + # @schema {"name": "gateway.backup.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.backup.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.backup.topologySpreadConstraints", "type": "array", "items": {"type": "object"}, "anchor": "topologySpreadConstraints"} + # gateway.backup.topologySpreadConstraints -- topology spread constraints of gateway pods + topologySpreadConstraints: [] + # @schema {"name": "gateway.backup.server_config", "alias": "server_config"} + # gateway.backup.server_config -- server config (overrides defaults.server_config) + server_config: + servers: + rest: {} + grpc: {} + healths: + liveness: {} + readiness: {} + metrics: + pprof: {} + prometheus: {} + # @schema {"name": "gateway.backup.observability", "alias": "observability"} + # gateway.backup.observability -- observability config (overrides defaults.observability) + observability: + jaeger: + service_name: vald-gateway-backup + stackdriver: + profiler: + service: vald-gateway-backup + # @schema {"name": "gateway.backup.ingress", "type": "object"} + ingress: + # @schema {"name": "gateway.backup.ingress.enabled", "type": "boolean"} + # gateway.backup.ingress.enabled -- gateway ingress enabled + enabled: false + # @schema {"name": "gateway.backup.ingress.annotations", "type": "object"} + # gateway.backup.ingress.annotations -- annotations for ingress + annotations: + nginx.ingress.kubernetes.io/grpc-backend: "true" + # @schema {"name": "gateway.backup.ingress.host", "type": "string"} + # gateway.backup.ingress.host -- ingress hostname + host: backup.gateway.vald.vdaas.org + # @schema {"name": "gateway.backup.ingress.servicePort", "type": "string"} + # gateway.backup.ingress.servicePort -- service port to be exposed by ingress + servicePort: grpc + # @schema {"name": "gateway.backup.resources", "type": "object", "anchor": "resources"} + # gateway.backup.resources -- compute resources + resources: + # @schema {"name": "gateway.backup.resources.requests", "type": "object"} + requests: + cpu: 200m + memory: 150Mi + # @schema {"name": "gateway.backup.resources.limits", "type": "object"} + limits: + cpu: 2000m + memory: 700Mi + # @schema {"name": "gateway.backup.gateway_config", "type": "object"} + gateway_config: + # @schema {"name": "gateway.backup.gateway_config.client", "alias": "grpc.client"} + # gateway.backup.gateway_config.client -- gRPC client for next gateway (overrides defaults.grpc.client) + client: + addrs: + - "vald-gateway-lb.vald.svc.cluster.local" + # @schema {"name": "gateway.backup.gateway_config.backup", "type": "object"} + backup: + # @schema {"name": "gateway.backup.gateway_config.backup.client", "alias": "grpc.client"} + # gateway.backup.gateway_config.backup.client -- gRPC client for backup (overrides defaults.grpc.client) + client: {} # @schema {"name": "gateway.filter", "type": "object"} filter: - # @schema {"name": "gateway.filter.egress", "type": "array", "items": {"type": "string"}} - # gateway.filter.egress -- egress filters - egress: - - "" - # @schema {"name": "gateway.filter.ingress", "type": "array", "items": {"type": "string"}} - # gateway.filter.ingress -- ingress filters + # @schema {"name": "gateway.filter.enabled", "type": "boolean"} + # gateway.filter.enabled -- gateway enabled + enabled: false + # @schema {"name": "gateway.filter.version", "type": "string", "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$", "anchor": "version"} + # gateway.filter.version -- version of gateway config + version: v0.0.0 + # @schema {"name": "gateway.filter.time_zone", "type": "string"} + # gateway.filter.time_zone -- Time zone + time_zone: "" + # @schema {"name": "gateway.filter.logging", "alias": "logging"} + # gateway.filter.logging -- logging config (overrides defaults.logging) + logging: {} + # @schema {"name": "gateway.filter.name", "type": "string"} + # gateway.filter.name -- name of filter gateway deployment + name: vald-gateway-filter + # @schema {"name": "gateway.filter.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} + # gateway.filter.kind -- deployment kind: Deployment or DaemonSet + kind: Deployment + # @schema {"name": "gateway.filter.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} + # gateway.filter.serviceType -- service type: ClusterIP, LoadBalancer or NodePort + serviceType: ClusterIP + # @schema {"name": "gateway.filter.externalTrafficPolicy", "type": "string"} + # gateway.filter.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local + externalTrafficPolicy: "" + # @schema {"name": "gateway.filter.progressDeadlineSeconds", "type": "integer"} + # gateway.filter.progressDeadlineSeconds -- progress deadline seconds + progressDeadlineSeconds: 600 + # @schema {"name": "gateway.filter.minReplicas", "type": "integer", "minimum": 0} + # gateway.filter.minReplicas -- minimum number of replicas. + # if HPA is disabled, the replicas will be set to this value + minReplicas: 3 + # @schema {"name": "gateway.filter.maxReplicas", "type": "integer", "minimum": 0} + # gateway.filter.maxReplicas -- maximum number of replicas. + # if HPA is disabled, this value will be ignored. + maxReplicas: 9 + # @schema {"name": "gateway.filter.maxUnavailable", "type": "string"} + # gateway.filter.maxUnavailable -- maximum number of unavailable replicas + maxUnavailable: 50% + # @schema {"name": "gateway.filter.revisionHistoryLimit", "type": "integer", "minimum": 0} + # gateway.filter.revisionHistoryLimit -- number of old history to retain to allow rollback + revisionHistoryLimit: 2 + # @schema {"name": "gateway.filter.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} + # gateway.filter.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully + terminationGracePeriodSeconds: 30 + # @schema {"name": "gateway.filter.podPriority", "type": "object", "anchor": "podPriority"} + podPriority: + # @schema {"name": "gateway.filter.podPriority.enabled", "type": "boolean"} + # gateway.filter.podPriority.enabled -- gateway pod PriorityClass enabled + enabled: true + # @schema {"name": "gateway.filter.podPriority.value", "type": "integer"} + # gateway.filter.podPriority.value -- gateway pod PriorityClass value + value: 1000000 + # @schema {"name": "gateway.filter.annotations", "type": "object"} + # gateway.filter.annotations -- deployment annotations + annotations: {} + # @schema {"name": "gateway.filter.podAnnotations", "type": "object"} + # gateway.filter.podAnnotations -- pod annotations + podAnnotations: {} + # @schema {"name": "gateway.filter.service", "type": "object", "anchor": "service"} + service: + # @schema {"name": "gateway.filter.service.annotations", "type": "object"} + # gateway.filter.service.annotations -- service annotations + annotations: {} + # @schema {"name": "gateway.filter.service.labels", "type": "object"} + # gateway.filter.service.labels -- service labels + labels: {} + # @schema {"name": "gateway.filter.hpa", "type": "object", "anchor": "hpa"} + hpa: + # @schema {"name": "gateway.filter.hpa.enabled", "type": "boolean"} + # gateway.filter.hpa.enabled -- HPA enabled + enabled: true + # @schema {"name": "gateway.filter.hpa.targetCPUUtilizationPercentage", "type": "integer"} + # gateway.filter.hpa.targetCPUUtilizationPercentage -- HPA CPU utilization percentage + targetCPUUtilizationPercentage: 80 + # @schema {"name": "gateway.filter.image", "type": "object", "anchor": "image"} + image: + # @schema {"name": "gateway.filter.image.repository", "type": "string"} + # gateway.filter.image.repository -- image repository + repository: vdaas/vald-gateway-filter + # @schema {"name": "gateway.filter.image.tag", "type": "string"} + # gateway.filter.image.tag -- image tag (overrides defaults.image.tag) + tag: "" + # @schema {"name": "gateway.filter.image.pullPolicy", "type": "string", "enum": ["Always", "Never", "IfNotPresent"]} + # gateway.filter.image.pullPolicy -- image pull policy + pullPolicy: Always + # @schema {"name": "gateway.filter.rollingUpdate", "type": "object", "anchor": "rollingUpdate"} + rollingUpdate: + # @schema {"name": "gateway.filter.rollingUpdate.maxSurge", "type": "string"} + # gateway.filter.rollingUpdate.maxSurge -- max surge of rolling update + maxSurge: 25% + # @schema {"name": "gateway.filter.rollingUpdate.maxUnavailable", "type": "string"} + # gateway.filter.rollingUpdate.maxUnavailable -- max unavailable of rolling update + maxUnavailable: 25% + # @schema {"name": "gateway.filter.initContainers", "type": "array", "items": {"type": "object"}, "anchor": "initContainers"} + # gateway.filter.initContainers -- init containers + initContainers: + - type: wait-for + name: wait-for-gateway-meta + target: gateway-meta + image: busybox + sleepDuration: 2 + # @schema {"name": "gateway.filter.env", "type": "array", "items": {"type": "object"}, "anchor": "env"} + # gateway.filter.env -- environment variables + env: [] + # @schema {"name": "gateway.filter.volumeMounts", "type": "array", "items": {"type": "object"}, "anchor": "volumeMounts"} + # gateway.filter.volumeMounts -- volume mounts + volumeMounts: [] + # @schema {"name": "gateway.filter.volumes", "type": "array", "items": {"type": "object"}, "anchor": "volumes"} + # gateway.filter.volumes -- volumes + volumes: [] + # @schema {"name": "gateway.filter.nodeName", "type": "string"} + # gateway.filter.nodeName -- node name + nodeName: "" + # @schema {"name": "gateway.filter.nodeSelector", "type": "object", "anchor": "nodeSelector"} + # gateway.filter.nodeSelector -- node selector + nodeSelector: {} + # @schema {"name": "gateway.filter.tolerations", "type": "array", "items": {"type": "object"}, "anchor": "tolerations"} + # gateway.filter.tolerations -- tolerations + tolerations: [] + # @schema {"name": "gateway.filter.affinity", "type": "object", "anchor": "affinity"} + affinity: + # @schema {"name": "gateway.filter.affinity.nodeAffinity", "type": "object"} + nodeAffinity: + # @schema {"name": "gateway.filter.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.filter.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.filter.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "object"} + requiredDuringSchedulingIgnoredDuringExecution: + # @schema {"name": "gateway.filter.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms", "type": "array", "items": {"type": "object"}} + # gateway.filter.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors + nodeSelectorTerms: [] + # @schema {"name": "gateway.filter.affinity.podAffinity", "type": "object"} + podAffinity: + # @schema {"name": "gateway.filter.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.filter.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.filter.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.filter.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.filter.affinity.podAntiAffinity", "type": "object"} + podAntiAffinity: + # @schema {"name": "gateway.filter.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.filter.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + topologyKey: kubernetes.io/hostname + labelSelector: + matchExpressions: + - key: app + operator: In + values: + - vald-gateway-filter + # @schema {"name": "gateway.filter.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.filter.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.filter.topologySpreadConstraints", "type": "array", "items": {"type": "object"}, "anchor": "topologySpreadConstraints"} + # gateway.filter.topologySpreadConstraints -- topology spread constraints of gateway pods + topologySpreadConstraints: [] + # @schema {"name": "gateway.filter.server_config", "alias": "server_config"} + # gateway.filter.server_config -- server config (overrides defaults.server_config) + server_config: + servers: + rest: {} + grpc: {} + healths: + liveness: {} + readiness: {} + metrics: + pprof: {} + prometheus: {} + # @schema {"name": "gateway.filter.observability", "alias": "observability"} + # gateway.filter.observability -- observability config (overrides defaults.observability) + observability: + jaeger: + service_name: vald-gateway-filter + stackdriver: + profiler: + service: vald-gateway-filter + # @schema {"name": "gateway.filter.ingress", "type": "object"} + ingress: + # @schema {"name": "gateway.filter.ingress.enabled", "type": "boolean"} + # gateway.filter.ingress.enabled -- gateway ingress enabled + enabled: false + # @schema {"name": "gateway.filter.ingress.annotations", "type": "object"} + # gateway.filter.ingress.annotations -- annotations for ingress + annotations: + nginx.ingress.kubernetes.io/grpc-backend: "true" + # @schema {"name": "gateway.filter.ingress.host", "type": "string"} + # gateway.filter.ingress.host -- ingress hostname + host: filter.gateway.vald.vdaas.org + # @schema {"name": "gateway.filter.ingress.servicePort", "type": "string"} + # gateway.filter.ingress.servicePort -- service port to be exposed by ingress + servicePort: grpc + # @schema {"name": "gateway.filter.resources", "type": "object", "anchor": "resources"} + # gateway.filter.resources -- compute resources + resources: + # @schema {"name": "gateway.filter.resources.requests", "type": "object"} + requests: + cpu: 200m + memory: 150Mi + # @schema {"name": "gateway.filter.resources.limits", "type": "object"} + limits: + cpu: 2000m + memory: 700Mi + # @schema {"name": "gateway.filter.gateway_config", "type": "object"} + gateway_config: + # @schema {"name": "gateway.filter.gateway_config.client", "alias": "grpc.client"} + # gateway.filter.gateway_config.client -- gRPC client for next gateway (overrides defaults.grpc.client) + client: + addrs: + - "vald-gateway-meta.vald.svc.cluster.local" + # @schema {"name": "gateway.filter.gateway_config.ingress_filter", "type": "object"} + ingress_filter: + # @schema {"name": "gateway.filter.gateway_config.ingress_filter.client", "alias": "grpc.client"} + # gateway.filter.gateway_config.ingress_filter.client -- gRPC client for ingress filters (overrides defaults.grpc.client) + client: {} + # @schema {"name": "gateway.filter.gateway_config.ingress_filter.search", "type": "array", "items": {"type": "string"}} + # gateway.filter.gateway_config.ingress_filter.search -- ingress filters for search operation + search: [] + # @schema {"name": "gateway.filter.gateway_config.ingress_filter.insert", "type": "array", "items": {"type": "string"}} + # gateway.filter.gateway_config.ingress_filter.insert -- ingress filters for insert operation + insert: [] + # @schema {"name": "gateway.filter.gateway_config.ingress_filter.update", "type": "array", "items": {"type": "string"}} + # gateway.filter.gateway_config.ingress_filter.update -- ingress filters for update operation + update: [] + # @schema {"name": "gateway.filter.gateway_config.ingress_filter.upsert", "type": "array", "items": {"type": "string"}} + # gateway.filter.gateway_config.ingress_filter.upsert -- ingress filters for upsert operation + upsert: [] + # @schema {"name": "gateway.filter.gateway_config.egress_filter", "type": "object"} + egress_filter: + # @schema {"name": "gateway.filter.gateway_config.egress_filter.client", "alias": "grpc.client"} + # gateway.filter.gateway_config.egress_filter.client -- gRPC client for egress filter (overrides defaults.grpc.client) + client: {} + # @schema {"name": "gateway.lb", "type": "object"} + lb: + # @schema {"name": "gateway.lb.enabled", "type": "boolean"} + # gateway.lb.enabled -- gateway enabled + enabled: false + # @schema {"name": "gateway.lb.version", "type": "string", "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$", "anchor": "version"} + # gateway.lb.version -- version of gateway config + version: v0.0.0 + # @schema {"name": "gateway.lb.time_zone", "type": "string"} + # gateway.lb.time_zone -- Time zone + time_zone: "" + # @schema {"name": "gateway.lb.logging", "alias": "logging"} + # gateway.lb.logging -- logging config (overrides defaults.logging) + logging: {} + # @schema {"name": "gateway.lb.name", "type": "string"} + # gateway.lb.name -- name of gateway deployment + name: vald-gateway-lb + # @schema {"name": "gateway.lb.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} + # gateway.lb.kind -- deployment kind: Deployment or DaemonSet + kind: Deployment + # @schema {"name": "gateway.lb.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} + # gateway.lb.serviceType -- service type: ClusterIP, LoadBalancer or NodePort + serviceType: ClusterIP + # @schema {"name": "gateway.lb.externalTrafficPolicy", "type": "string"} + # gateway.lb.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local + externalTrafficPolicy: "" + # @schema {"name": "gateway.lb.progressDeadlineSeconds", "type": "integer"} + # gateway.lb.progressDeadlineSeconds -- progress deadline seconds + progressDeadlineSeconds: 600 + # @schema {"name": "gateway.lb.minReplicas", "type": "integer", "minimum": 0} + # gateway.lb.minReplicas -- minimum number of replicas. + # if HPA is disabled, the replicas will be set to this value + minReplicas: 3 + # @schema {"name": "gateway.lb.maxReplicas", "type": "integer", "minimum": 0} + # gateway.lb.maxReplicas -- maximum number of replicas. + # if HPA is disabled, this value will be ignored. + maxReplicas: 9 + # @schema {"name": "gateway.lb.maxUnavailable", "type": "string"} + # gateway.lb.maxUnavailable -- maximum number of unavailable replicas + maxUnavailable: 50% + # @schema {"name": "gateway.lb.revisionHistoryLimit", "type": "integer", "minimum": 0} + # gateway.lb.revisionHistoryLimit -- number of old history to retain to allow rollback + revisionHistoryLimit: 2 + # @schema {"name": "gateway.lb.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} + # gateway.lb.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully + terminationGracePeriodSeconds: 30 + # @schema {"name": "gateway.lb.podPriority", "type": "object", "anchor": "podPriority"} + podPriority: + # @schema {"name": "gateway.lb.podPriority.enabled", "type": "boolean"} + # gateway.lb.podPriority.enabled -- gateway pod PriorityClass enabled + enabled: true + # @schema {"name": "gateway.lb.podPriority.value", "type": "integer"} + # gateway.lb.podPriority.value -- gateway pod PriorityClass value + value: 1000000 + # @schema {"name": "gateway.lb.annotations", "type": "object"} + # gateway.lb.annotations -- deployment annotations + annotations: {} + # @schema {"name": "gateway.lb.podAnnotations", "type": "object"} + # gateway.lb.podAnnotations -- pod annotations + podAnnotations: {} + # @schema {"name": "gateway.lb.service", "type": "object", "anchor": "service"} + service: + # @schema {"name": "gateway.lb.service.annotations", "type": "object"} + # gateway.lb.service.annotations -- service annotations + annotations: {} + # @schema {"name": "gateway.lb.service.labels", "type": "object"} + # gateway.lb.service.labels -- service labels + labels: {} + # @schema {"name": "gateway.lb.hpa", "type": "object", "anchor": "hpa"} + hpa: + # @schema {"name": "gateway.lb.hpa.enabled", "type": "boolean"} + # gateway.lb.hpa.enabled -- HPA enabled + enabled: true + # @schema {"name": "gateway.lb.hpa.targetCPUUtilizationPercentage", "type": "integer"} + # gateway.lb.hpa.targetCPUUtilizationPercentage -- HPA CPU utilization percentage + targetCPUUtilizationPercentage: 80 + # @schema {"name": "gateway.lb.image", "type": "object", "anchor": "image"} + image: + # @schema {"name": "gateway.lb.image.repository", "type": "string"} + # gateway.lb.image.repository -- image repository + repository: vdaas/vald-gateway-lb + # @schema {"name": "gateway.lb.image.tag", "type": "string"} + # gateway.lb.image.tag -- image tag (overrides defaults.image.tag) + tag: "" + # @schema {"name": "gateway.lb.image.pullPolicy", "type": "string", "enum": ["Always", "Never", "IfNotPresent"]} + # gateway.lb.image.pullPolicy -- image pull policy + pullPolicy: Always + # @schema {"name": "gateway.lb.rollingUpdate", "type": "object", "anchor": "rollingUpdate"} + rollingUpdate: + # @schema {"name": "gateway.lb.rollingUpdate.maxSurge", "type": "string"} + # gateway.lb.rollingUpdate.maxSurge -- max surge of rolling update + maxSurge: 25% + # @schema {"name": "gateway.lb.rollingUpdate.maxUnavailable", "type": "string"} + # gateway.lb.rollingUpdate.maxUnavailable -- max unavailable of rolling update + maxUnavailable: 25% + # @schema {"name": "gateway.lb.initContainers", "type": "array", "items": {"type": "object"}, "anchor": "initContainers"} + # gateway.lb.initContainers -- init containers + initContainers: + - type: wait-for + name: wait-for-discoverer + target: discoverer + image: busybox + sleepDuration: 2 + - type: wait-for + name: wait-for-agent + target: agent + image: busybox + sleepDuration: 2 + # @schema {"name": "gateway.lb.env", "type": "array", "items": {"type": "object"}, "anchor": "env"} + # gateway.lb.env -- environment variables + env: + # - name: MY_NODE_NAME + # valueFrom: + # fieldRef: + # fieldPath: spec.nodeName + - name: MY_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + # @schema {"name": "gateway.lb.volumeMounts", "type": "array", "items": {"type": "object"}, "anchor": "volumeMounts"} + # gateway.lb.volumeMounts -- volume mounts + volumeMounts: [] + # @schema {"name": "gateway.lb.volumes", "type": "array", "items": {"type": "object"}, "anchor": "volumes"} + # gateway.lb.volumes -- volumes + volumes: [] + # @schema {"name": "gateway.lb.nodeName", "type": "string"} + # gateway.lb.nodeName -- node name + nodeName: "" + # @schema {"name": "gateway.lb.nodeSelector", "type": "object", "anchor": "nodeSelector"} + # gateway.lb.nodeSelector -- node selector + nodeSelector: {} + # @schema {"name": "gateway.lb.tolerations", "type": "array", "items": {"type": "object"}, "anchor": "tolerations"} + # gateway.lb.tolerations -- tolerations + tolerations: [] + # @schema {"name": "gateway.lb.affinity", "type": "object", "anchor": "affinity"} + affinity: + # @schema {"name": "gateway.lb.affinity.nodeAffinity", "type": "object"} + nodeAffinity: + # @schema {"name": "gateway.lb.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.lb.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.lb.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "object"} + requiredDuringSchedulingIgnoredDuringExecution: + # @schema {"name": "gateway.lb.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms", "type": "array", "items": {"type": "object"}} + # gateway.lb.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors + nodeSelectorTerms: [] + # @schema {"name": "gateway.lb.affinity.podAffinity", "type": "object"} + podAffinity: + # @schema {"name": "gateway.lb.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.lb.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.lb.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.lb.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.lb.affinity.podAntiAffinity", "type": "object"} + podAntiAffinity: + # @schema {"name": "gateway.lb.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.lb.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + topologyKey: kubernetes.io/hostname + labelSelector: + matchExpressions: + - key: app + operator: In + values: + - vald-gateway-lb + # @schema {"name": "gateway.lb.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.lb.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.lb.topologySpreadConstraints", "type": "array", "items": {"type": "object"}, "anchor": "topologySpreadConstraints"} + # gateway.lb.topologySpreadConstraints -- topology spread constraints of gateway pods + topologySpreadConstraints: [] + # @schema {"name": "gateway.lb.server_config", "alias": "server_config"} + # gateway.lb.server_config -- server config (overrides defaults.server_config) + server_config: + servers: + rest: {} + grpc: {} + healths: + liveness: {} + readiness: {} + metrics: + pprof: {} + prometheus: {} + # @schema {"name": "gateway.lb.observability", "alias": "observability"} + # gateway.lb.observability -- observability config (overrides defaults.observability) + observability: + jaeger: + service_name: vald-gateway-lb + stackdriver: + profiler: + service: vald-gateway-lb + # @schema {"name": "gateway.lb.ingress", "type": "object"} ingress: - - "" - # @schema {"name": "gateway.ingress", "type": "object"} - ingress: - # @schema {"name": "gateway.ingress.enabled", "type": "boolean"} - # gateway.ingress.enabled -- gateway ingress enabled + # @schema {"name": "gateway.lb.ingress.enabled", "type": "boolean"} + # gateway.lb.ingress.enabled -- gateway ingress enabled + enabled: false + # @schema {"name": "gateway.lb.ingress.annotations", "type": "object"} + # gateway.lb.ingress.annotations -- annotations for ingress + annotations: + nginx.ingress.kubernetes.io/grpc-backend: "true" + # @schema {"name": "gateway.lb.ingress.host", "type": "string"} + # gateway.lb.ingress.host -- ingress hostname + host: lb.gateway.vald.vdaas.org + # @schema {"name": "gateway.lb.ingress.servicePort", "type": "string"} + # gateway.lb.ingress.servicePort -- service port to be exposed by ingress + servicePort: grpc + # @schema {"name": "gateway.lb.resources", "type": "object", "anchor": "resources"} + # gateway.lb.resources -- compute resources + resources: + # @schema {"name": "gateway.lb.resources.requests", "type": "object"} + requests: + cpu: 200m + memory: 150Mi + # @schema {"name": "gateway.lb.resources.limits", "type": "object"} + limits: + cpu: 2000m + memory: 700Mi + # @schema {"name": "gateway.lb.gateway_config", "type": "object"} + gateway_config: + # @schema {"name": "gateway.lb.gateway_config.agent_namespace", "type": "string"} + # gateway.lb.gateway_config.agent_namespace -- agent namespace + agent_namespace: _MY_POD_NAMESPACE_ + # @schema {"name": "gateway.lb.gateway_config.node_namespace", "type": "string"} + # gateway.lb.gateway_config.node_name -- node name + node_name: "" # _MY_NODE_NAME_ + # @schema {"name": "gateway.lb.gateway_config.index_replica", "type": "integer", "minimum": 1} + # gateway.lb.gateway_config.index_replica -- number of index replica + index_replica: 5 + # @schema {"name": "gateway.lb.gateway_config.discoverer", "type": "object"} + discoverer: + # @schema {"name": "gateway.lb.gateway_config.discoverer.duration", "type": "string"} + # gateway.lb.discoverer.duration -- discoverer duration + duration: 200ms + # @schema {"name": "gateway.lb.gateway_config.discoverer.discover_client", "alias": "grpc.client"} + # gateway.lb.gateway_config.discoverer.discover_client -- gRPC client for discoverer (overrides defaults.grpc.client) + discover_client: {} + # @schema {"name": "gateway.lb.gateway_config.discoverer.agent_client", "alias": "grpc.client"} + # gateway.lb.gateway_config.discoverer.agent_client -- gRPC client for agents (overrides defaults.grpc.client) + agent_client: {} + # @schema {"name": "gateway.meta", "type": "object"} + meta: + # @schema {"name": "gateway.meta.enabled", "type": "boolean"} + # gateway.meta.enabled -- gateway enabled enabled: true - # @schema {"name": "gateway.ingress.annotations", "type": "object"} - # gateway.ingress.annotations -- annotations for ingress - annotations: - nginx.ingress.kubernetes.io/grpc-backend: "true" - # @schema {"name": "gateway.ingress.host", "type": "string"} - # gateway.ingress.host -- ingress hostname - host: vald.gateway.vdaas.org - # @schema {"name": "gateway.ingress.servicePort", "type": "string"} - # gateway.ingress.servicePort -- service port to be exposed by ingress - servicePort: grpc - # @schema {"name": "gateway.resources", "type": "object", "anchor": "resources"} - # gateway.resources -- compute resources - resources: - # @schema {"name": "gateway.resources.requests", "type": "object"} - requests: - cpu: 200m - memory: 150Mi - # @schema {"name": "gateway.resources.limits", "type": "object"} - limits: - cpu: 2000m - memory: 700Mi - # @schema {"name": "gateway.gateway_config", "type": "object"} - gateway_config: - # @schema {"name": "gateway.gateway_config.agent_namespace", "type": "string"} - # gateway.gateway_config.agent_namespace -- agent namespace - agent_namespace: _MY_POD_NAMESPACE_ - # @schema {"name": "gateway.gateway_config.node_namespace", "type": "string"} - # gateway.gateway_config.node_name -- node name - node_name: "" # _MY_NODE_NAME_ - # @schema {"name": "gateway.gateway_config.index_replica", "type": "integer", "minimum": 1} - # gateway.gateway_config.index_replica -- number of index replica - index_replica: 5 - # @schema {"name": "gateway.gateway_config.discoverer", "type": "object"} - discoverer: - # @schema {"name": "gateway.gateway_config.discoverer.duration", "type": "string"} - # gateway.gateway_config.discoverer.duration -- discoverer duration - duration: 200ms - # @schema {"name": "gateway.gateway_config.discoverer.discover_client", "alias": "grpc.client"} - # gateway.gateway_config.discoverer.discover_client -- gRPC client for discoverer (overrides defaults.grpc.client) - discover_client: {} - # @schema {"name": "gateway.gateway_config.discoverer.agent_client", "alias": "grpc.client"} - # gateway.gateway_config.discoverer.agent_client -- gRPC client for agents (overrides defaults.grpc.client) - agent_client: {} - # @schema {"name": "gateway.gateway_config.meta", "type": "object"} - meta: - # @schema {"name": "gateway.gateway_config.meta.client", "alias": "grpc.client"} - # gateway.gateway_config.meta.client -- gRPC client for meta (overrides defaults.grpc.client) - client: {} - # @schema {"name": "gateway.gateway_config.meta.enable_cache", "type": "boolean"} - # gateway.gateway_config.meta.enable_cache -- meta cache enabled - enable_cache: true - # @schema {"name": "gateway.gateway_config.meta.cache_expiration", "type": "string"} - # gateway.gateway_config.meta.cache_expiration -- meta cache expire duration - cache_expiration: "30m" - # @schema {"name": "gateway.gateway_config.meta.expired_cache_check_duration", "type": "string"} - # gateway.gateway_config.meta.expired_cache_check_duration -- meta cache expired check duration - expired_cache_check_duration: "3m" - # @schema {"name": "gateway.gateway_config.backup", "type": "object"} - backup: - # @schema {"name": "gateway.gateway_config.backup.client", "alias": "grpc.client"} - # gateway.gateway_config.backup.client -- gRPC client for backup (overrides defaults.grpc.client) - client: {} + # @schema {"name": "gateway.meta.version", "type": "string", "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$", "anchor": "version"} + # gateway.meta.version -- version of gateway config + version: v0.0.0 + # @schema {"name": "gateway.meta.time_zone", "type": "string"} + # gateway.meta.time_zone -- Time zone + time_zone: "" + # @schema {"name": "gateway.meta.logging", "alias": "logging"} + # gateway.meta.logging -- logging config (overrides defaults.logging) + logging: {} + # @schema {"name": "gateway.meta.name", "type": "string"} + # gateway.meta.name -- name of gateway deployment + name: vald-gateway-meta + # @schema {"name": "gateway.meta.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} + # gateway.meta.kind -- deployment kind: Deployment or DaemonSet + kind: Deployment + # @schema {"name": "gateway.meta.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} + # gateway.meta.serviceType -- service type: ClusterIP, LoadBalancer or NodePort + serviceType: ClusterIP + # @schema {"name": "gateway.meta.externalTrafficPolicy", "type": "string"} + # gateway.meta.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local + externalTrafficPolicy: "" + # @schema {"name": "gateway.meta.progressDeadlineSeconds", "type": "integer"} + # gateway.meta.progressDeadlineSeconds -- progress deadline seconds + progressDeadlineSeconds: 600 + # @schema {"name": "gateway.meta.minReplicas", "type": "integer", "minimum": 0} + # gateway.meta.minReplicas -- minimum number of replicas. + # if HPA is disabled, the replicas will be set to this value + minReplicas: 3 + # @schema {"name": "gateway.meta.maxReplicas", "type": "integer", "minimum": 0} + # gateway.meta.maxReplicas -- maximum number of replicas. + # if HPA is disabled, this value will be ignored. + maxReplicas: 9 + # @schema {"name": "gateway.meta.maxUnavailable", "type": "string"} + # gateway.meta.maxUnavailable -- maximum number of unavailable replicas + maxUnavailable: 50% + # @schema {"name": "gateway.meta.revisionHistoryLimit", "type": "integer", "minimum": 0} + # gateway.meta.revisionHistoryLimit -- number of old history to retain to allow rollback + revisionHistoryLimit: 2 + # @schema {"name": "gateway.meta.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} + # gateway.meta.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully + terminationGracePeriodSeconds: 30 + # @schema {"name": "gateway.meta.podPriority", "type": "object", "anchor": "podPriority"} + podPriority: + # @schema {"name": "gateway.meta.podPriority.enabled", "type": "boolean"} + # gateway.meta.podPriority.enabled -- gateway pod PriorityClass enabled + enabled: true + # @schema {"name": "gateway.meta.podPriority.value", "type": "integer"} + # gateway.meta.podPriority.value -- gateway pod PriorityClass value + value: 1000000 + # @schema {"name": "gateway.meta.annotations", "type": "object"} + # gateway.meta.annotations -- deployment annotations + annotations: {} + # @schema {"name": "gateway.meta.podAnnotations", "type": "object"} + # gateway.meta.podAnnotations -- pod annotations + podAnnotations: {} + # @schema {"name": "gateway.meta.service", "type": "object", "anchor": "service"} + service: + # @schema {"name": "gateway.meta.service.annotations", "type": "object"} + # gateway.meta.service.annotations -- service annotations + annotations: {} + # @schema {"name": "gateway.meta.service.labels", "type": "object"} + # gateway.meta.service.labels -- service labels + labels: {} + # @schema {"name": "gateway.meta.hpa", "type": "object", "anchor": "hpa"} + hpa: + # @schema {"name": "gateway.meta.hpa.enabled", "type": "boolean"} + # gateway.meta.hpa.enabled -- HPA enabled + enabled: true + # @schema {"name": "gateway.meta.hpa.targetCPUUtilizationPercentage", "type": "integer"} + # gateway.meta.hpa.targetCPUUtilizationPercentage -- HPA CPU utilization percentage + targetCPUUtilizationPercentage: 80 + # @schema {"name": "gateway.meta.image", "type": "object", "anchor": "image"} + image: + # @schema {"name": "gateway.meta.image.repository", "type": "string"} + # gateway.meta.image.repository -- image repository + repository: vdaas/vald-gateway-meta + # @schema {"name": "gateway.meta.image.tag", "type": "string"} + # gateway.meta.image.tag -- image tag (overrides defaults.image.tag) + tag: "" + # @schema {"name": "gateway.meta.image.pullPolicy", "type": "string", "enum": ["Always", "Never", "IfNotPresent"]} + # gateway.meta.image.pullPolicy -- image pull policy + pullPolicy: Always + # @schema {"name": "gateway.meta.rollingUpdate", "type": "object", "anchor": "rollingUpdate"} + rollingUpdate: + # @schema {"name": "gateway.meta.rollingUpdate.maxSurge", "type": "string"} + # gateway.meta.rollingUpdate.maxSurge -- max surge of rolling update + maxSurge: 25% + # @schema {"name": "gateway.meta.rollingUpdate.maxUnavailable", "type": "string"} + # gateway.meta.rollingUpdate.maxUnavailable -- max unavailable of rolling update + maxUnavailable: 25% + # @schema {"name": "gateway.meta.initContainers", "type": "array", "items": {"type": "object"}, "anchor": "initContainers"} + # gateway.meta.initContainers -- init containers + initContainers: + - type: wait-for + name: wait-for-meta + target: meta + image: busybox + sleepDuration: 2 + - type: wait-for + name: wait-for-gateway-backup + target: gateway-backup + image: busybox + sleepDuration: 2 + # @schema {"name": "gateway.meta.env", "type": "array", "items": {"type": "object"}, "anchor": "env"} + # gateway.meta.env -- environment variables + env: [] + # @schema {"name": "gateway.meta.volumeMounts", "type": "array", "items": {"type": "object"}, "anchor": "volumeMounts"} + # gateway.meta.volumeMounts -- volume mounts + volumeMounts: [] + # @schema {"name": "gateway.meta.volumes", "type": "array", "items": {"type": "object"}, "anchor": "volumes"} + # gateway.meta.volumes -- volumes + volumes: [] + # @schema {"name": "gateway.meta.nodeName", "type": "string"} + # gateway.meta.nodeName -- node name + nodeName: "" + # @schema {"name": "gateway.meta.nodeSelector", "type": "object", "anchor": "nodeSelector"} + # gateway.meta.nodeSelector -- node selector + nodeSelector: {} + # @schema {"name": "gateway.meta.tolerations", "type": "array", "items": {"type": "object"}, "anchor": "tolerations"} + # gateway.meta.tolerations -- tolerations + tolerations: [] + # @schema {"name": "gateway.meta.affinity", "type": "object", "anchor": "affinity"} + affinity: + # @schema {"name": "gateway.meta.affinity.nodeAffinity", "type": "object"} + nodeAffinity: + # @schema {"name": "gateway.meta.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.meta.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.meta.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "object"} + requiredDuringSchedulingIgnoredDuringExecution: + # @schema {"name": "gateway.meta.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms", "type": "array", "items": {"type": "object"}} + # gateway.meta.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors + nodeSelectorTerms: [] + # @schema {"name": "gateway.meta.affinity.podAffinity", "type": "object"} + podAffinity: + # @schema {"name": "gateway.meta.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.meta.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.meta.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.meta.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.meta.affinity.podAntiAffinity", "type": "object"} + podAntiAffinity: + # @schema {"name": "gateway.meta.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.meta.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + topologyKey: kubernetes.io/hostname + labelSelector: + matchExpressions: + - key: app + operator: In + values: + - vald-gateway-meta + # @schema {"name": "gateway.meta.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution", "type": "array", "items": {"type": "object"}} + # gateway.meta.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "gateway.meta.topologySpreadConstraints", "type": "array", "items": {"type": "object"}, "anchor": "topologySpreadConstraints"} + # gateway.meta.topologySpreadConstraints -- topology spread constraints of gateway pods + topologySpreadConstraints: [] + # @schema {"name": "gateway.meta.server_config", "alias": "server_config"} + # gateway.meta.server_config -- server config (overrides defaults.server_config) + server_config: + servers: + rest: {} + grpc: {} + healths: + liveness: {} + readiness: {} + metrics: + pprof: {} + prometheus: {} + # @schema {"name": "gateway.meta.observability", "alias": "observability"} + # gateway.meta.observability -- observability config (overrides defaults.observability) + observability: + jaeger: + service_name: vald-gateway-meta + stackdriver: + profiler: + service: vald-gateway-meta + # @schema {"name": "gateway.meta.ingress", "type": "object"} + ingress: + # @schema {"name": "gateway.meta.ingress.enabled", "type": "boolean"} + # gateway.meta.ingress.enabled -- gateway ingress enabled + enabled: false + # @schema {"name": "gateway.meta.ingress.annotations", "type": "object"} + # gateway.meta.ingress.annotations -- annotations for ingress + annotations: + nginx.ingress.kubernetes.io/grpc-backend: "true" + # @schema {"name": "gateway.meta.ingress.host", "type": "string"} + # gateway.meta.ingress.host -- ingress hostname + host: meta.gateway.vald.vdaas.org + # @schema {"name": "gateway.meta.ingress.servicePort", "type": "string"} + # gateway.meta.ingress.servicePort -- service port to be exposed by ingress + servicePort: grpc + # @schema {"name": "gateway.meta.resources", "type": "object", "anchor": "resources"} + # gateway.meta.resources -- compute resources + resources: + # @schema {"name": "gateway.meta.resources.requests", "type": "object"} + requests: + cpu: 200m + memory: 150Mi + # @schema {"name": "gateway.meta.resources.limits", "type": "object"} + limits: + cpu: 2000m + memory: 700Mi + # @schema {"name": "gateway.meta.gateway_config", "type": "object"} + gateway_config: + # @schema {"name": "gateway.meta.gateway_config.client", "alias": "grpc.client"} + # gateway.meta.gateway_config.client -- gRPC client for next gateway (overrides defaults.grpc.client) + client: + addrs: + - "vald-gateway-backup.vald.svc.cluster.local" + # @schema {"name": "gateway.meta.gateway_config.meta", "type": "object"} + meta: + # @schema {"name": "gateway.meta.gateway_config.meta.client", "alias": "grpc.client"} + # gateway.meta.gateway_config.meta.client -- gRPC client for meta (overrides defaults.grpc.client) + client: {} + # @schema {"name": "gateway.meta.gateway_config.meta.enable_cache", "type": "boolean"} + # gateway.meta.gateway_config.meta.enable_cache -- meta cache enabled + enable_cache: true + # @schema {"name": "gateway.meta.gateway_config.meta.cache_expiration", "type": "string"} + # gateway.meta.gateway_config.meta.cache_expiration -- meta cache expire duration + cache_expiration: "30m" + # @schema {"name": "gateway.meta.gateway_config.meta.expired_cache_check_duration", "type": "string"} + # gateway.meta.gateway_config.meta.expired_cache_check_duration -- meta cache expired check duration + expired_cache_check_duration: "3m" # @schema {"name": "agent", "type": "object"} agent: @@ -1238,7 +2165,7 @@ agent: # @schema {"name": "agent.ngt.auto_save_index_duration", "type": "string"} # agent.ngt.auto_save_index_duration -- duration of automatic save index auto_save_index_duration: 35m - # @schema {"name": "agent.ngt.auto_create_index_pool_size", "type": "int"} + # @schema {"name": "agent.ngt.auto_create_index_pool_size", "type": "integer"} # agent.ngt.auto_create_index_pool_size -- batch process pool size of automatic create index operation auto_create_index_pool_size: 10000 # @schema {"name": "agent.ngt.initial_delay_max_duration", "type": "string"} @@ -1793,861 +2720,864 @@ discoverer: # discoverer.serviceAccount.name -- name of service account name: vald -# @schema {"name": "compressor", "type": "object"} -compressor: - # @schema {"name": "compressor.enabled", "type": "boolean"} - # compressor.enabled -- compressor enabled - enabled: true - # @schema {"name": "compressor.version", "alias": "version"} - # compressor.version -- version of compressor config - version: v0.0.0 - # @schema {"name": "compressor.time_zone", "type": "string"} - # compressor.time_zone -- Time zone - time_zone: "" - # @schema {"name": "compressor.logging", "alias": "logging"} - # compressor.logging -- logging config (overrides defaults.logging) - logging: {} - # @schema {"name": "compressor.name", "type": "string"} - # compressor.name -- name of compressor deployment - name: vald-manager-compressor - # @schema {"name": "compressor.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} - # compressor.kind -- deployment kind: Deployment or DaemonSet - kind: Deployment - # @schema {"name": "compressor.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} - # compressor.serviceType -- service type: ClusterIP, LoadBalancer or NodePort - serviceType: ClusterIP - # @schema {"name": "compressor.externalTrafficPolicy", "type": "string"} - # compressor.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local - externalTrafficPolicy: "" - # @schema {"name": "compressor.progressDeadlineSeconds", "type": "integer"} - # compressor.progressDeadlineSeconds -- progress deadline seconds - progressDeadlineSeconds: 600 - # @schema {"name": "compressor.minReplicas", "type": "integer", "minimum": 0} - # compressor.minReplicas -- minimum number of replicas. - # if HPA is disabled, the replicas will be set to this value - minReplicas: 3 - # @schema {"name": "compressor.maxReplicas", "type": "integer", "minimum": 0} - # compressor.maxReplicas -- maximum number of replicas. - # if HPA is disabled, this value will be ignored. - maxReplicas: 15 - # @schema {"name": "compressor.maxUnavailable", "type": "string"} - # compressor.maxUnavailable -- maximum number of unavailable replicas - maxUnavailable: "1" - # @schema {"name": "compressor.revisionHistoryLimit", "type": "integer", "minimum": 0} - # compressor.revisionHistoryLimit -- number of old history to retain to allow rollback - revisionHistoryLimit: 2 - # @schema {"name": "compressor.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} - # compressor.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully - terminationGracePeriodSeconds: 120 - # @schema {"name": "compressor.podPriority", "alias": "podPriority"} - podPriority: - # compressor.podPriority.enabled -- compressor pod PriorityClass enabled +# @schema {"name": "manager", "type": "object"} +manager: + + # @schema {"name": "manager.compressor", "type": "object"} + compressor: + # @schema {"name": "manager.compressor.enabled", "type": "boolean"} + # manager.compressor.enabled -- compressor enabled enabled: true - # compressor.podPriority.value -- compressor pod PriorityClass value - value: 100000000 - # @schema {"name": "compressor.annotations", "type": "object"} - # compressor.annotations -- deployment annotations - annotations: {} - # @schema {"name": "compressor.podAnnotations", "type": "object"} - # compressor.podAnnotations -- pod annotations - podAnnotations: {} - # @schema {"name": "compressor.service", "alias": "service"} - service: - # compressor.service.annotations -- service annotations + # @schema {"name": "manager.compressor.version", "alias": "version"} + # manager.compressor.version -- version of compressor config + version: v0.0.0 + # @schema {"name": "manager.compressor.time_zone", "type": "string"} + # manager.compressor.time_zone -- Time zone + time_zone: "" + # @schema {"name": "manager.compressor.logging", "alias": "logging"} + # manager.compressor.logging -- logging config (overrides defaults.logging) + logging: {} + # @schema {"name": "manager.compressor.name", "type": "string"} + # manager.compressor.name -- name of compressor deployment + name: vald-manager-compressor + # @schema {"name": "manager.compressor.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} + # manager.compressor.kind -- deployment kind: Deployment or DaemonSet + kind: Deployment + # @schema {"name": "manager.compressor.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} + # manager.compressor.serviceType -- service type: ClusterIP, LoadBalancer or NodePort + serviceType: ClusterIP + # @schema {"name": "manager.compressor.externalTrafficPolicy", "type": "string"} + # manager.compressor.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local + externalTrafficPolicy: "" + # @schema {"name": "manager.compressor.progressDeadlineSeconds", "type": "integer"} + # manager.compressor.progressDeadlineSeconds -- progress deadline seconds + progressDeadlineSeconds: 600 + # @schema {"name": "manager.compressor.minReplicas", "type": "integer", "minimum": 0} + # manager.compressor.minReplicas -- minimum number of replicas. + # if HPA is disabled, the replicas will be set to this value + minReplicas: 3 + # @schema {"name": "manager.compressor.maxReplicas", "type": "integer", "minimum": 0} + # manager.compressor.maxReplicas -- maximum number of replicas. + # if HPA is disabled, this value will be ignored. + maxReplicas: 15 + # @schema {"name": "manager.compressor.maxUnavailable", "type": "string"} + # manager.compressor.maxUnavailable -- maximum number of unavailable replicas + maxUnavailable: "1" + # @schema {"name": "manager.compressor.revisionHistoryLimit", "type": "integer", "minimum": 0} + # manager.compressor.revisionHistoryLimit -- number of old history to retain to allow rollback + revisionHistoryLimit: 2 + # @schema {"name": "manager.compressor.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} + # manager.compressor.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully + terminationGracePeriodSeconds: 120 + # @schema {"name": "manager.compressor.podPriority", "alias": "podPriority"} + podPriority: + # manager.compressor.podPriority.enabled -- compressor pod PriorityClass enabled + enabled: true + # manager.compressor.podPriority.value -- compressor pod PriorityClass value + value: 100000000 + # @schema {"name": "manager.compressor.annotations", "type": "object"} + # manager.compressor.annotations -- deployment annotations annotations: {} - # compressor.service.labels -- service labels - labels: {} - # @schema {"name": "compressor.hpa", "alias": "hpa"} - hpa: - # compressor.hpa.enabled -- HPA enabled + # @schema {"name": "manager.compressor.podAnnotations", "type": "object"} + # manager.compressor.podAnnotations -- pod annotations + podAnnotations: {} + # @schema {"name": "manager.compressor.service", "alias": "service"} + service: + # manager.compressor.service.annotations -- service annotations + annotations: {} + # manager.compressor.service.labels -- service labels + labels: {} + # @schema {"name": "manager.compressor.hpa", "alias": "hpa"} + hpa: + # manager.compressor.hpa.enabled -- HPA enabled + enabled: true + # manager.compressor.hpa.targetCPUUtilizationPercentage -- HPA CPU utilization percentage + targetCPUUtilizationPercentage: 80 + # @schema {"name": "manager.compressor.image", "alias": "image"} + image: + # manager.compressor.image.repository -- image repository + repository: vdaas/vald-manager-compressor + # manager.compressor.image.tag -- image tag (overrides defaults.image.tag) + tag: "" + # manager.compressor.image.pullPolicy -- image pull policy + pullPolicy: Always + # @schema {"name": "manager.compressor.rollingUpdate", "alias": "rollingUpdate"} + rollingUpdate: + # manager.compressor.rollingUpdate.maxSurge -- max surge of rolling update + maxSurge: 25% + # manager.compressor.rollingUpdate.maxUnavailable -- max unavailable of rolling update + maxUnavailable: 25% + # @schema {"name": "manager.compressor.initContainers", "alias": "initContainers"} + # manager.compressor.initContainers -- init containers + initContainers: + - type: wait-for + name: wait-for-manager-backup + target: manager-backup + image: busybox + sleepDuration: 2 + # @schema {"name": "manager.compressor.env", "alias": "env"} + # manager.compressor.env -- environment variables + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + # @schema {"name": "manager.compressor.volumeMounts", "alias": "volumeMounts"} + # manager.compressor.volumeMounts -- volume mounts + volumeMounts: [] + # @schema {"name": "manager.compressor.volumes", "alias": "volumes"} + # manager.compressor.volumes -- volumes + volumes: [] + # @schema {"name": "manager.compressor.nodeName", "type": "string"} + # manager.compressor.nodeName -- node name + nodeName: "" + # @schema {"name": "manager.compressor.nodeSelector", "alias": "nodeSelector"} + # manager.compressor.nodeSelector -- node selector + nodeSelector: {} + # @schema {"name": "manager.compressor.tolerations", "alias": "tolerations"} + # manager.compressor.tolerations -- tolerations + tolerations: [] + # @schema {"name": "manager.compressor.affinity", "alias": "affinity"} + affinity: + nodeAffinity: + # manager.compressor.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + requiredDuringSchedulingIgnoredDuringExecution: + # manager.compressor.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors + nodeSelectorTerms: [] + podAffinity: + # manager.compressor.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # manager.compressor.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + podAntiAffinity: + # manager.compressor.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # manager.compressor.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "manager.compressor.topologySpreadConstraints", "alias": "topologySpreadConstraints"} + # manager.compressor.topologySpreadConstraints -- topology spread constraints of compressor pods + topologySpreadConstraints: [] + # @schema {"name": "manager.compressor.server_config", "alias": "server_config"} + # manager.compressor.server_config -- server config (overrides defaults.server_config) + server_config: + servers: + rest: {} + grpc: {} + healths: + liveness: + server: + http: + shutdown_duration: 2m + readiness: {} + metrics: + pprof: {} + prometheus: {} + # @schema {"name": "manager.compressor.observability", "alias": "observability"} + # manager.compressor.observability -- observability config (overrides defaults.observability) + observability: + jaeger: + service_name: vald-manager-compressor + stackdriver: + profiler: + service: vald-manager-compressor + # @schema {"name": "manager.compressor.resources", "alias": "resources"} + # manager.compressor.resources -- compute resources + resources: + requests: + cpu: 300m + memory: 50Mi + limits: + cpu: 800m + memory: 500Mi + # @schema {"name": "manager.compressor.backup", "type": "object"} + backup: + # @schema {"name": "manager.compressor.backup.client", "alias": "grpc.client"} + # manager.compressor.backup.client -- grpc client for backup (overrides defaults.grpc.client) + client: {} + # @schema {"name": "manager.compressor.compress", "type": "object"} + compress: + # @schema {"name": "manager.compressor.compress.compress_algorithm", "type": "string", "enum": ["gob", "gzip", "lz4", "zstd"]} + # manager.compressor.compress.compress_algorithm -- compression algorithm. + # must be `gob`, `gzip`, `lz4` or `zstd` + compress_algorithm: zstd + # @schema {"name": "manager.compressor.compress.compression_level", "type": "integer"} + # manager.compressor.compress.compression_level -- compression level. + # value range relies on which algorithm is used. + # `gob`: level will be ignored. + # `gzip`: -1 (default compression), 0 (no compression), or 1 (best speed) to 9 (best compression). + # `lz4`: >= 0, higher is better compression. + # `zstd`: 1 (fastest) to 22 (best), however implementation relies on klauspost/compress. + compression_level: 3 + # @schema {"name": "manager.compressor.compress.concurrent_limit", "type": "integer"} + # manager.compressor.compress.concurrent_limit -- concurrency limit for compress/decompress processes + concurrent_limit: 10 + # @schema {"name": "manager.compressor.compress.queue_check_duration", "type": "string"} + # manager.compressor.compress.queue_check_duration represents duration of queue daemon block + queue_check_duration: 200ms + # @schema {"name": "manager.compressor.registerer", "type": "object"} + registerer: + # @schema {"name": "manager.compressor.registerer.concurrent_limit", "type": "integer"} + # manager.compressor.registerer.concurrent_limit -- concurrency limit for registering vector processes + concurrent_limit: 10 + # @schema {"name": "manager.compressor.registerer.queue_check_duration", "type": "string"} + # manager.compressor.registerer.queue_check_duration represents duration of queue daemon block + queue_check_duration: 200ms + # @schema {"name": "manager.compressor.registerer.compressor", "type": "object"} + compressor: + # @schema {"name": "manager.compressor.registerer.compressor.client", "alias": "grpc.client"} + # manager.compressor.registerer.compressor.client -- gRPC client for compressor (overrides defaults.grpc.client) + client: {} + + # @schema {"name": "manager.backup", "type": "object"} + backup: + # @schema {"name": "manager.backup.enabled", "type": "boolean"} + # manager.backup.enabled -- backup manager enabled enabled: true - # compressor.hpa.targetCPUUtilizationPercentage -- HPA CPU utilization percentage - targetCPUUtilizationPercentage: 80 - # @schema {"name": "compressor.image", "alias": "image"} - image: - # compressor.image.repository -- image repository - repository: vdaas/vald-manager-compressor - # compressor.image.tag -- image tag (overrides defaults.image.tag) - tag: "" - # compressor.image.pullPolicy -- image pull policy - pullPolicy: Always - # @schema {"name": "compressor.rollingUpdate", "alias": "rollingUpdate"} - rollingUpdate: - # compressor.rollingUpdate.maxSurge -- max surge of rolling update - maxSurge: 25% - # compressor.rollingUpdate.maxUnavailable -- max unavailable of rolling update - maxUnavailable: 25% - # @schema {"name": "compressor.initContainers", "alias": "initContainers"} - # compressor.initContainers -- init containers - initContainers: - - type: wait-for - name: wait-for-manager-backup - target: manager-backup - image: busybox - sleepDuration: 2 - # @schema {"name": "compressor.env", "alias": "env"} - # compressor.env -- environment variables - env: - - name: MY_POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - # @schema {"name": "compressor.volumeMounts", "alias": "volumeMounts"} - # compressor.volumeMounts -- volume mounts - volumeMounts: [] - # @schema {"name": "compressor.volumes", "alias": "volumes"} - # compressor.volumes -- volumes - volumes: [] - # @schema {"name": "compressor.nodeName", "type": "string"} - # compressor.nodeName -- node name - nodeName: "" - # @schema {"name": "compressor.nodeSelector", "alias": "nodeSelector"} - # compressor.nodeSelector -- node selector - nodeSelector: {} - # @schema {"name": "compressor.tolerations", "alias": "tolerations"} - # compressor.tolerations -- tolerations - tolerations: [] - # @schema {"name": "compressor.affinity", "alias": "affinity"} - affinity: - nodeAffinity: - # compressor.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: [] - requiredDuringSchedulingIgnoredDuringExecution: - # compressor.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors - nodeSelectorTerms: [] - podAffinity: - # compressor.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: [] - # compressor.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms - requiredDuringSchedulingIgnoredDuringExecution: [] - podAntiAffinity: - # compressor.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: [] - # compressor.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms - requiredDuringSchedulingIgnoredDuringExecution: [] - # @schema {"name": "compressor.topologySpreadConstraints", "alias": "topologySpreadConstraints"} - # compressor.topologySpreadConstraints -- topology spread constraints of compressor pods - topologySpreadConstraints: [] - # @schema {"name": "compressor.server_config", "alias": "server_config"} - # compressor.server_config -- server config (overrides defaults.server_config) - server_config: - servers: - rest: {} - grpc: {} - healths: - liveness: - server: - http: - shutdown_duration: 2m - readiness: {} - metrics: - pprof: {} - prometheus: {} - # @schema {"name": "compressor.observability", "alias": "observability"} - # compressor.observability -- observability config (overrides defaults.observability) - observability: - jaeger: - service_name: vald-manager-compressor - stackdriver: - profiler: - service: vald-manager-compressor - # @schema {"name": "compressor.resources", "alias": "resources"} - # compressor.resources -- compute resources - resources: - requests: - cpu: 300m - memory: 50Mi - limits: - cpu: 800m - memory: 500Mi - # @schema {"name": "compressor.backup", "type": "object"} - backup: - # @schema {"name": "compressor.backup.client", "alias": "grpc.client"} - # compressor.backup.client -- grpc client for backup (overrides defaults.grpc.client) - client: {} - # @schema {"name": "compressor.compress", "type": "object"} - compress: - # @schema {"name": "compressor.compress.compress_algorithm", "type": "string", "enum": ["gob", "gzip", "lz4", "zstd"]} - # compressor.compress.compress_algorithm -- compression algorithm. - # must be `gob`, `gzip`, `lz4` or `zstd` - compress_algorithm: zstd - # @schema {"name": "compressor.compress.compression_level", "type": "integer"} - # compressor.compress.compression_level -- compression level. - # value range relies on which algorithm is used. - # `gob`: level will be ignored. - # `gzip`: -1 (default compression), 0 (no compression), or 1 (best speed) to 9 (best compression). - # `lz4`: >= 0, higher is better compression. - # `zstd`: 1 (fastest) to 22 (best), however implementation relies on klauspost/compress. - compression_level: 3 - # @schema {"name": "compressor.compress.concurrent_limit", "type": "integer"} - # compressor.compress.concurrent_limit -- concurrency limit for compress/decompress processes - concurrent_limit: 10 - # @schema {"name": "compressor.compress.queue_check_duration", "type": "string"} - # compressor.compress.queue_check_duration represents duration of queue daemon block - queue_check_duration: 200ms - # @schema {"name": "compressor.registerer", "type": "object"} - registerer: - # @schema {"name": "compressor.registerer.concurrent_limit", "type": "integer"} - # compressor.registerer.concurrent_limit -- concurrency limit for registering vector processes - concurrent_limit: 10 - # @schema {"name": "compressor.registerer.queue_check_duration", "type": "string"} - # compressor.registerer.queue_check_duration represents duration of queue daemon block - queue_check_duration: 200ms - # @schema {"name": "compressor.registerer.compressor", "type": "object"} - compressor: - # @schema {"name": "compressor.registerer.compressor.client", "alias": "grpc.client"} - # compressor.registerer.compressor.client -- gRPC client for compressor (overrides defaults.grpc.client) - client: {} - -# @schema {"name": "backupManager", "type": "object"} -backupManager: - # @schema {"name": "backupManager.enabled", "type": "boolean"} - # backupManager.enabled -- backup manager enabled - enabled: true - # @schema {"name": "backupManager.version", "alias": "version"} - # backupManager.version -- version of backup manager config - version: v0.0.0 - # @schema {"name": "backupManager.time_zone", "type": "string"} - # backupManager.time_zone -- Time zone - time_zone: "" - # @schema {"name": "backupManager.logging", "alias": "logging"} - # backupManager.logging -- logging config (overrides defaults.logging) - logging: {} - # @schema {"name": "backupManager.name", "type": "string"} - # backupManager.name -- name of backup manager deployment - name: vald-manager-backup - # @schema {"name": "backupManager.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} - # backupManager.kind -- deployment kind: Deployment or DaemonSet - kind: Deployment - # @schema {"name": "backupManager.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} - # backupManager.serviceType -- service type: ClusterIP, LoadBalancer or NodePort - serviceType: ClusterIP - # @schema {"name": "backupManager.externalTrafficPolicy", "type": "string"} - # backupManager.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local - externalTrafficPolicy: "" - # @schema {"name": "backupManager.progressDeadlineSeconds", "type": "integer"} - # backupManager.progressDeadlineSeconds -- progress deadline seconds - progressDeadlineSeconds: 600 - # @schema {"name": "backupManager.minReplicas", "type": "integer", "minimum": 0} - # backupManager.minReplicas -- minimum number of replicas. - # if HPA is disabled, the replicas will be set to this value - minReplicas: 3 - # @schema {"name": "backupManager.maxReplicas", "type": "integer", "minimum": 0} - # backupManager.maxReplicas -- maximum number of replicas. - # if HPA is disabled, this value will be ignored. - maxReplicas: 15 - # @schema {"name": "backupManager.maxUnavailable", "type": "string"} - # backupManager.maxUnavailable -- maximum number of unavailable replicas - maxUnavailable: 50% - # @schema {"name": "backupManager.revisionHistoryLimit", "type": "integer", "minimum": 0} - # backupManager.revisionHistoryLimit -- number of old history to retain to allow rollback - revisionHistoryLimit: 2 - # @schema {"name": "backupManager.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} - # backupManager.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully - terminationGracePeriodSeconds: 30 - # @schema {"name": "backupManager.podPriority", "alias": "podPriority"} - podPriority: - # backupManager.podPriority.enabled -- backup manager pod PriorityClass enabled - enabled: true - # backupManager.podPriority.value -- backup manager pod PriorityClass value - value: 1000000 - # @schema {"name": "backupManager.annotations", "type": "object"} - # backupManager.annotations -- deployment annotations - annotations: {} - # @schema {"name": "backupManager.podAnnotations", "type": "object"} - # backupManager.podAnnotations -- pod annotations - podAnnotations: {} - # @schema {"name": "backupManager.service", "alias": "service"} - service: - # backupManager.service.annotations -- service annotations + # @schema {"name": "manager.backup.version", "alias": "version"} + # manager.backup.version -- version of backup manager config + version: v0.0.0 + # @schema {"name": "manager.backup.time_zone", "type": "string"} + # manager.backup.time_zone -- Time zone + time_zone: "" + # @schema {"name": "manager.backup.logging", "alias": "logging"} + # manager.backup.logging -- logging config (overrides defaults.logging) + logging: {} + # @schema {"name": "manager.backup.name", "type": "string"} + # manager.backup.name -- name of backup manager deployment + name: vald-manager-backup + # @schema {"name": "manager.backup.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} + # manager.backup.kind -- deployment kind: Deployment or DaemonSet + kind: Deployment + # @schema {"name": "manager.backup.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} + # manager.backup.serviceType -- service type: ClusterIP, LoadBalancer or NodePort + serviceType: ClusterIP + # @schema {"name": "manager.backup.externalTrafficPolicy", "type": "string"} + # manager.backup.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local + externalTrafficPolicy: "" + # @schema {"name": "manager.backup.progressDeadlineSeconds", "type": "integer"} + # manager.backup.progressDeadlineSeconds -- progress deadline seconds + progressDeadlineSeconds: 600 + # @schema {"name": "manager.backup.minReplicas", "type": "integer", "minimum": 0} + # manager.backup.minReplicas -- minimum number of replicas. + # if HPA is disabled, the replicas will be set to this value + minReplicas: 3 + # @schema {"name": "manager.backup.maxReplicas", "type": "integer", "minimum": 0} + # manager.backup.maxReplicas -- maximum number of replicas. + # if HPA is disabled, this value will be ignored. + maxReplicas: 15 + # @schema {"name": "manager.backup.maxUnavailable", "type": "string"} + # manager.backup.maxUnavailable -- maximum number of unavailable replicas + maxUnavailable: 50% + # @schema {"name": "manager.backup.revisionHistoryLimit", "type": "integer", "minimum": 0} + # manager.backup.revisionHistoryLimit -- number of old history to retain to allow rollback + revisionHistoryLimit: 2 + # @schema {"name": "manager.backup.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} + # manager.backup.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully + terminationGracePeriodSeconds: 30 + # @schema {"name": "manager.backup.podPriority", "alias": "podPriority"} + podPriority: + # manager.backup.podPriority.enabled -- backup manager pod PriorityClass enabled + enabled: true + # manager.backup.podPriority.value -- backup manager pod PriorityClass value + value: 1000000 + # @schema {"name": "manager.backup.annotations", "type": "object"} + # manager.backup.annotations -- deployment annotations annotations: {} - # backupManager.service.labels -- service labels - labels: {} - # @schema {"name": "backupManager.hpa", "alias": "hpa"} - hpa: - # backupManager.hpa.enabled -- HPA enabled - enabled: true - # backupManager.hpa.targetCPUUtilizationPercentage -- HPA CPU utilization percentage - targetCPUUtilizationPercentage: 80 - # @schema {"name": "backupManager.image", "alias": "image"} - image: - # backupManager.image.repository -- image repository - repository: vdaas/vald-manager-backup-mysql - # repository: vdaas/vald-manager-backup-cassandra - # backupManager.image.tag -- image tag (overrides defaults.image.tag) - tag: "" - # backupManager.image.pullPolicy -- image pull policy - pullPolicy: Always - # @schema {"name": "backupManager.rollingUpdate", "alias": "rollingUpdate"} - rollingUpdate: - # backupManager.rollingUpdate.maxSurge -- max surge of rolling update - maxSurge: 25% - # backupManager.rollingUpdate.maxUnavailable -- max unavailable of rolling update - maxUnavailable: 25% - # @schema {"name": "backupManager.initContainers", "alias": "initContainers"} - # backupManager.initContainers -- init containers - initContainers: - - type: wait-for-mysql - name: wait-for-mysql - image: mysql:latest - mysql: + # @schema {"name": "manager.backup.podAnnotations", "type": "object"} + # manager.backup.podAnnotations -- pod annotations + podAnnotations: {} + # @schema {"name": "manager.backup.service", "alias": "service"} + service: + # manager.backup.service.annotations -- service annotations + annotations: {} + # manager.backup.service.labels -- service labels + labels: {} + # @schema {"name": "manager.backup.hpa", "alias": "hpa"} + hpa: + # manager.backup.hpa.enabled -- HPA enabled + enabled: true + # manager.backup.hpa.targetCPUUtilizationPercentage -- HPA CPU utilization percentage + targetCPUUtilizationPercentage: 80 + # @schema {"name": "manager.backup.image", "alias": "image"} + image: + # manager.backup.image.repository -- image repository + repository: vdaas/vald-manager-backup-mysql + # repository: vdaas/vald-manager-backup-cassandra + # manager.backup.image.tag -- image tag (overrides defaults.image.tag) + tag: "" + # manager.backup.image.pullPolicy -- image pull policy + pullPolicy: Always + # @schema {"name": "manager.backup.rollingUpdate", "alias": "rollingUpdate"} + rollingUpdate: + # manager.backup.rollingUpdate.maxSurge -- max surge of rolling update + maxSurge: 25% + # manager.backup.rollingUpdate.maxUnavailable -- max unavailable of rolling update + maxUnavailable: 25% + # @schema {"name": "manager.backup.initContainers", "alias": "initContainers"} + # manager.backup.initContainers -- init containers + initContainers: + - type: wait-for-mysql + name: wait-for-mysql + image: mysql:latest + mysql: + hosts: + - mysql.default.svc.cluster.local + options: + - "-uroot" + - "-p${MYSQL_PASSWORD}" + sleepDuration: 2 + env: + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysql-secret + key: password + # - type: wait-for-cassandra + # name: wait-for-cassandra + # image: cassandra:latest + # cassandra: + # hosts: + # - cassandra-0.cassandra.default.svc.cluster.local + # - cassandra-1.cassandra.default.svc.cluster.local + # - cassandra-2.cassandra.default.svc.cluster.local + # options: + # - "-uroot" + # - "-p${CASSANDRA_PASSWORD}" + # sleepDuration: 2 + # env: + # - name: CASSANDRA_PASSWORD + # valueFrom: + # secretKeyRef: + # name: cassandra-secret + # key: password + # - type: wait-for-cassandra + # name: wait-for-scylla + # image: cassandra:latest + # cassandra: + # hosts: + # - scylla-0.scylla.default.svc.cluster.local + # - scylla-1.scylla.default.svc.cluster.local + # - scylla-2.scylla.default.svc.cluster.local + # sleepDuration: 2 + # @schema {"name": "manager.backup.env", "alias": "env"} + # manager.backup.env -- environment variables + env: + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysql-secret + key: password + # - name: CASSANDRA_PASSWORD + # valueFrom: + # secretKeyRef: + # name: cassandra-secret + # key: password + # @schema {"name": "manager.backup.volumeMounts", "alias": "volumeMounts"} + # manager.backup.volumeMounts -- volume mounts + volumeMounts: [] + # @schema {"name": "manager.backup.volumes", "alias": "volumes"} + # manager.backup.volumes -- volumes + volumes: [] + # @schema {"name": "manager.backup.nodeName", "type": "string"} + # manager.backup.nodeName -- node name + nodeName: "" + # @schema {"name": "manager.backup.nodeSelector", "alias": "nodeSelector"} + # manager.backup.nodeSelector -- node selector + nodeSelector: {} + # @schema {"name": "manager.backup.tolerations", "alias": "tolerations"} + # manager.backup.tolerations -- tolerations + tolerations: [] + # @schema {"name": "manager.backup.affinity", "alias": "affinity"} + affinity: + nodeAffinity: + # manager.backup.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + requiredDuringSchedulingIgnoredDuringExecution: + # manager.backup.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors + nodeSelectorTerms: [] + podAffinity: + # manager.backup.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # manager.backup.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + podAntiAffinity: + # manager.backup.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # manager.backup.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "manager.backup.topologySpreadConstraints", "alias": "topologySpreadConstraints"} + # manager.backup.topologySpreadConstraints -- topology spread constraints of backup manager pods + topologySpreadConstraints: [] + # @schema {"name": "manager.backup.server_config", "alias": "server_config"} + # manager.backup.server_config -- server config (overrides defaults.server_config) + server_config: + servers: + rest: {} + grpc: {} + healths: + liveness: {} + readiness: {} + metrics: + pprof: {} + prometheus: {} + # @schema {"name": "manager.backup.observability", "alias": "observability"} + # manager.backup.observability -- observability config (overrides defaults.observability) + observability: + jaeger: + service_name: vald-manager-backup + stackdriver: + profiler: + service: vald-manager-backup + # @schema {"name": "manager.backup.resources", "alias": "resources"} + # manager.backup.resources -- compute resources + resources: + requests: + cpu: 100m + memory: 50Mi + limits: + cpu: 500m + memory: 150Mi + # @schema {"name": "manager.backup.mysql", "type": "object"} + mysql: + # @schema {"name": "manager.backup.mysql.enabled", "type": "boolean"} + # manager.backup.mysql.enabled -- mysql config enabled + enabled: true + # @schema {"name": "manager.backup.mysql.config", "type": "object"} + config: + # @schema {"name": "manager.backup.mysql.config.db", "type": "string", "enum": ["mysql", "postgres", "sqlite3"]} + # manager.backup.mysql.config.db -- mysql db: mysql, postgres or sqlite3 + db: mysql + # @schema {"name": "manager.backup.mysql.config.host", "type": "string"} + # manager.backup.mysql.config.host -- mysql hostname + host: mysql.default.svc.cluster.local + # @schema {"name": "manager.backup.mysql.config.port", "type": "integer"} + # manager.backup.mysql.config.port -- mysql port + port: 3306 + # @schema {"name": "manager.backup.mysql.config.user", "type": "string"} + # manager.backup.mysql.config.user -- mysql username + user: root + # @schema {"name": "manager.backup.mysql.config.pass", "type": "string"} + # manager.backup.mysql.config.pass -- mysql password + pass: _MYSQL_PASSWORD_ + # @schema {"name": "manager.backup.mysql.config.name", "type": "string"} + # manager.backup.mysql.config.name -- mysql db name + name: vald + # @schema {"name": "manager.backup.mysql.config.conn_max_life_time", "type": "string"} + # manager.backup.mysql.config.conn_max_life_time -- connection maximum life time + conn_max_life_time: 30s + # @schema {"name": "manager.backup.mysql.config.max_open_conns", "type": "integer"} + # manager.backup.mysql.config.max_open_conns -- maximum number of open connections + max_open_conns: 100 + # @schema {"name": "manager.backup.mysql.config.max_idle_conns", "type": "integer"} + # manager.backup.mysql.config.max_idle_conns -- maximum number of idle connections + max_idle_conns: 100 + # @schema {"name": "manager.backup.mysql.config.tls", "alias": "tls"} + tls: + # manager.backup.mysql.config.tls.enabled -- TLS enabled + enabled: false + # manager.backup.mysql.config.tls.cert -- path to TLS cert + cert: /path/to/cert + # manager.backup.mysql.config.tls.key -- path to TLS key + key: /path/to/key + # manager.backup.mysql.config.tls.ca -- path to TLS ca + ca: /path/to/ca + # @schema {"name": "manager.backup.mysql.config.tls", "alias": "tcp"} + tcp: + dns: + # manager.backup.mysql.config.tcp.dns.cache_enabled -- TCP DNS cache enabled + cache_enabled: true + # manager.backup.mysql.config.tcp.dns.refresh_duration -- TCP DNS cache refresh duration + refresh_duration: 1h + # manager.backup.mysql.config.tcp.dns.cache_expiration -- TCP DNS cache expiration + cache_expiration: 24h + dialer: + # manager.backup.mysql.config.tcp.dialer.timeout -- TCP dialer timeout + timeout: 5s + # manager.backup.mysql.config.tcp.dialer.keep_alive -- TCP dialer keep alive + keep_alive: 5m + # manager.backup.mysql.config.tcp.dialer.dual_stack_enabled -- TCP dialer dual stack enabled + dual_stack_enabled: false + tls: + # manager.backup.mysql.config.tcp.tls.enabled -- TCP TLS enabled + enabled: false + # manager.backup.mysql.config.tcp.tls.cert -- path to TCP TLS cert + cert: /path/to/cert + # manager.backup.mysql.config.tcp.tls.key -- path to TCP TLS key + key: /path/to/key + # manager.backup.mysql.config.tcp.tls.ca -- path to TCP TLS ca + ca: /path/to/ca + # @schema {"name": "manager.backup.cassandra", "type": "object", "anchor": "cassandra"} + cassandra: + # @schema {"name": "manager.backup.cassandra.enabled", "type": "boolean"} + # manager.backup.cassandra.enabled -- cassandra config enabled + enabled: false + # @schema {"name": "manager.backup.cassandra.config", "type": "object"} + config: + # @schema {"name": "manager.backup.cassandra.config.hosts", "type": "array", "items": {"type": "string"}} + # manager.backup.cassandra.config.hosts -- cassandra hosts hosts: - - mysql.default.svc.cluster.local - options: - - "-uroot" - - "-p${MYSQL_PASSWORD}" - sleepDuration: 2 - env: - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysql-secret - key: password - # - type: wait-for-cassandra - # name: wait-for-cassandra - # image: cassandra:latest - # cassandra: - # hosts: - # - cassandra-0.cassandra.default.svc.cluster.local - # - cassandra-1.cassandra.default.svc.cluster.local - # - cassandra-2.cassandra.default.svc.cluster.local - # options: - # - "-uroot" - # - "-p${CASSANDRA_PASSWORD}" - # sleepDuration: 2 - # env: - # - name: CASSANDRA_PASSWORD - # valueFrom: - # secretKeyRef: - # name: cassandra-secret - # key: password - # - type: wait-for-cassandra - # name: wait-for-scylla - # image: cassandra:latest - # cassandra: - # hosts: - # - scylla-0.scylla.default.svc.cluster.local - # - scylla-1.scylla.default.svc.cluster.local - # - scylla-2.scylla.default.svc.cluster.local - # sleepDuration: 2 - # @schema {"name": "backupManager.env", "alias": "env"} - # backupManager.env -- environment variables - env: - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysql-secret - key: password - # - name: CASSANDRA_PASSWORD - # valueFrom: - # secretKeyRef: - # name: cassandra-secret - # key: password - # @schema {"name": "backupManager.volumeMounts", "alias": "volumeMounts"} - # backupManager.volumeMounts -- volume mounts - volumeMounts: [] - # @schema {"name": "backupManager.volumes", "alias": "volumes"} - # backupManager.volumes -- volumes - volumes: [] - # @schema {"name": "backupManager.nodeName", "type": "string"} - # backupManager.nodeName -- node name - nodeName: "" - # @schema {"name": "backupManager.nodeSelector", "alias": "nodeSelector"} - # backupManager.nodeSelector -- node selector - nodeSelector: {} - # @schema {"name": "backupManager.tolerations", "alias": "tolerations"} - # backupManager.tolerations -- tolerations - tolerations: [] - # @schema {"name": "backupManager.affinity", "alias": "affinity"} - affinity: - nodeAffinity: - # backupManager.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: [] - requiredDuringSchedulingIgnoredDuringExecution: - # backupManager.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors - nodeSelectorTerms: [] - podAffinity: - # backupManager.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: [] - # backupManager.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms - requiredDuringSchedulingIgnoredDuringExecution: [] - podAntiAffinity: - # backupManager.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: [] - # backupManager.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms - requiredDuringSchedulingIgnoredDuringExecution: [] - # @schema {"name": "backupManager.topologySpreadConstraints", "alias": "topologySpreadConstraints"} - # backupManager.topologySpreadConstraints -- topology spread constraints of backup manager pods - topologySpreadConstraints: [] - # @schema {"name": "backupManager.server_config", "alias": "server_config"} - # backupManager.server_config -- server config (overrides defaults.server_config) - server_config: - servers: - rest: {} - grpc: {} - healths: - liveness: {} - readiness: {} - metrics: - pprof: {} - prometheus: {} - # @schema {"name": "backupManager.observability", "alias": "observability"} - # backupManager.observability -- observability config (overrides defaults.observability) - observability: - jaeger: - service_name: vald-manager-backup - stackdriver: - profiler: - service: vald-manager-backup - # @schema {"name": "backupManager.resources", "alias": "resources"} - # backupManager.resources -- compute resources - resources: - requests: - cpu: 100m - memory: 50Mi - limits: - cpu: 500m - memory: 150Mi - # @schema {"name": "backupManager.mysql", "type": "object"} - mysql: - # @schema {"name": "backupManager.mysql.enabled", "type": "boolean"} - # backupManager.mysql.enabled -- mysql config enabled - enabled: true - # @schema {"name": "backupManager.mysql.config", "type": "object"} - config: - # @schema {"name": "backupManager.mysql.config.db", "type": "string", "enum": ["mysql", "postgres", "sqlite3"]} - # backupManager.mysql.config.db -- mysql db: mysql, postgres or sqlite3 - db: mysql - # @schema {"name": "backupManager.mysql.config.host", "type": "string"} - # backupManager.mysql.config.host -- mysql hostname - host: mysql.default.svc.cluster.local - # @schema {"name": "backupManager.mysql.config.port", "type": "integer"} - # backupManager.mysql.config.port -- mysql port - port: 3306 - # @schema {"name": "backupManager.mysql.config.user", "type": "string"} - # backupManager.mysql.config.user -- mysql username - user: root - # @schema {"name": "backupManager.mysql.config.pass", "type": "string"} - # backupManager.mysql.config.pass -- mysql password - pass: _MYSQL_PASSWORD_ - # @schema {"name": "backupManager.mysql.config.name", "type": "string"} - # backupManager.mysql.config.name -- mysql db name - name: vald - # @schema {"name": "backupManager.mysql.config.conn_max_life_time", "type": "string"} - # backupManager.mysql.config.conn_max_life_time -- connection maximum life time - conn_max_life_time: 30s - # @schema {"name": "backupManager.mysql.config.max_open_conns", "type": "integer"} - # backupManager.mysql.config.max_open_conns -- maximum number of open connections - max_open_conns: 100 - # @schema {"name": "backupManager.mysql.config.max_idle_conns", "type": "integer"} - # backupManager.mysql.config.max_idle_conns -- maximum number of idle connections - max_idle_conns: 100 - # @schema {"name": "backupManager.mysql.config.tls", "alias": "tls"} - tls: - # backupManager.mysql.config.tls.enabled -- TLS enabled - enabled: false - # backupManager.mysql.config.tls.cert -- path to TLS cert - cert: /path/to/cert - # backupManager.mysql.config.tls.key -- path to TLS key - key: /path/to/key - # backupManager.mysql.config.tls.ca -- path to TLS ca - ca: /path/to/ca - # @schema {"name": "backupManager.mysql.config.tls", "alias": "tcp"} - tcp: - dns: - # backupManager.mysql.config.tcp.dns.cache_enabled -- TCP DNS cache enabled - cache_enabled: true - # backupManager.mysql.config.tcp.dns.refresh_duration -- TCP DNS cache refresh duration - refresh_duration: 1h - # backupManager.mysql.config.tcp.dns.cache_expiration -- TCP DNS cache expiration - cache_expiration: 24h - dialer: - # backupManager.mysql.config.tcp.dialer.timeout -- TCP dialer timeout - timeout: 5s - # backupManager.mysql.config.tcp.dialer.keep_alive -- TCP dialer keep alive - keep_alive: 5m - # backupManager.mysql.config.tcp.dialer.dual_stack_enabled -- TCP dialer dual stack enabled - dual_stack_enabled: false + - cassandra-0.cassandra.default.svc.cluster.local + - cassandra-1.cassandra.default.svc.cluster.local + - cassandra-2.cassandra.default.svc.cluster.local + # - scylla-0.scylla.default.svc.cluster.local + # - scylla-1.scylla.default.svc.cluster.local + # - scylla-2.scylla.default.svc.cluster.local + # @schema {"name": "manager.backup.cassandra.config.cql_version", "type": "string"} + # manager.backup.cassandra.config.cql_version -- cassandra CQL version + cql_version: 3.0.0 + # @schema {"name": "manager.backup.cassandra.config.proto_version", "type": "integer"} + # manager.backup.cassandra.config.proto_version -- cassandra proto version + proto_version: 0 + # @schema {"name": "manager.backup.cassandra.config.timeout", "type": "string"} + # manager.backup.cassandra.config.timeout -- timeout + timeout: 600ms + # @schema {"name": "manager.backup.cassandra.config.connect_timeout", "type": "string"} + # manager.backup.cassandra.config.connect_timeout -- connect timeout + connect_timeout: 3s + # @schema {"name": "manager.backup.cassandra.config.port", "type": "integer"} + # manager.backup.cassandra.config.port -- cassandra port + port: 9042 + # @schema {"name": "manager.backup.cassandra.config.keyspace", "type": "string"} + # manager.backup.cassandra.config.keyspace -- cassandra keyspace + keyspace: vald + # @schema {"name": "manager.backup.cassandra.config.num_conns", "type": "integer"} + # manager.backup.cassandra.config.num_conns -- number of connections per hosts + num_conns: 2 + # @schema {"name": "manager.backup.cassandra.config.consistency", "type": "string", "enum": ["any", "one", "two", "three", "all", "quorum", "localquorum", "eachquorum", "localone"]} + # manager.backup.cassandra.config.consistency -- consistency type + consistency: quorum + # @schema {"name": "manager.backup.cassandra.config.serial_consistency", "type": "string", "enum": ["localserial", "serial"]} + # manager.backup.cassandra.config.serial_consistency -- read consistency type + serial_consistency: localserial + # @schema {"name": "manager.backup.cassandra.config.username", "type": "string"} + # manager.backup.cassandra.config.username -- cassandra username + username: root + # @schema {"name": "manager.backup.cassandra.config.password", "type": "string"} + # manager.backup.cassandra.config.password -- cassandra password + password: _CASSANDRA_PASSWORD_ + # @schema {"name": "manager.backup.cassandra.config.retry_policy", "type": "object"} + retry_policy: + # @schema {"name": "manager.backup.cassandra.config.retry_policy.num_retries", "type": "integer"} + # manager.backup.cassandra.config.retry_policy.num_retries -- number of retries + num_retries: 3 + # @schema {"name": "manager.backup.cassandra.config.retry_policy.min_duration", "type": "string"} + # manager.backup.cassandra.config.retry_policy.min_duration -- minimum duration to retry + min_duration: 10ms + # @schema {"name": "manager.backup.cassandra.config.retry_policy.max_duration", "type": "string"} + # manager.backup.cassandra.config.retry_policy.max_duration -- maximum duration to retry + max_duration: 1s + # @schema {"name": "manager.backup.cassandra.config.reconnection_policy", "type": "object"} + reconnection_policy: + # @schema {"name": "manager.backup.cassandra.config.reconnection_policy.max_retries", "type": "integer"} + # manager.backup.cassandra.config.reconnection_policy.max_retries -- maximum number of retries to reconnect + max_retries: 3 + # @schema {"name": "manager.backup.cassandra.config.reconnection_policy.initial_interval", "type": "string"} + # manager.backup.cassandra.config.reconnection_policy.initial_interval -- initial interval to reconnect + initial_interval: 100ms + # @schema {"name": "manager.backup.cassandra.config.socket_keepalive", "type": "string"} + # manager.backup.cassandra.config.socket_keepalive -- socket keep alive time + socket_keepalive: 0s + # @schema {"name": "manager.backup.cassandra.config.max_prepared_stmts", "type": "integer"} + # manager.backup.cassandra.config.max_prepared_stmts -- maximum number of prepared statements + max_prepared_stmts: 1000 + # @schema {"name": "manager.backup.cassandra.config.max_routing_key_info", "type": "integer"} + # manager.backup.cassandra.config.max_routing_key_info -- maximum number of routing key info + max_routing_key_info: 1000 + # @schema {"name": "manager.backup.cassandra.config.page_size", "type": "integer"} + # manager.backup.cassandra.config.page_size -- page size + page_size: 5000 + # @schema {"name": "manager.backup.cassandra.config.tls", "alias": "tls"} tls: - # backupManager.mysql.config.tcp.tls.enabled -- TCP TLS enabled + # manager.backup.cassandra.config.tls.enabled -- TLS enabled enabled: false - # backupManager.mysql.config.tcp.tls.cert -- path to TCP TLS cert + # manager.backup.cassandra.config.tls.cert -- path to TLS cert cert: /path/to/cert - # backupManager.mysql.config.tcp.tls.key -- path to TCP TLS key + # manager.backup.cassandra.config.tls.key -- path to TLS key key: /path/to/key - # backupManager.mysql.config.tcp.tls.ca -- path to TCP TLS ca + # manager.backup.cassandra.config.tls.ca -- path to TLS ca ca: /path/to/ca - # @schema {"name": "backupManager.cassandra", "type": "object", "anchor": "cassandra"} - cassandra: - # @schema {"name": "backupManager.cassandra.enabled", "type": "boolean"} - # backupManager.cassandra.enabled -- cassandra config enabled - enabled: false - # @schema {"name": "backupManager.cassandra.config", "type": "object"} - config: - # @schema {"name": "backupManager.cassandra.config.hosts", "type": "array", "items": {"type": "string"}} - # backupManager.cassandra.config.hosts -- cassandra hosts - hosts: - - cassandra-0.cassandra.default.svc.cluster.local - - cassandra-1.cassandra.default.svc.cluster.local - - cassandra-2.cassandra.default.svc.cluster.local - # - scylla-0.scylla.default.svc.cluster.local - # - scylla-1.scylla.default.svc.cluster.local - # - scylla-2.scylla.default.svc.cluster.local - # @schema {"name": "backupManager.cassandra.config.cql_version", "type": "string"} - # backupManager.cassandra.config.cql_version -- cassandra CQL version - cql_version: 3.0.0 - # @schema {"name": "backupManager.cassandra.config.proto_version", "type": "integer"} - # backupManager.cassandra.config.proto_version -- cassandra proto version - proto_version: 0 - # @schema {"name": "backupManager.cassandra.config.timeout", "type": "string"} - # backupManager.cassandra.config.timeout -- timeout - timeout: 600ms - # @schema {"name": "backupManager.cassandra.config.connect_timeout", "type": "string"} - # backupManager.cassandra.config.connect_timeout -- connect timeout - connect_timeout: 3s - # @schema {"name": "backupManager.cassandra.config.port", "type": "integer"} - # backupManager.cassandra.config.port -- cassandra port - port: 9042 - # @schema {"name": "backupManager.cassandra.config.keyspace", "type": "string"} - # backupManager.cassandra.config.keyspace -- cassandra keyspace - keyspace: vald - # @schema {"name": "backupManager.cassandra.config.num_conns", "type": "integer"} - # backupManager.cassandra.config.num_conns -- number of connections per hosts - num_conns: 2 - # @schema {"name": "backupManager.cassandra.config.consistency", "type": "string", "enum": ["any", "one", "two", "three", "all", "quorum", "localquorum", "eachquorum", "localone"]} - # backupManager.cassandra.config.consistency -- consistency type - consistency: quorum - # @schema {"name": "backupManager.cassandra.config.serial_consistency", "type": "string", "enum": ["localserial", "serial"]} - # backupManager.cassandra.config.serial_consistency -- read consistency type - serial_consistency: localserial - # @schema {"name": "backupManager.cassandra.config.username", "type": "string"} - # backupManager.cassandra.config.username -- cassandra username - username: root - # @schema {"name": "backupManager.cassandra.config.password", "type": "string"} - # backupManager.cassandra.config.password -- cassandra password - password: _CASSANDRA_PASSWORD_ - # @schema {"name": "backupManager.cassandra.config.retry_policy", "type": "object"} - retry_policy: - # @schema {"name": "backupManager.cassandra.config.retry_policy.num_retries", "type": "integer"} - # backupManager.cassandra.config.retry_policy.num_retries -- number of retries - num_retries: 3 - # @schema {"name": "backupManager.cassandra.config.retry_policy.min_duration", "type": "string"} - # backupManager.cassandra.config.retry_policy.min_duration -- minimum duration to retry - min_duration: 10ms - # @schema {"name": "backupManager.cassandra.config.retry_policy.max_duration", "type": "string"} - # backupManager.cassandra.config.retry_policy.max_duration -- maximum duration to retry - max_duration: 1s - # @schema {"name": "backupManager.cassandra.config.reconnection_policy", "type": "object"} - reconnection_policy: - # @schema {"name": "backupManager.cassandra.config.reconnection_policy.max_retries", "type": "integer"} - # backupManager.cassandra.config.reconnection_policy.max_retries -- maximum number of retries to reconnect - max_retries: 3 - # @schema {"name": "backupManager.cassandra.config.reconnection_policy.initial_interval", "type": "string"} - # backupManager.cassandra.config.reconnection_policy.initial_interval -- initial interval to reconnect - initial_interval: 100ms - # @schema {"name": "backupManager.cassandra.config.socket_keepalive", "type": "string"} - # backupManager.cassandra.config.socket_keepalive -- socket keep alive time - socket_keepalive: 0s - # @schema {"name": "backupManager.cassandra.config.max_prepared_stmts", "type": "integer"} - # backupManager.cassandra.config.max_prepared_stmts -- maximum number of prepared statements - max_prepared_stmts: 1000 - # @schema {"name": "backupManager.cassandra.config.max_routing_key_info", "type": "integer"} - # backupManager.cassandra.config.max_routing_key_info -- maximum number of routing key info - max_routing_key_info: 1000 - # @schema {"name": "backupManager.cassandra.config.page_size", "type": "integer"} - # backupManager.cassandra.config.page_size -- page size - page_size: 5000 - # @schema {"name": "backupManager.cassandra.config.tls", "alias": "tls"} - tls: - # backupManager.cassandra.config.tls.enabled -- TLS enabled - enabled: false - # backupManager.cassandra.config.tls.cert -- path to TLS cert - cert: /path/to/cert - # backupManager.cassandra.config.tls.key -- path to TLS key - key: /path/to/key - # backupManager.cassandra.config.tls.ca -- path to TLS ca - ca: /path/to/ca - # @schema {"name": "backupManager.cassandra.config.tcp", "alias": "tcp"} - tcp: - dns: - # backupManager.cassandra.config.tcp.dns.cache_enabled -- TCP DNS cache enabled - cache_enabled: true - # backupManager.cassandra.config.tcp.dns.refresh_duration -- TCP DNS cache refresh duration - refresh_duration: 5m - # backupManager.cassandra.config.tcp.dns.cache_expiration -- TCP DNS cache expiration - cache_expiration: 24h - dialer: - # backupManager.cassandra.config.tcp.dialer.timeout -- TCP dialer timeout - timeout: 30s - # backupManager.cassandra.config.tcp.dialer.keep_alive -- TCP dialer keep alive - keep_alive: 10m - # backupManager.cassandra.config.tcp.dialer.dual_stack_enabled -- TCP dialer dual stack enabled - dual_stack_enabled: false - # @schema {"name": "backupManager.cassandra.config.enable_host_verification", "type": "boolean"} - # backupManager.cassandra.config.enable_host_verification -- host verification enabled - enable_host_verification: false - # @schema {"name": "backupManager.cassandra.config.default_timestamp", "type": "boolean"} - # backupManager.cassandra.config.default_timestamp -- default timestamp enabled - default_timestamp: true - # @schema {"name": "backupManager.cassandra.config.reconnect_interval", "type": "string"} - # backupManager.cassandra.config.reconnect_interval -- interval of reconnection - reconnect_interval: 100ms - # @schema {"name": "backupManager.cassandra.config.max_wait_schema_agreement", "type": "string"} - # backupManager.cassandra.config.max_wait_schema_agreement -- maximum duration to wait for schema agreement - max_wait_schema_agreement: 1m - # @schema {"name": "backupManager.cassandra.config.ignore_peer_addr", "type": "boolean"} - # backupManager.cassandra.config.ignore_peer_addr -- ignore peer addresses - ignore_peer_addr: false - # @schema {"name": "backupManager.cassandra.config.disable_initial_host_lookup", "type": "boolean"} - # backupManager.cassandra.config.disable_initial_host_lookup -- initial host lookup disabled - disable_initial_host_lookup: false - # @schema {"name": "backupManager.cassandra.config.disable_node_status_events", "type": "boolean"} - # backupManager.cassandra.config.disable_node_status_events -- node status events disabled - disable_node_status_events: false - # @schema {"name": "backupManager.cassandra.config.disable_topology_events", "type": "boolean"} - # backupManager.cassandra.config.disable_topology_events -- topology events disabled - disable_topology_events: false - # @schema {"name": "backupManager.cassandra.config.disable_skip_metadata", "type": "boolean"} - # backupManager.cassandra.config.disable_skip_metadata -- skip metadata disabled - disable_skip_metadata: false - # @schema {"name": "backupManager.cassandra.config.default_idempotence", "type": "boolean"} - # backupManager.cassandra.config.default_idempotence -- default idempotence enabled - default_idempotence: false - # @schema {"name": "backupManager.cassandra.config.write_coalesce_wait_time", "type": "string"} - # backupManager.cassandra.config.write_coalesce_wait_time -- write coalesce wait time - write_coalesce_wait_time: 200µs - # @schema {"name": "backupManager.cassandra.config.meta_table", "type": "string"} - # backupManager.cassandra.config.meta_table -- table name of backup - meta_table: meta_vector - # @schema {"name": "backupManager.cassandra.config.pool_config", "type": "object"} - pool_config: - # @schema {"name": "backupManager.cassandra.config.pool_config.data_center", "type": "string"} - # backupManager.cassandra.config.pool_config.data_center -- name of data center - data_center: "" - # @schema {"name": "backupManager.cassandra.config.pool_config.dc_aware_routing", "type": "boolean"} - # backupManager.cassandra.config.pool_config.dc_aware_routing -- data center aware routine enabled - dc_aware_routing: false - # @schema {"name": "backupManager.cassandra.config.pool_config.non_local_replicas_fallback", "type": "boolean"} - # backupManager.cassandra.config.pool_config.non_local_replicas_fallback -- non-local replica fallback enabled - non_local_replicas_fallback: false - # @schema {"name": "backupManager.cassandra.config.pool_config.shuffle_replicas", "type": "boolean"} - # backupManager.cassandra.config.pool_config.shuffle_replicas -- shuffle replica enabled - shuffle_replicas: false - # @schema {"name": "backupManager.cassandra.config.pool_config.token_aware_host_policy", "type": "boolean"} - # backupManager.cassandra.config.pool_config.token_aware_host_policy -- token aware host policy enabled - token_aware_host_policy: false - # @schema {"name": "backupManager.cassandra.config.host_filter", "type": "object"} - host_filter: - # @schema {"name": "backupManager.cassandra.config.host_filter.enabled", "type": "boolean"} - # backupManager.cassandra.config.host_filter.enabled -- enables host filtering - enabled: false - # @schema {"name": "backupManager.cassandra.config.host_filter.data_center", "type": "string"} - # backupManager.cassandra.config.host_filter.data_center -- name of data center of filtering target - data_center: "" - # @schema {"name": "backupManager.cassandra.config.host_filter.white_list", "type": "array", "items": {"type": "string"}} - # backupManager.cassandra.config.host_filter.white_list -- list of white_list which allows each connection - white_list: [] + # @schema {"name": "manager.backup.cassandra.config.tcp", "alias": "tcp"} + tcp: + dns: + # manager.backup.cassandra.config.tcp.dns.cache_enabled -- TCP DNS cache enabled + cache_enabled: true + # manager.backup.cassandra.config.tcp.dns.refresh_duration -- TCP DNS cache refresh duration + refresh_duration: 5m + # manager.backup.cassandra.config.tcp.dns.cache_expiration -- TCP DNS cache expiration + cache_expiration: 24h + dialer: + # manager.backup.cassandra.config.tcp.dialer.timeout -- TCP dialer timeout + timeout: 30s + # manager.backup.cassandra.config.tcp.dialer.keep_alive -- TCP dialer keep alive + keep_alive: 10m + # manager.backup.cassandra.config.tcp.dialer.dual_stack_enabled -- TCP dialer dual stack enabled + dual_stack_enabled: false + # @schema {"name": "manager.backup.cassandra.config.enable_host_verification", "type": "boolean"} + # manager.backup.cassandra.config.enable_host_verification -- host verification enabled + enable_host_verification: false + # @schema {"name": "manager.backup.cassandra.config.default_timestamp", "type": "boolean"} + # manager.backup.cassandra.config.default_timestamp -- default timestamp enabled + default_timestamp: true + # @schema {"name": "manager.backup.cassandra.config.reconnect_interval", "type": "string"} + # manager.backup.cassandra.config.reconnect_interval -- interval of reconnection + reconnect_interval: 100ms + # @schema {"name": "manager.backup.cassandra.config.max_wait_schema_agreement", "type": "string"} + # manager.backup.cassandra.config.max_wait_schema_agreement -- maximum duration to wait for schema agreement + max_wait_schema_agreement: 1m + # @schema {"name": "manager.backup.cassandra.config.ignore_peer_addr", "type": "boolean"} + # manager.backup.cassandra.config.ignore_peer_addr -- ignore peer addresses + ignore_peer_addr: false + # @schema {"name": "manager.backup.cassandra.config.disable_initial_host_lookup", "type": "boolean"} + # manager.backup.cassandra.config.disable_initial_host_lookup -- initial host lookup disabled + disable_initial_host_lookup: false + # @schema {"name": "manager.backup.cassandra.config.disable_node_status_events", "type": "boolean"} + # manager.backup.cassandra.config.disable_node_status_events -- node status events disabled + disable_node_status_events: false + # @schema {"name": "manager.backup.cassandra.config.disable_topology_events", "type": "boolean"} + # manager.backup.cassandra.config.disable_topology_events -- topology events disabled + disable_topology_events: false + # @schema {"name": "manager.backup.cassandra.config.disable_skip_metadata", "type": "boolean"} + # manager.backup.cassandra.config.disable_skip_metadata -- skip metadata disabled + disable_skip_metadata: false + # @schema {"name": "manager.backup.cassandra.config.default_idempotence", "type": "boolean"} + # manager.backup.cassandra.config.default_idempotence -- default idempotence enabled + default_idempotence: false + # @schema {"name": "manager.backup.cassandra.config.write_coalesce_wait_time", "type": "string"} + # manager.backup.cassandra.config.write_coalesce_wait_time -- write coalesce wait time + write_coalesce_wait_time: 200µs + # @schema {"name": "manager.backup.cassandra.config.meta_table", "type": "string"} + # manager.backup.cassandra.config.meta_table -- table name of backup + meta_table: meta_vector + # @schema {"name": "manager.backup.cassandra.config.pool_config", "type": "object"} + pool_config: + # @schema {"name": "manager.backup.cassandra.config.pool_config.data_center", "type": "string"} + # manager.backup.cassandra.config.pool_config.data_center -- name of data center + data_center: "" + # @schema {"name": "manager.backup.cassandra.config.pool_config.dc_aware_routing", "type": "boolean"} + # manager.backup.cassandra.config.pool_config.dc_aware_routing -- data center aware routine enabled + dc_aware_routing: false + # @schema {"name": "manager.backup.cassandra.config.pool_config.non_local_replicas_fallback", "type": "boolean"} + # manager.backup.cassandra.config.pool_config.non_local_replicas_fallback -- non-local replica fallback enabled + non_local_replicas_fallback: false + # @schema {"name": "manager.backup.cassandra.config.pool_config.shuffle_replicas", "type": "boolean"} + # manager.backup.cassandra.config.pool_config.shuffle_replicas -- shuffle replica enabled + shuffle_replicas: false + # @schema {"name": "manager.backup.cassandra.config.pool_config.token_aware_host_policy", "type": "boolean"} + # manager.backup.cassandra.config.pool_config.token_aware_host_policy -- token aware host policy enabled + token_aware_host_policy: false + # @schema {"name": "manager.backup.cassandra.config.host_filter", "type": "object"} + host_filter: + # @schema {"name": "manager.backup.cassandra.config.host_filter.enabled", "type": "boolean"} + # manager.backup.cassandra.config.host_filter.enabled -- enables host filtering + enabled: false + # @schema {"name": "manager.backup.cassandra.config.host_filter.data_center", "type": "string"} + # manager.backup.cassandra.config.host_filter.data_center -- name of data center of filtering target + data_center: "" + # @schema {"name": "manager.backup.cassandra.config.host_filter.white_list", "type": "array", "items": {"type": "string"}} + # manager.backup.cassandra.config.host_filter.white_list -- list of white_list which allows each connection + white_list: [] -# @schema {"name": "indexManager", "type": "object"} -indexManager: - # @schema {"name": "indexManager.enabled", "type": "boolean"} - # indexManager.enabled -- index manager enabled - enabled: true - # @schema {"name": "indexManager.version", "alias": "version"} - # indexManager.version -- version of index manager config - version: v0.0.0 - # @schema {"name": "indexManager.time_zone", "type": "string"} - # indexManager.time_zone -- Time zone - time_zone: "" - # @schema {"name": "indexManager.logging", "alias": "logging"} - # indexManager.logging -- logging config (overrides defaults.logging) - logging: {} - # @schema {"name": "indexManager.name", "type": "string"} - # indexManager.name -- name of index manager deployment - name: vald-manager-index - # @schema {"name": "indexManager.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} - # indexManager.kind -- deployment kind: Deployment or DaemonSet - kind: Deployment - # @schema {"name": "indexManager.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} - # indexManager.serviceType -- service type: ClusterIP, LoadBalancer or NodePort - serviceType: ClusterIP - # @schema {"name": "indexManager.externalTrafficPolicy", "type": "string"} - # indexManager.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local - externalTrafficPolicy: "" - # @schema {"name": "indexManager.progressDeadlineSeconds", "type": "integer"} - # indexManager.progressDeadlineSeconds -- progress deadline seconds - progressDeadlineSeconds: 600 - # @schema {"name": "indexManager.replicas", "type": "integer", "minimum": 0} - # indexManager.replicas -- number of replicas - replicas: 1 - # @schema {"name": "indexManager.maxUnavailable", "type": "string"} - # indexManager.maxUnavailable -- maximum number of unavailable replicas - maxUnavailable: 50% - # @schema {"name": "indexManager.revisionHistoryLimit", "type": "integer", "minimum": 0} - # indexManager.revisionHistoryLimit -- number of old history to retain to allow rollback - revisionHistoryLimit: 2 - # @schema {"name": "indexManager.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} - # indexManager.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully - terminationGracePeriodSeconds: 30 - # @schema {"name": "indexManager.podPriority", "alias": "podPriority"} - podPriority: - # indexManager.podPriority.enabled -- index manager pod PriorityClass enabled + # @schema {"name": "manager.index", "type": "object"} + index: + # @schema {"name": "manager.index.enabled", "type": "boolean"} + # manager.index.enabled -- index manager enabled enabled: true - # indexManager.podPriority.value -- index manager pod PriorityClass value - value: 1000000 - # @schema {"name": "indexManager.annotations", "type": "object"} - # indexManager.annotations -- deployment annotations - annotations: {} - # @schema {"name": "indexManager.podAnnotations", "type": "object"} - # indexManager.podAnnotations -- pod annotations - podAnnotations: {} - # @schema {"name": "indexManager.service", "alias": "service"} - service: - # indexManager.service.annotations -- service annotations + # @schema {"name": "manager.index.version", "alias": "version"} + # manager.index.version -- version of index manager config + version: v0.0.0 + # @schema {"name": "manager.index.time_zone", "type": "string"} + # manager.index.time_zone -- Time zone + time_zone: "" + # @schema {"name": "manager.index.logging", "alias": "logging"} + # manager.index.logging -- logging config (overrides defaults.logging) + logging: {} + # @schema {"name": "manager.index.name", "type": "string"} + # manager.index.name -- name of index manager deployment + name: vald-manager-index + # @schema {"name": "manager.index.kind", "type": "string", "enum": ["Deployment", "DaemonSet"]} + # manager.index.kind -- deployment kind: Deployment or DaemonSet + kind: Deployment + # @schema {"name": "manager.index.serviceType", "type": "string", "enum": ["ClusterIP", "LoadBalancer", "NodePort"]} + # manager.index.serviceType -- service type: ClusterIP, LoadBalancer or NodePort + serviceType: ClusterIP + # @schema {"name": "manager.index.externalTrafficPolicy", "type": "string"} + # manager.index.externalTrafficPolicy -- external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local + externalTrafficPolicy: "" + # @schema {"name": "manager.index.progressDeadlineSeconds", "type": "integer"} + # manager.index.progressDeadlineSeconds -- progress deadline seconds + progressDeadlineSeconds: 600 + # @schema {"name": "manager.index.replicas", "type": "integer", "minimum": 0} + # manager.index.replicas -- number of replicas + replicas: 1 + # @schema {"name": "manager.index.maxUnavailable", "type": "string"} + # manager.index.maxUnavailable -- maximum number of unavailable replicas + maxUnavailable: 50% + # @schema {"name": "manager.index.revisionHistoryLimit", "type": "integer", "minimum": 0} + # manager.index.revisionHistoryLimit -- number of old history to retain to allow rollback + revisionHistoryLimit: 2 + # @schema {"name": "manager.index.terminationGracePeriodSeconds", "type": "integer", "minimum": 0} + # manager.index.terminationGracePeriodSeconds -- duration in seconds pod needs to terminate gracefully + terminationGracePeriodSeconds: 30 + # @schema {"name": "manager.index.podPriority", "alias": "podPriority"} + podPriority: + # manager.index.podPriority.enabled -- index manager pod PriorityClass enabled + enabled: true + # manager.index.podPriority.value -- index manager pod PriorityClass value + value: 1000000 + # @schema {"name": "manager.index.annotations", "type": "object"} + # manager.index.annotations -- deployment annotations annotations: {} - # indexManager.service.labels -- service labels - labels: {} - # @schema {"name": "indexManager.image", "alias": "image"} - image: - # indexManager.image.repository -- image repository - repository: vdaas/vald-manager-index - # indexManager.image.tag -- image tag (overrides defaults.image.tag) - tag: "" - # indexManager.image.pullPolicy -- image pull policy - pullPolicy: Always - # @schema {"name": "indexManager.rollingUpdate", "alias": "rollingUpdate"} - rollingUpdate: - # indexManager.rollingUpdate.maxSurge -- max surge of rolling update - maxSurge: 25% - # indexManager.rollingUpdate.maxUnavailable -- max unavailable of rolling update - maxUnavailable: 25% - # @schema {"name": "indexManager.initContainers", "alias": "initContainers"} - # indexManager.initContainers -- init containers - initContainers: - - type: wait-for - name: wait-for-agent - target: agent - image: busybox - sleepDuration: 2 - - type: wait-for - name: wait-for-discoverer - target: discoverer - image: busybox - sleepDuration: 2 - # @schema {"name": "indexManager.env", "alias": "env"} - # indexManager.env -- environment variables - env: - # - name: MY_NODE_NAME - # valueFrom: - # fieldRef: - # fieldPath: spec.nodeName - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - # @schema {"name": "indexManager.volumeMounts", "alias": "volumeMounts"} - # indexManager.volumeMounts -- volume mounts - volumeMounts: [] - # @schema {"name": "indexManager.volumes", "alias": "volumes"} - # indexManager.volumes -- volumes - volumes: [] - # @schema {"name": "indexManager.nodeName", "type": "string"} - # indexManager.nodeName -- node name - nodeName: "" - # @schema {"name": "indexManager.nodeSelector", "alias": "nodeSelector"} - # indexManager.nodeSelector -- node selector - nodeSelector: {} - # @schema {"name": "indexManager.tolerations", "alias": "tolerations"} - # indexManager.tolerations -- tolerations - tolerations: [] - # @schema {"name": "indexManager.affinity", "alias": "affinity"} - affinity: - nodeAffinity: - # indexManager.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: [] - requiredDuringSchedulingIgnoredDuringExecution: - # indexManager.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors - nodeSelectorTerms: [] - podAffinity: - # indexManager.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: [] - # indexManager.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms - requiredDuringSchedulingIgnoredDuringExecution: [] - podAntiAffinity: - # indexManager.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms - preferredDuringSchedulingIgnoredDuringExecution: [] - # indexManager.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms - requiredDuringSchedulingIgnoredDuringExecution: [] - # @schema {"name": "indexManager.topologySpreadConstraints", "alias": "topologySpreadConstraints"} - # indexManager.topologySpreadConstraints -- topology spread constraints of index manager pods - topologySpreadConstraints: [] - # @schema {"name": "indexManager.server_config", "alias": "server_config"} - # indexManager.server_config -- server config (overrides defaults.server_config) - server_config: - servers: - rest: {} - grpc: {} - healths: - liveness: {} - readiness: {} - metrics: - pprof: {} - prometheus: {} - # @schema {"name": "indexManager.observability", "alias": "observability"} - # indexManager.observability -- observability config (overrides defaults.observability) - observability: - jaeger: - service_name: vald-manager-index - stackdriver: - profiler: - service: vald-manager-index - # @schema {"name": "indexManager.resources", "alias": "resources"} - # indexManager.resources -- compute resources - resources: - requests: - cpu: 200m - memory: 80Mi - limits: - cpu: 1000m - memory: 500Mi - # @schema {"name": "indexManager.indexer", "type": "object"} - indexer: - # @schema {"name": "indexManager.indexer.agent_namespace", "type": "string"} - # indexManager.indexer.agent_namespace -- namespace of agent pods to manage - agent_namespace: _MY_POD_NAMESPACE_ - # @schema {"name": "indexManager.indexer.node_name", "type": "string"} - # indexManager.indexer.node_name -- node name - node_name: "" # _MY_NODE_NAME_ - # @schema {"name": "indexManager.indexer.concurrency", "type": "integer", "minimum": 1} - # indexManager.indexer.concurrency -- concurrency - concurrency: 1 - # @schema {"name": "indexManager.indexer.auto_index_duration_limit", "type": "string"} - # indexManager.indexer.auto_index_duration_limit -- limit duration of automatic indexing - auto_index_duration_limit: 30m - # @schema {"name": "indexManager.indexer.auto_index_check_duration", "type": "string"} - # indexManager.indexer.auto_index_check_duration -- check duration of automatic indexing - auto_index_check_duration: 1m - # @schema {"name": "indexManager.indexer.auto_index_length", "type": "integer"} - # indexManager.indexer.auto_index_length -- number of cache to trigger automatic indexing - auto_index_length: 100 - # @schema {"name": "indexManager.indexer.creation_pool_size", "type": "integer"} - # indexManager.indexer.creation_pool_size -- number of pool size of create index processing - creation_pool_size: 10000 - # @schema {"name": "indexManager.indexer.discoverer", "type": "object"} - discoverer: - # @schema {"name": "indexManager.indexer.discoverer.duration", "type": "string"} - # indexManager.indexer.discoverer.duration -- refresh duration to discover - duration: 500ms - # @schema {"name": "indexManager.indexer.discoverer.discover_client", "alias": "grpc.client"} - # indexManager.indexer.discoverer.discover_client -- gRPC client for discoverer (overrides defaults.grpc.client) - discover_client: {} - # @schema {"name": "indexManager.indexer.discoverer.agent_client", "alias": "grpc.client"} - # indexManager.indexer.discoverer.agent_client -- gRPC client for agents (overrides defaults.grpc.client) - agent_client: - dial_option: - tcp: - dialer: - keep_alive: 15m + # @schema {"name": "manager.index.podAnnotations", "type": "object"} + # manager.index.podAnnotations -- pod annotations + podAnnotations: {} + # @schema {"name": "manager.index.service", "alias": "service"} + service: + # manager.index.service.annotations -- service annotations + annotations: {} + # manager.index.service.labels -- service labels + labels: {} + # @schema {"name": "manager.index.image", "alias": "image"} + image: + # manager.index.image.repository -- image repository + repository: vdaas/vald-manager-index + # manager.index.image.tag -- image tag (overrides defaults.image.tag) + tag: "" + # manager.index.image.pullPolicy -- image pull policy + pullPolicy: Always + # @schema {"name": "manager.index.rollingUpdate", "alias": "rollingUpdate"} + rollingUpdate: + # manager.index.rollingUpdate.maxSurge -- max surge of rolling update + maxSurge: 25% + # manager.index.rollingUpdate.maxUnavailable -- max unavailable of rolling update + maxUnavailable: 25% + # @schema {"name": "manager.index.initContainers", "alias": "initContainers"} + # manager.index.initContainers -- init containers + initContainers: + - type: wait-for + name: wait-for-agent + target: agent + image: busybox + sleepDuration: 2 + - type: wait-for + name: wait-for-discoverer + target: discoverer + image: busybox + sleepDuration: 2 + # @schema {"name": "manager.index.env", "alias": "env"} + # manager.index.env -- environment variables + env: + # - name: MY_NODE_NAME + # valueFrom: + # fieldRef: + # fieldPath: spec.nodeName + - name: MY_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + # @schema {"name": "manager.index.volumeMounts", "alias": "volumeMounts"} + # manager.index.volumeMounts -- volume mounts + volumeMounts: [] + # @schema {"name": "manager.index.volumes", "alias": "volumes"} + # manager.index.volumes -- volumes + volumes: [] + # @schema {"name": "manager.index.nodeName", "type": "string"} + # manager.index.nodeName -- node name + nodeName: "" + # @schema {"name": "manager.index.nodeSelector", "alias": "nodeSelector"} + # manager.index.nodeSelector -- node selector + nodeSelector: {} + # @schema {"name": "manager.index.tolerations", "alias": "tolerations"} + # manager.index.tolerations -- tolerations + tolerations: [] + # @schema {"name": "manager.index.affinity", "alias": "affinity"} + affinity: + nodeAffinity: + # manager.index.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution -- node affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + requiredDuringSchedulingIgnoredDuringExecution: + # manager.index.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms -- node affinity required node selectors + nodeSelectorTerms: [] + podAffinity: + # manager.index.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # manager.index.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + podAntiAffinity: + # manager.index.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity preferred scheduling terms + preferredDuringSchedulingIgnoredDuringExecution: [] + # manager.index.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution -- pod anti-affinity required scheduling terms + requiredDuringSchedulingIgnoredDuringExecution: [] + # @schema {"name": "manager.index.topologySpreadConstraints", "alias": "topologySpreadConstraints"} + # manager.index.topologySpreadConstraints -- topology spread constraints of index manager pods + topologySpreadConstraints: [] + # @schema {"name": "manager.index.server_config", "alias": "server_config"} + # manager.index.server_config -- server config (overrides defaults.server_config) + server_config: + servers: + rest: {} + grpc: {} + healths: + liveness: {} + readiness: {} + metrics: + pprof: {} + prometheus: {} + # @schema {"name": "manager.index.observability", "alias": "observability"} + # manager.index.observability -- observability config (overrides defaults.observability) + observability: + jaeger: + service_name: vald-manager-index + stackdriver: + profiler: + service: vald-manager-index + # @schema {"name": "manager.index.resources", "alias": "resources"} + # manager.index.resources -- compute resources + resources: + requests: + cpu: 200m + memory: 80Mi + limits: + cpu: 1000m + memory: 500Mi + # @schema {"name": "manager.index.indexer", "type": "object"} + indexer: + # @schema {"name": "manager.index.indexer.agent_namespace", "type": "string"} + # manager.index.indexer.agent_namespace -- namespace of agent pods to manage + agent_namespace: _MY_POD_NAMESPACE_ + # @schema {"name": "manager.index.indexer.node_name", "type": "string"} + # manager.index.indexer.node_name -- node name + node_name: "" # _MY_NODE_NAME_ + # @schema {"name": "manager.index.indexer.concurrency", "type": "integer", "minimum": 1} + # manager.index.indexer.concurrency -- concurrency + concurrency: 1 + # @schema {"name": "manager.index.indexer.auto_index_duration_limit", "type": "string"} + # manager.index.indexer.auto_index_duration_limit -- limit duration of automatic indexing + auto_index_duration_limit: 30m + # @schema {"name": "manager.index.indexer.auto_index_check_duration", "type": "string"} + # manager.index.indexer.auto_index_check_duration -- check duration of automatic indexing + auto_index_check_duration: 1m + # @schema {"name": "manager.index.indexer.auto_index_length", "type": "integer"} + # manager.index.indexer.auto_index_length -- number of cache to trigger automatic indexing + auto_index_length: 100 + # @schema {"name": "manager.index.indexer.creation_pool_size", "type": "integer"} + # manager.index.indexer.creation_pool_size -- number of pool size of create index processing + creation_pool_size: 10000 + # @schema {"name": "manager.index.indexer.discoverer", "type": "object"} + discoverer: + # @schema {"name": "manager.index.indexer.discoverer.duration", "type": "string"} + # manager.index.indexer.discoverer.duration -- refresh duration to discover + duration: 500ms + # @schema {"name": "manager.index.indexer.discoverer.discover_client", "alias": "grpc.client"} + # manager.index.indexer.discoverer.discover_client -- gRPC client for discoverer (overrides defaults.grpc.client) + discover_client: {} + # @schema {"name": "manager.index.indexer.discoverer.agent_client", "alias": "grpc.client"} + # manager.index.indexer.discoverer.agent_client -- gRPC client for agents (overrides defaults.grpc.client) + agent_client: + dial_option: + tcp: + dialer: + keep_alive: 15m # @schema {"name": "meta", "type": "object"} meta: diff --git a/pkg/gateway/filter/handler/rest/handler_test.go b/pkg/gateway/filter/handler/rest/handler_test.go index b8f8353265..41b6a579de 100644 --- a/pkg/gateway/filter/handler/rest/handler_test.go +++ b/pkg/gateway/filter/handler/rest/handler_test.go @@ -22,8 +22,8 @@ import ( "reflect" "testing" - "github.com/vdaas/vald/apis/grpc/gateway/vald" "github.com/vdaas/vald/internal/errors" + "github.com/vdaas/vald/apis/grpc/gateway/vald" "go.uber.org/goleak" )