diff --git a/CHANGELOG.md b/CHANGELOG.md
index 79c7f34699..c2894fcc05 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,141 +1,5 @@
# CHANGELOG
-## v1.7.7
-
-### Docker images
-
-
-
- component |
- Docker pull |
-
-
- Agent NGT |
-
- docker pull vdaas/vald-agent-ngt:v1.7.7
- docker pull ghcr.io/vdaas/vald/vald-agent-ngt:v1.7.7
- |
-
-
- Agent sidecar |
-
- docker pull vdaas/vald-agent-sidecar:v1.7.7
- docker pull ghcr.io/vdaas/vald/vald-agent-sidecar:v1.7.7
- |
-
-
- Discoverers |
-
- docker pull vdaas/vald-discoverer-k8s:v1.7.7
- docker pull ghcr.io/vdaas/vald/vald-discoverer-k8s:v1.7.7
- |
-
-
- Gateways |
-
- docker pull vdaas/vald-lb-gateway:v1.7.7
- docker pull ghcr.io/vdaas/vald/vald-lb-gateway:v1.7.7
- docker pull vdaas/vald-filter-gateway:v1.7.7
- docker pull ghcr.io/vdaas/vald/vald-filter-gateway:v1.7.7
- |
-
-
- Index Manager |
-
- docker pull vdaas/vald-manager-index:v1.7.7
- docker pull ghcr.io/vdaas/vald/vald-manager-index:v1.7.7
- |
-
-
- Helm Operator |
-
- docker pull vdaas/vald-helm-operator:v1.7.7
- docker pull ghcr.io/vdaas/vald/vald-helm-operator:v1.7.7
- |
-
-
-
-### Documents
-
-- [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.7.7)
-- [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.7.7/charts/vald/README.md)
-- [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.7.7/charts/vald-helm-operator/README.md)
-
-### Changes
-:sparkles: New feature
-- Add CopyBuffer to copy.go [#2167](https://github.com/vdaas/vald/pull/2167)
-- Add Vald standard internal/sync package [#2153](https://github.com/vdaas/vald/pull/2153)
-- Add RemoveByTimestamp RPC [#2158](https://github.com/vdaas/vald/pull/2158)
-- Implement StreamListObject and its tests [#2145](https://github.com/vdaas/vald/pull/2145)
-- Add apiversion capabilities check to helm template [#2137](https://github.com/vdaas/vald/pull/2137)
-- Add timestamp field to Object.Vector [#2136](https://github.com/vdaas/vald/pull/2136)
-- Add gache's generic Map as internal/sync.Map and replace standard sync.Map with it [#2115](https://github.com/vdaas/vald/pull/2115)
-- Make internal/cache generic [#2104](https://github.com/vdaas/vald/pull/2104)
-- Install additional tools for docker image for devcontainer [#2101](https://github.com/vdaas/vald/pull/2101)
-- Install buf and apply buf format [#2094](https://github.com/vdaas/vald/pull/2094)
-- Add backup origin when CoW enabled and failed to load primary [#2091](https://github.com/vdaas/vald/pull/2091)
-- Add decode kvsdb tool [#2059](https://github.com/vdaas/vald/pull/2059)
-- Add user custom network policy [#2078](https://github.com/vdaas/vald/pull/2078)
-
-:recycle: Refactor
-- Refactor agent ngt core. [#2172](https://github.com/vdaas/vald/pull/2172)
-- Refactor proto [#2173](https://github.com/vdaas/vald/pull/2173)
-- Refactor search status [#2168](https://github.com/vdaas/vald/pull/2168)
-- Refactor internal/core/algorithm/ngt mutex lock timing [#2144](https://github.com/vdaas/vald/pull/2144)
-- Refactor github actions [#2141](https://github.com/vdaas/vald/pull/2141)
-- Update license text [#2169](https://github.com/vdaas/vald/pull/2169)
-- Refactor agent error not to wrap with details for performance issue [#2154](https://github.com/vdaas/vald/pull/2154)
-- Use internal comparator instead of go-cmp [#2132](https://github.com/vdaas/vald/pull/2132)
-- Refactor context [#2121](https://github.com/vdaas/vald/pull/2121)
-- Propagate context to Search operation. [#2117](https://github.com/vdaas/vald/pull/2117)
-- Refactor fix url http to https [#2090](https://github.com/vdaas/vald/pull/2090)
-- Update "make gotests/gen" command [#2085](https://github.com/vdaas/vald/pull/2085)
-
-:bug: Bugfix
-- Fix duplicate make command [#2165](https://github.com/vdaas/vald/pull/2165)
-- Add timestamp check for GetObject e2e [#2142](https://github.com/vdaas/vald/pull/2142)
-- Modified apiversion capabilities check [#2149](https://github.com/vdaas/vald/pull/2149)
-- Fix ngt index path of test case [#2130](https://github.com/vdaas/vald/pull/2130)
-- Fix hack/benchmark search interface change [#2129](https://github.com/vdaas/vald/pull/2129)
-- Fix internal/gache definition variable type [#2123](https://github.com/vdaas/vald/pull/2123)
-- Use GOBIN instead of GOPATH/bin [#2102](https://github.com/vdaas/vald/pull/2102)
-- Fix jaeger operator wait logic [#2114](https://github.com/vdaas/vald/pull/2114)
-- Fix make k8s/metrics/jaeger/deploy failure [#2077](https://github.com/vdaas/vald/pull/2077)
-- Bugfix Makefile KUBECONFIG recursive reference [#2089](https://github.com/vdaas/vald/pull/2089)
-- Fix deploy command [#2088](https://github.com/vdaas/vald/pull/2088)
-- Fix non-trusted module problem of v1.7.6 and disable not found debug message [#2076](https://github.com/vdaas/vald/pull/2076)
-- Bugfix lb gateway pacicked caused by pairing heap search aggregator makes nil pointer when empty search result [#2181](https://github.com/vdaas/vald/pull/2181)
-
-:pencil2: Document
-- Update testing guideline for updated testing policy [#2131](https://github.com/vdaas/vald/pull/2131)
-- Add troubleshooting for each rpc [#2163](https://github.com/vdaas/vald/pull/2163)
-- Fix format network policy document [#2108](https://github.com/vdaas/vald/pull/2108)
-- Add broken index backup document [#2096](https://github.com/vdaas/vald/pull/2096)
-- Add network policy document [#2095](https://github.com/vdaas/vald/pull/2095)
-- Fix 404 URL link [#2098](https://github.com/vdaas/vald/pull/2098)
-- Update observability document [#2086](https://github.com/vdaas/vald/pull/2086)
-- Fix typo of contribution guide [#2087](https://github.com/vdaas/vald/pull/2087)
-- Update docs: search API and client API config [#2081](https://github.com/vdaas/vald/pull/2081)
-
-:white_check_mark: Testing
-- Re-Generate test codes [#2107](https://github.com/vdaas/vald/pull/2107)
-- Update golangci-lint configuration: use white-list configuration pattern [#2106](https://github.com/vdaas/vald/pull/2106)
-
-:green_heart: CI
-- Fix coverage CI error [#2150](https://github.com/vdaas/vald/pull/2150)
-- Remove some linters to make ci faster [#2116](https://github.com/vdaas/vald/pull/2116)
-
-:chart_with_upwards_trend: Metrics/Tracing
-- Divide latency of CreateIndex and SaveIndex metrics [#2099](https://github.com/vdaas/vald/pull/2099)
-- Add broken index count metrics [#2083](https://github.com/vdaas/vald/pull/2083)
-
-:arrow_up: Update dependencies
-- Update go modules [#2092](https://github.com/vdaas/vald/pull/2092)
-
-:art: Design
-- Modified svg images [#2178](https://github.com/vdaas/vald/pull/2178)
-
-
## v1.7.6
### Docker images
diff --git a/charts/vald-helm-operator/Chart.yaml b/charts/vald-helm-operator/Chart.yaml
index c130a34856..e1dbd8a5d2 100644
--- a/charts/vald-helm-operator/Chart.yaml
+++ b/charts/vald-helm-operator/Chart.yaml
@@ -16,7 +16,7 @@
apiVersion: v2
name: vald-helm-operator
-version: v1.7.7
+version: v1.7.6
description: A Helm chart for vald-helm-operator
type: application
keywords:
diff --git a/charts/vald-helm-operator/README.md b/charts/vald-helm-operator/README.md
index 35fe56a247..ec475d6636 100644
--- a/charts/vald-helm-operator/README.md
+++ b/charts/vald-helm-operator/README.md
@@ -1,21 +1,18 @@
-vald-helm-operator
-===
+# vald-helm-operator
This is a Helm chart to install vald-helm-operator.
-Current chart version is `v1.7.7`
+Current chart version is `v1.7.6`
-Table of Contents
----
+## Table of Contents
- [Install](#install)
- [Custom Resources](#custom-resources)
- - [ValdRelease](#valdrelease)
- - [ValdHelmOperatorRelease](#valdhelmoperatorrelease)
+ - [ValdRelease](#valdrelease)
+ - [ValdHelmOperatorRelease](#valdhelmoperatorrelease)
- [Configuration](#configuration)
-Install
----
+## Install
Add Vald Helm repository
@@ -25,23 +22,21 @@ Run the following command to install the chart,
$ helm install vald-helm-operator-release vald/vald-helm-operator
-Upgrading the version
----
+## Upgrading the version
Please upgrade the CRDs first because Helm doesn't have a support to upgrade CRDs.
- $ kubectl replace -f https://raw.githubusercontent.com/vdaas/vald/v1.7.7/charts/vald-helm-operator/crds/valdrelease.yaml
- $ kubectl replace -f https://raw.githubusercontent.com/vdaas/vald/v1.7.7/charts/vald-helm-operator/crds/valdhelmoperatorrelease.yaml
+ $ kubectl replace -f https://raw.githubusercontent.com/vdaas/vald/v1.7.6/charts/vald-helm-operator/crds/valdrelease.yaml
+ $ kubectl replace -f https://raw.githubusercontent.com/vdaas/vald/v1.7.6/charts/vald-helm-operator/crds/valdhelmoperatorrelease.yaml
After upgrading CRDs, you can upgrade the operator.
If you're using `valdhelmoperatorrelease` (or `vhor`) resource, please update the `spec.image.tag` field of it.
- $ kubectl patch vhor vhor-release -p '{"spec":{"image":{"tag":"v1.7.7"}}}'
+ $ kubectl patch vhor vhor-release -p '{"spec":{"image":{"tag":"v1.7.6"}}}'
On the other hand, please update the operator's deployment manually.
-Custom Resources
----
+## Custom Resources
### ValdRelease
@@ -73,60 +68,59 @@ metadata:
spec: {}
```
-Configuration
----
-
-| Key | Type | Default | Description |
-|-----|------|---------|-------------|
-| affinity | object | `{}` | affinity |
-| annotations | object | `{}` | deployment annotations |
-| enableLeaderElection | bool | `true` | enable leader election for controller manager. |
-| enableMetrics | bool | `true` | enable metrics endpoint |
-| healthPort | int | `8081` | port of health endpoint |
-| image.pullPolicy | string | `"Always"` | image pull policy |
-| image.repository | string | `"vdaas/vald-helm-operator"` | image repository |
-| image.tag | string | `"v1.7.7"` | image tag |
-| leaderElectionID | string | `"vald-helm-operator"` | name of the configmap that is used for holding the leader lock. |
-| livenessProbe.enabled | bool | `true` | enable liveness probe. |
-| livenessProbe.failureThreshold | int | `2` | liveness probe failure threshold |
-| livenessProbe.httpGet.path | string | `"/healthz"` | readiness probe path |
-| livenessProbe.httpGet.port | string | `"health"` | readiness probe port |
-| livenessProbe.httpGet.scheme | string | `"HTTP"` | readiness probe scheme |
-| livenessProbe.initialDelaySeconds | int | `15` | liveness probe initial delay seconds |
-| livenessProbe.periodSeconds | int | `20` | liveness probe period seconds |
-| livenessProbe.successThreshold | int | `1` | liveness probe success threshold |
-| livenessProbe.timeoutSeconds | int | `5` | liveness probe timeout seconds |
-| logging.format | string | `"console"` | logging format of operator (console or json) |
-| logging.level | string | `"info"` | logging level of operator (debug, info, or error) |
-| logging.stacktraceLevel | string | `"error"` | minimum log level triggers stacktrace generation |
-| maxConcurrentReconciles | int | `1` | max number of concurrent reconciles |
-| metricsPort | int | `6061` | port of metrics endpoint |
-| name | string | `"vald-helm-operator"` | name of the deployment |
-| namespaced | bool | `true` | if it is true, operator will behave as a namespace-scoped operator, if it is false, it will behave as a cluster-scoped operator. |
-| nodeSelector | object | `{}` | node labels for pod assignment |
-| podAnnotations | object | `{}` | pod annotations |
-| podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
-| rbac.create | bool | `true` | required roles and rolebindings will be created |
-| rbac.name | string | `"vald-helm-operator"` | name of roles and rolebindings |
-| readinessProbe.enabled | bool | `true` | enable readiness probe. |
-| readinessProbe.failureThreshold | int | `2` | liveness probe failure threshold |
-| readinessProbe.httpGet.path | string | `"/readyz"` | readiness probe path |
-| readinessProbe.httpGet.port | string | `"health"` | readiness probe port |
-| readinessProbe.httpGet.scheme | string | `"HTTP"` | readiness probe scheme |
-| readinessProbe.initialDelaySeconds | int | `5` | liveness probe initial delay seconds |
-| readinessProbe.periodSeconds | int | `10` | liveness probe period seconds |
-| readinessProbe.successThreshold | int | `1` | liveness probe success threshold |
-| readinessProbe.timeoutSeconds | int | `5` | liveness probe timeout seconds |
-| reconcilePeriod | string | `"1m"` | reconcile duration of operator |
-| replicas | int | `2` | number of replicas |
-| resources | object | `{"limits":{"cpu":"300m","memory":"300Mi"},"requests":{"cpu":"200m","memory":"200Mi"}}` | kubernetes resources of pod |
-| securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
-| service.annotations | object | `{}` | service annotations |
-| service.enabled | bool | `true` | service enabled |
-| service.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
-| service.labels | object | `{}` | service labels |
-| service.type | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
-| serviceAccount.create | bool | `true` | service account will be created |
-| serviceAccount.name | string | `"vald-helm-operator"` | name of service account |
-| tolerations | list | `[]` | tolerations |
-| watchNamespaces | string | `""` | comma separated names of namespaces to watch, if it is empty, the namespace that the operator exists in is used. |
+## Configuration
+
+| Key | Type | Default | Description |
+| ---------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
+| affinity | object | `{}` | affinity |
+| annotations | object | `{}` | deployment annotations |
+| enableLeaderElection | bool | `true` | enable leader election for controller manager. |
+| enableMetrics | bool | `true` | enable metrics endpoint |
+| healthPort | int | `8081` | port of health endpoint |
+| image.pullPolicy | string | `"Always"` | image pull policy |
+| image.repository | string | `"vdaas/vald-helm-operator"` | image repository |
+| image.tag | string | `"v1.7.6"` | image tag |
+| leaderElectionID | string | `"vald-helm-operator"` | name of the configmap that is used for holding the leader lock. |
+| livenessProbe.enabled | bool | `true` | enable liveness probe. |
+| livenessProbe.failureThreshold | int | `2` | liveness probe failure threshold |
+| livenessProbe.httpGet.path | string | `"/healthz"` | readiness probe path |
+| livenessProbe.httpGet.port | string | `"health"` | readiness probe port |
+| livenessProbe.httpGet.scheme | string | `"HTTP"` | readiness probe scheme |
+| livenessProbe.initialDelaySeconds | int | `15` | liveness probe initial delay seconds |
+| livenessProbe.periodSeconds | int | `20` | liveness probe period seconds |
+| livenessProbe.successThreshold | int | `1` | liveness probe success threshold |
+| livenessProbe.timeoutSeconds | int | `5` | liveness probe timeout seconds |
+| logging.format | string | `"console"` | logging format of operator (console or json) |
+| logging.level | string | `"info"` | logging level of operator (debug, info, or error) |
+| logging.stacktraceLevel | string | `"error"` | minimum log level triggers stacktrace generation |
+| maxConcurrentReconciles | int | `1` | max number of concurrent reconciles |
+| metricsPort | int | `6061` | port of metrics endpoint |
+| name | string | `"vald-helm-operator"` | name of the deployment |
+| namespaced | bool | `true` | if it is true, operator will behave as a namespace-scoped operator, if it is false, it will behave as a cluster-scoped operator. |
+| nodeSelector | object | `{}` | node labels for pod assignment |
+| podAnnotations | object | `{}` | pod annotations |
+| podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
+| rbac.create | bool | `true` | required roles and rolebindings will be created |
+| rbac.name | string | `"vald-helm-operator"` | name of roles and rolebindings |
+| readinessProbe.enabled | bool | `true` | enable readiness probe. |
+| readinessProbe.failureThreshold | int | `2` | liveness probe failure threshold |
+| readinessProbe.httpGet.path | string | `"/readyz"` | readiness probe path |
+| readinessProbe.httpGet.port | string | `"health"` | readiness probe port |
+| readinessProbe.httpGet.scheme | string | `"HTTP"` | readiness probe scheme |
+| readinessProbe.initialDelaySeconds | int | `5` | liveness probe initial delay seconds |
+| readinessProbe.periodSeconds | int | `10` | liveness probe period seconds |
+| readinessProbe.successThreshold | int | `1` | liveness probe success threshold |
+| readinessProbe.timeoutSeconds | int | `5` | liveness probe timeout seconds |
+| reconcilePeriod | string | `"1m"` | reconcile duration of operator |
+| replicas | int | `2` | number of replicas |
+| resources | object | `{"limits":{"cpu":"300m","memory":"300Mi"},"requests":{"cpu":"200m","memory":"200Mi"}}` | kubernetes resources of pod |
+| securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
+| service.annotations | object | `{}` | service annotations |
+| service.enabled | bool | `true` | service enabled |
+| service.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
+| service.labels | object | `{}` | service labels |
+| service.type | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
+| serviceAccount.create | bool | `true` | service account will be created |
+| serviceAccount.name | string | `"vald-helm-operator"` | name of service account |
+| tolerations | list | `[]` | tolerations |
+| watchNamespaces | string | `""` | comma separated names of namespaces to watch, if it is empty, the namespace that the operator exists in is used. |
diff --git a/charts/vald-helm-operator/values.schema.json b/charts/vald-helm-operator/values.schema.json
index 981b4c9799..94119b542a 100644
--- a/charts/vald-helm-operator/values.schema.json
+++ b/charts/vald-helm-operator/values.schema.json
@@ -1 +1,227 @@
-{"$schema":"https://json-schema.org/draft-07/schema#","title":"Values","type":"object","properties":{"affinity":{"type":"object","description":"affinity"},"annotations":{"type":"object","description":"deployment annotations"},"enableLeaderElection":{"type":"boolean","description":"enable leader election for controller manager."},"enableMetrics":{"type":"boolean","description":"enable metrics endpoint"},"healthPort":{"type":"integer","description":"port of health endpoint"},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","description":"image pull policy","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string","description":"image repository"},"tag":{"type":"string","description":"image tag"}}},"leaderElectionID":{"type":"string","description":"name of the configmap that is used for holding the leader lock."},"livenessProbe":{"type":"object","properties":{"enabled":{"type":"boolean","description":"enable liveness probe."},"failureThreshold":{"type":"integer","description":"liveness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"readiness probe path"},"port":{"type":"string","description":"readiness probe port"},"scheme":{"type":"string","description":"readiness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"liveness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"liveness probe period seconds"},"successThreshold":{"type":"integer","description":"liveness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"liveness probe timeout seconds"}}},"logging":{"type":"object","properties":{"format":{"type":"string","description":"logging format of operator (console or json)","enum":["console","json"]},"level":{"type":"string","description":"logging level of operator (debug, info, or error)","enum":["debug","info","error"]},"stacktraceLevel":{"type":"string","description":"minimum log level triggers stacktrace generation","enum":["debug","info","error"]}}},"maxConcurrentReconciles":{"type":"integer","description":"max number of concurrent reconciles"},"metricsPort":{"type":"integer","description":"port of metrics endpoint"},"name":{"type":"string","description":"name of the deployment"},"namespaced":{"type":"boolean","description":"if it is true, operator will behave as a namespace-scoped operator, if it is false, it will behave as a cluster-scoped operator."},"nodeSelector":{"type":"object","description":"node labels for pod assignment"},"podAnnotations":{"type":"object","description":"pod annotations"},"podSecurityContext":{"type":"object","description":"security context for pod"},"rbac":{"type":"object","properties":{"create":{"type":"boolean","description":"required roles and rolebindings will be created"},"name":{"type":"string","description":"name of roles and rolebindings"}}},"readinessProbe":{"type":"object","properties":{"enabled":{"type":"boolean","description":"enable readiness probe."},"failureThreshold":{"type":"integer","description":"liveness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"readiness probe path"},"port":{"type":"string","description":"readiness probe port"},"scheme":{"type":"string","description":"readiness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"liveness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"liveness probe period seconds"},"successThreshold":{"type":"integer","description":"liveness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"liveness probe timeout seconds"}}},"reconcilePeriod":{"type":"string","description":"reconcile duration of operator"},"replicas":{"type":"integer","description":"number of replicas"},"resources":{"type":"object","description":"kubernetes resources of pod"},"securityContext":{"type":"object","description":"security context for container"},"service":{"type":"object","properties":{"annotations":{"type":"object","description":"service annotations"},"enabled":{"type":"boolean","description":"service enabled"},"externalTrafficPolicy":{"type":"string","description":"external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"},"labels":{"type":"object","description":"service labels"},"type":{"type":"string","description":"service type: ClusterIP, LoadBalancer or NodePort","enum":["ClusterIP","LoadBalancer","NodePort"]}}},"serviceAccount":{"type":"object","properties":{"create":{"type":"boolean","description":"service account will be created"},"name":{"type":"string","description":"name of service account"}}},"tolerations":{"type":"array","description":"tolerations","items":{"type":"object"}},"watchNamespaces":{"type":"string","description":"comma separated names of namespaces to watch, if it is empty, the namespace that the operator exists in is used."}}}
+{
+ "$schema": "https://json-schema.org/draft-07/schema#",
+ "title": "Values",
+ "type": "object",
+ "properties": {
+ "affinity": { "type": "object", "description": "affinity" },
+ "annotations": {
+ "type": "object",
+ "description": "deployment annotations"
+ },
+ "enableLeaderElection": {
+ "type": "boolean",
+ "description": "enable leader election for controller manager."
+ },
+ "enableMetrics": {
+ "type": "boolean",
+ "description": "enable metrics endpoint"
+ },
+ "healthPort": {
+ "type": "integer",
+ "description": "port of health endpoint"
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "pullPolicy": {
+ "type": "string",
+ "description": "image pull policy",
+ "enum": ["Always", "Never", "IfNotPresent"]
+ },
+ "repository": { "type": "string", "description": "image repository" },
+ "tag": { "type": "string", "description": "image tag" }
+ }
+ },
+ "leaderElectionID": {
+ "type": "string",
+ "description": "name of the configmap that is used for holding the leader lock."
+ },
+ "livenessProbe": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "enable liveness probe."
+ },
+ "failureThreshold": {
+ "type": "integer",
+ "description": "liveness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": { "type": "string", "description": "readiness probe path" },
+ "port": { "type": "string", "description": "readiness probe port" },
+ "scheme": {
+ "type": "string",
+ "description": "readiness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "liveness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "liveness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "liveness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "liveness probe timeout seconds"
+ }
+ }
+ },
+ "logging": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "logging format of operator (console or json)",
+ "enum": ["console", "json"]
+ },
+ "level": {
+ "type": "string",
+ "description": "logging level of operator (debug, info, or error)",
+ "enum": ["debug", "info", "error"]
+ },
+ "stacktraceLevel": {
+ "type": "string",
+ "description": "minimum log level triggers stacktrace generation",
+ "enum": ["debug", "info", "error"]
+ }
+ }
+ },
+ "maxConcurrentReconciles": {
+ "type": "integer",
+ "description": "max number of concurrent reconciles"
+ },
+ "metricsPort": {
+ "type": "integer",
+ "description": "port of metrics endpoint"
+ },
+ "name": { "type": "string", "description": "name of the deployment" },
+ "namespaced": {
+ "type": "boolean",
+ "description": "if it is true, operator will behave as a namespace-scoped operator, if it is false, it will behave as a cluster-scoped operator."
+ },
+ "nodeSelector": {
+ "type": "object",
+ "description": "node labels for pod assignment"
+ },
+ "podAnnotations": { "type": "object", "description": "pod annotations" },
+ "podSecurityContext": {
+ "type": "object",
+ "description": "security context for pod"
+ },
+ "rbac": {
+ "type": "object",
+ "properties": {
+ "create": {
+ "type": "boolean",
+ "description": "required roles and rolebindings will be created"
+ },
+ "name": {
+ "type": "string",
+ "description": "name of roles and rolebindings"
+ }
+ }
+ },
+ "readinessProbe": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "enable readiness probe."
+ },
+ "failureThreshold": {
+ "type": "integer",
+ "description": "liveness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": { "type": "string", "description": "readiness probe path" },
+ "port": { "type": "string", "description": "readiness probe port" },
+ "scheme": {
+ "type": "string",
+ "description": "readiness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "liveness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "liveness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "liveness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "liveness probe timeout seconds"
+ }
+ }
+ },
+ "reconcilePeriod": {
+ "type": "string",
+ "description": "reconcile duration of operator"
+ },
+ "replicas": { "type": "integer", "description": "number of replicas" },
+ "resources": {
+ "type": "object",
+ "description": "kubernetes resources of pod"
+ },
+ "securityContext": {
+ "type": "object",
+ "description": "security context for container"
+ },
+ "service": {
+ "type": "object",
+ "properties": {
+ "annotations": {
+ "type": "object",
+ "description": "service annotations"
+ },
+ "enabled": { "type": "boolean", "description": "service enabled" },
+ "externalTrafficPolicy": {
+ "type": "string",
+ "description": "external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"
+ },
+ "labels": { "type": "object", "description": "service labels" },
+ "type": {
+ "type": "string",
+ "description": "service type: ClusterIP, LoadBalancer or NodePort",
+ "enum": ["ClusterIP", "LoadBalancer", "NodePort"]
+ }
+ }
+ },
+ "serviceAccount": {
+ "type": "object",
+ "properties": {
+ "create": {
+ "type": "boolean",
+ "description": "service account will be created"
+ },
+ "name": { "type": "string", "description": "name of service account" }
+ }
+ },
+ "tolerations": {
+ "type": "array",
+ "description": "tolerations",
+ "items": { "type": "object" }
+ },
+ "watchNamespaces": {
+ "type": "string",
+ "description": "comma separated names of namespaces to watch, if it is empty, the namespace that the operator exists in is used."
+ }
+ }
+}
diff --git a/charts/vald-helm-operator/values.yaml b/charts/vald-helm-operator/values.yaml
index 6d161f7232..635b689229 100644
--- a/charts/vald-helm-operator/values.yaml
+++ b/charts/vald-helm-operator/values.yaml
@@ -29,7 +29,7 @@ image:
repository: vdaas/vald-helm-operator
# @schema {"name": "image.tag", "type": "string"}
# image.tag -- image tag
- tag: v1.7.7
+ tag: v1.7.6
# @schema {"name": "image.pullPolicy", "type": "string", "enum": ["Always", "Never", "IfNotPresent"]}
# image.pullPolicy -- image pull policy
pullPolicy: Always
diff --git a/charts/vald/Chart.yaml b/charts/vald/Chart.yaml
index 029541e71a..9574e364b2 100644
--- a/charts/vald/Chart.yaml
+++ b/charts/vald/Chart.yaml
@@ -16,7 +16,7 @@
apiVersion: v2
name: vald
-version: v1.7.7
+version: v1.7.6
description: A distributed high scalable & high-speed approximate nearest neighbor search engine
type: application
keywords:
diff --git a/charts/vald/README.md b/charts/vald/README.md
index feac0c2335..162806a03c 100644
--- a/charts/vald/README.md
+++ b/charts/vald/README.md
@@ -1,20 +1,17 @@
-Vald
-===
+# Vald
This is a Helm chart to install Vald components.
-Current chart version is `v1.7.7`
+Current chart version is `v1.7.6`
-Table of Contents
----
+## Table of Contents
- [Install](#install)
- [Configuration](#configuration)
- - [Overview](#overview)
- - [Parameters](#parameters)
+ - [Overview](#overview)
+ - [Parameters](#parameters)
-Install
----
+## Install
Add Vald Helm repository
@@ -24,734 +21,733 @@ Run the following command to install the chart,
$ helm install vald-cluster vald/vald
-Configuration
----
+## Configuration
### Overview
`values.yaml` is composed of the following sections:
- `defaults`
- - default configurations of common parts
- - be overridden by the fields in each components' configurations
+ - default configurations of common parts
+ - be overridden by the fields in each components' configurations
- `gateway`
- - configurations of gateways
- - `filter`
- - `lb`
+ - configurations of gateways
+ - `filter`
+ - `lb`
- `agent`
- - configurations of vald-agent
+ - configurations of vald-agent
- `discoverer`
- - configurations of vald-discoverer
+ - configurations of vald-discoverer
- `manager`
- - configurations of manager components
- - `index`
+ - configurations of manager components
+ - `index`
### Parameters
-| Key | Type | Default | Description |
-|-----|------|---------|-------------|
-| agent.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | node affinity preferred scheduling terms |
-| agent.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms | list | `[]` | node affinity required node selectors |
-| agent.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity preferred scheduling terms |
-| agent.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity required scheduling terms |
-| agent.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[{"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"app","operator":"In","values":["vald-agent-ngt"]}]},"topologyKey":"kubernetes.io/hostname"},"weight":100}]` | pod anti-affinity preferred scheduling terms |
-| agent.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity required scheduling terms |
-| agent.annotations | object | `{}` | deployment annotations |
-| agent.enabled | bool | `true` | agent enabled |
-| agent.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables |
-| agent.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
-| agent.hpa.enabled | bool | `false` | HPA enabled |
-| agent.hpa.targetCPUUtilizationPercentage | int | `80` | HPA CPU utilization percentage |
-| agent.image.pullPolicy | string | `"Always"` | image pull policy |
-| agent.image.repository | string | `"vdaas/vald-agent-ngt"` | image repository |
-| agent.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
-| agent.initContainers | list | `[]` | init containers |
-| agent.kind | string | `"StatefulSet"` | deployment kind: Deployment, DaemonSet or StatefulSet |
-| agent.logging | object | `{}` | logging config (overrides defaults.logging) |
-| agent.maxReplicas | int | `300` | maximum number of replicas. if HPA is disabled, this value will be ignored. |
-| agent.maxUnavailable | string | `"1"` | maximum number of unavailable replicas |
-| agent.minReplicas | int | `20` | minimum number of replicas. if HPA is disabled, the replicas will be set to this value |
-| agent.name | string | `"vald-agent-ngt"` | name of agent deployment |
-| agent.ngt.auto_create_index_pool_size | int | `10000` | batch process pool size of automatic create index operation |
-| agent.ngt.auto_index_check_duration | string | `"30m"` | check duration of automatic indexing |
-| agent.ngt.auto_index_duration_limit | string | `"24h"` | limit duration of automatic indexing |
-| agent.ngt.auto_index_length | int | `100` | number of cache to trigger automatic indexing |
-| agent.ngt.auto_save_index_duration | string | `"35m"` | duration of automatic save index |
-| agent.ngt.broken_index_history_limit | int | `0` | maximum number of broken index generations to backup |
-| agent.ngt.bulk_insert_chunk_size | int | `10` | bulk insert chunk size |
-| agent.ngt.creation_edge_size | int | `20` | creation edge size |
-| agent.ngt.default_epsilon | float | `0.1` | default epsilon used for search |
-| agent.ngt.default_pool_size | int | `10000` | default create index batch pool size |
-| agent.ngt.default_radius | float | `-1` | default radius used for search |
-| agent.ngt.dimension | int | `4096` | vector dimension |
-| agent.ngt.distance_type | string | `"l2"` | distance type. it should be `l1`, `l2`, `angle`, `hamming`, `cosine`,`poincare`, `lorentz`, `jaccard`, `sparsejaccard`, `normalizedangle` or `normalizedcosine`. for further details about NGT libraries supported distance is https://github.com/yahoojapan/NGT/wiki/Command-Quick-Reference and vald agent's supported NGT distance type is https://pkg.go.dev/github.com/vdaas/vald/internal/core/algorithm/ngt#pkg-constants |
-| agent.ngt.enable_copy_on_write | bool | `false` | enable copy on write saving for more stable backup |
-| agent.ngt.enable_in_memory_mode | bool | `true` | in-memory mode enabled |
-| agent.ngt.enable_proactive_gc | bool | `false` | enable proactive GC call for reducing heap memory allocation |
-| agent.ngt.index_path | string | `""` | path to index data |
-| agent.ngt.initial_delay_max_duration | string | `"3m"` | maximum duration for initial delay |
-| agent.ngt.kvsdb.concurrency | int | `6` | kvsdb processing concurrency |
-| agent.ngt.load_index_timeout_factor | string | `"1ms"` | a factor of load index timeout. timeout duration will be calculated by (index count to be loaded) * (factor). |
-| agent.ngt.max_load_index_timeout | string | `"10m"` | maximum duration of load index timeout |
-| agent.ngt.min_load_index_timeout | string | `"3m"` | minimum duration of load index timeout |
-| agent.ngt.object_type | string | `"float"` | object type. it should be `float` or `uint8` or `float16`. for further details: https://github.com/yahoojapan/NGT/wiki/Command-Quick-Reference |
-| agent.ngt.search_edge_size | int | `10` | search edge size |
-| agent.ngt.vqueue.delete_buffer_pool_size | int | `5000` | delete slice pool buffer size |
-| agent.ngt.vqueue.insert_buffer_pool_size | int | `10000` | insert slice pool buffer size |
-| agent.nodeName | string | `""` | node name |
-| agent.nodeSelector | object | `{}` | node selector |
-| agent.observability | object | `{"otlp":{"attribute":{"service_name":"vald-agent-ngt"}}}` | observability config (overrides defaults.observability) |
-| agent.persistentVolume.accessMode | string | `"ReadWriteOncePod"` | agent pod storage accessMode |
-| agent.persistentVolume.enabled | bool | `false` | enables PVC. It is required to enable if agent pod's file store functionality is enabled with non in-memory mode |
-| agent.persistentVolume.mountPropagation | string | `"None"` | agent pod storage mountPropagation |
-| agent.persistentVolume.size | string | `"100Gi"` | size of agent pod volume |
-| agent.persistentVolume.storageClass | string | `"vald-sc"` | storageClass name for agent pod volume |
-| agent.podAnnotations | object | `{}` | pod annotations |
-| agent.podManagementPolicy | string | `"OrderedReady"` | pod management policy: OrderedReady or Parallel |
-| agent.podPriority.enabled | bool | `true` | agent pod PriorityClass enabled |
-| agent.podPriority.value | int | `1000000000` | agent pod PriorityClass value |
-| agent.podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
-| agent.progressDeadlineSeconds | int | `600` | progress deadline seconds |
-| agent.resources | object | `{"requests":{"cpu":"300m","memory":"4Gi"}}` | compute resources. recommended setting of memory requests = cluster memory * 0.4 / number of agent pods |
-| agent.revisionHistoryLimit | int | `2` | number of old history to retain to allow rollback |
-| agent.rollingUpdate.maxSurge | string | `"25%"` | max surge of rolling update |
-| agent.rollingUpdate.maxUnavailable | string | `"25%"` | max unavailable of rolling update |
-| agent.rollingUpdate.partition | int | `0` | StatefulSet partition |
-| agent.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":false,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
-| agent.server_config | object | `{"healths":{"liveness":{},"readiness":{},"startup":{"startupProbe":{"failureThreshold":200,"periodSeconds":5}}},"metrics":{"pprof":{}},"servers":{"grpc":{},"rest":{}}}` | server config (overrides defaults.server_config) |
-| agent.service.annotations | object | `{}` | service annotations |
-| agent.service.labels | object | `{}` | service labels |
-| agent.serviceType | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
-| agent.sidecar.config.auto_backup_duration | string | `"24h"` | auto backup duration |
-| agent.sidecar.config.auto_backup_enabled | bool | `true` | auto backup triggered by timer is enabled |
-| agent.sidecar.config.blob_storage.bucket | string | `""` | bucket name |
-| agent.sidecar.config.blob_storage.cloud_storage.client.credentials_file_path | string | `""` | credentials file path |
-| agent.sidecar.config.blob_storage.cloud_storage.client.credentials_json | string | `""` | credentials json |
-| agent.sidecar.config.blob_storage.cloud_storage.url | string | `""` | cloud storage url |
-| agent.sidecar.config.blob_storage.cloud_storage.write_buffer_size | int | `0` | bytes of the chunks for upload |
-| agent.sidecar.config.blob_storage.cloud_storage.write_cache_control | string | `""` | Cache-Control of HTTP Header |
-| agent.sidecar.config.blob_storage.cloud_storage.write_content_disposition | string | `""` | Content-Disposition of HTTP Header |
-| agent.sidecar.config.blob_storage.cloud_storage.write_content_encoding | string | `""` | the encoding of the blob's content |
-| agent.sidecar.config.blob_storage.cloud_storage.write_content_language | string | `""` | the language of blob's content |
-| agent.sidecar.config.blob_storage.cloud_storage.write_content_type | string | `""` | MIME type of the blob |
-| agent.sidecar.config.blob_storage.s3.access_key | string | `"_AWS_ACCESS_KEY_"` | s3 access key |
-| agent.sidecar.config.blob_storage.s3.enable_100_continue | bool | `true` | enable AWS SDK adding the 'Expect: 100-Continue' header to PUT requests over 2MB of content. |
-| agent.sidecar.config.blob_storage.s3.enable_content_md5_validation | bool | `true` | enable the S3 client to add MD5 checksum to upload API calls. |
-| agent.sidecar.config.blob_storage.s3.enable_endpoint_discovery | bool | `false` | enable endpoint discovery |
-| agent.sidecar.config.blob_storage.s3.enable_endpoint_host_prefix | bool | `true` | enable prefixing request endpoint hosts with modeled information |
-| agent.sidecar.config.blob_storage.s3.enable_param_validation | bool | `true` | enables semantic parameter validation |
-| agent.sidecar.config.blob_storage.s3.enable_ssl | bool | `true` | enable ssl for s3 session |
-| agent.sidecar.config.blob_storage.s3.endpoint | string | `""` | s3 endpoint |
-| agent.sidecar.config.blob_storage.s3.force_path_style | bool | `false` | use path-style addressing |
-| agent.sidecar.config.blob_storage.s3.max_chunk_size | string | `"64mb"` | s3 download max chunk size |
-| agent.sidecar.config.blob_storage.s3.max_part_size | string | `"64mb"` | s3 multipart upload max part size |
-| agent.sidecar.config.blob_storage.s3.max_retries | int | `3` | maximum number of retries of s3 client |
-| agent.sidecar.config.blob_storage.s3.region | string | `""` | s3 region |
-| agent.sidecar.config.blob_storage.s3.secret_access_key | string | `"_AWS_SECRET_ACCESS_KEY_"` | s3 secret access key |
-| agent.sidecar.config.blob_storage.s3.token | string | `""` | s3 token |
-| agent.sidecar.config.blob_storage.s3.use_accelerate | bool | `false` | enable s3 accelerate feature |
-| agent.sidecar.config.blob_storage.s3.use_arn_region | bool | `false` | s3 service client to use the region specified in the ARN |
-| agent.sidecar.config.blob_storage.s3.use_dual_stack | bool | `false` | use dual stack |
-| agent.sidecar.config.blob_storage.storage_type | string | `"s3"` | storage type |
-| agent.sidecar.config.client.net.dialer.dual_stack_enabled | bool | `false` | HTTP client TCP dialer dual stack enabled |
-| agent.sidecar.config.client.net.dialer.keepalive | string | `"5m"` | HTTP client TCP dialer keep alive |
-| agent.sidecar.config.client.net.dialer.timeout | string | `"5s"` | HTTP client TCP dialer connect timeout |
-| agent.sidecar.config.client.net.dns.cache_enabled | bool | `true` | HTTP client TCP DNS cache enabled |
-| agent.sidecar.config.client.net.dns.cache_expiration | string | `"24h"` | |
-| agent.sidecar.config.client.net.dns.refresh_duration | string | `"1h"` | HTTP client TCP DNS cache expiration |
-| agent.sidecar.config.client.net.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
-| agent.sidecar.config.client.net.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
-| agent.sidecar.config.client.net.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
-| agent.sidecar.config.client.net.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
-| agent.sidecar.config.client.net.socket_option.tcp_cork | bool | `true` | server listen socket option for tcp_cork functionality |
-| agent.sidecar.config.client.net.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
-| agent.sidecar.config.client.net.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality |
-| agent.sidecar.config.client.net.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
-| agent.sidecar.config.client.net.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
-| agent.sidecar.config.client.net.tls.ca | string | `"/path/to/ca"` | TLS ca path |
-| agent.sidecar.config.client.net.tls.cert | string | `"/path/to/cert"` | TLS cert path |
-| agent.sidecar.config.client.net.tls.enabled | bool | `false` | TLS enabled |
-| agent.sidecar.config.client.net.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification |
-| agent.sidecar.config.client.net.tls.key | string | `"/path/to/key"` | TLS key path |
-| agent.sidecar.config.client.transport.backoff.backoff_factor | float | `1.1` | backoff backoff factor |
-| agent.sidecar.config.client.transport.backoff.backoff_time_limit | string | `"5s"` | backoff time limit |
-| agent.sidecar.config.client.transport.backoff.enable_error_log | bool | `true` | backoff error log enabled |
-| agent.sidecar.config.client.transport.backoff.initial_duration | string | `"5ms"` | backoff initial duration |
-| agent.sidecar.config.client.transport.backoff.jitter_limit | string | `"100ms"` | backoff jitter limit |
-| agent.sidecar.config.client.transport.backoff.maximum_duration | string | `"5s"` | backoff maximum duration |
-| agent.sidecar.config.client.transport.backoff.retry_count | int | `100` | backoff retry count |
-| agent.sidecar.config.client.transport.round_tripper.expect_continue_timeout | string | `"5s"` | expect continue timeout |
-| agent.sidecar.config.client.transport.round_tripper.force_attempt_http_2 | bool | `true` | force attempt HTTP2 |
-| agent.sidecar.config.client.transport.round_tripper.idle_conn_timeout | string | `"90s"` | timeout for idle connections |
-| agent.sidecar.config.client.transport.round_tripper.max_conns_per_host | int | `10` | maximum count of connections per host |
-| agent.sidecar.config.client.transport.round_tripper.max_idle_conns | int | `100` | maximum count of idle connections |
-| agent.sidecar.config.client.transport.round_tripper.max_idle_conns_per_host | int | `10` | maximum count of idle connections per host |
-| agent.sidecar.config.client.transport.round_tripper.max_response_header_size | int | `0` | maximum response header size |
-| agent.sidecar.config.client.transport.round_tripper.read_buffer_size | int | `0` | read buffer size |
-| agent.sidecar.config.client.transport.round_tripper.response_header_timeout | string | `"5s"` | timeout for response header |
-| agent.sidecar.config.client.transport.round_tripper.tls_handshake_timeout | string | `"5s"` | TLS handshake timeout |
-| agent.sidecar.config.client.transport.round_tripper.write_buffer_size | int | `0` | write buffer size |
-| agent.sidecar.config.compress.compress_algorithm | string | `"gzip"` | compression algorithm. must be `gob`, `gzip`, `lz4` or `zstd` |
-| agent.sidecar.config.compress.compression_level | int | `-1` | 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. |
-| agent.sidecar.config.filename | string | `"_MY_POD_NAME_"` | backup filename |
-| agent.sidecar.config.filename_suffix | string | `".tar.gz"` | suffix for backup filename |
-| agent.sidecar.config.post_stop_timeout | string | `"2m"` | timeout for observing file changes during post stop |
-| agent.sidecar.config.restore_backoff.backoff_factor | float | `1.2` | restore backoff factor |
-| agent.sidecar.config.restore_backoff.backoff_time_limit | string | `"30m"` | restore backoff time limit |
-| agent.sidecar.config.restore_backoff.enable_error_log | bool | `true` | restore backoff log enabled |
-| agent.sidecar.config.restore_backoff.initial_duration | string | `"1s"` | restore backoff initial duration |
-| agent.sidecar.config.restore_backoff.jitter_limit | string | `"10s"` | restore backoff jitter limit |
-| agent.sidecar.config.restore_backoff.maximum_duration | string | `"1m"` | restore backoff maximum duration |
-| agent.sidecar.config.restore_backoff.retry_count | int | `100` | restore backoff retry count |
-| agent.sidecar.config.restore_backoff_enabled | bool | `false` | restore backoff enabled |
-| agent.sidecar.config.watch_enabled | bool | `true` | auto backup triggered by file changes is enabled |
-| agent.sidecar.enabled | bool | `false` | sidecar enabled |
-| agent.sidecar.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}},{"name":"AWS_ACCESS_KEY","valueFrom":{"secretKeyRef":{"key":"access-key","name":"aws-secret"}}},{"name":"AWS_SECRET_ACCESS_KEY","valueFrom":{"secretKeyRef":{"key":"secret-access-key","name":"aws-secret"}}}]` | environment variables |
-| agent.sidecar.image.pullPolicy | string | `"Always"` | image pull policy |
-| agent.sidecar.image.repository | string | `"vdaas/vald-agent-sidecar"` | image repository |
-| agent.sidecar.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
-| agent.sidecar.initContainerEnabled | bool | `false` | sidecar on initContainer mode enabled. |
-| agent.sidecar.logging | object | `{}` | logging config (overrides defaults.logging) |
-| agent.sidecar.name | string | `"vald-agent-sidecar"` | name of agent sidecar |
-| agent.sidecar.observability | object | `{"otlp":{"attribute":{"service_name":"vald-agent-sidecar"}}}` | observability config (overrides defaults.observability) |
-| agent.sidecar.resources | object | `{"requests":{"cpu":"100m","memory":"100Mi"}}` | compute resources. |
-| agent.sidecar.server_config | object | `{"healths":{"liveness":{"enabled":false,"port":13000,"servicePort":13000},"readiness":{"enabled":false,"port":13001,"servicePort":13001},"startup":{"enabled":false,"port":13001}},"metrics":{"pprof":{"port":16060,"servicePort":16060}},"servers":{"grpc":{"enabled":false,"port":18081,"servicePort":18081},"rest":{"enabled":false,"port":18080,"servicePort":18080}}}` | server config (overrides defaults.server_config) |
-| agent.sidecar.service.annotations | object | `{}` | agent sidecar service annotations |
-| agent.sidecar.service.enabled | bool | `false` | agent sidecar service enabled |
-| agent.sidecar.service.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
-| agent.sidecar.service.labels | object | `{}` | agent sidecar service labels |
-| agent.sidecar.service.type | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
-| agent.sidecar.time_zone | string | `""` | Time zone |
-| agent.sidecar.version | string | `"v0.0.0"` | version of agent sidecar config |
-| agent.terminationGracePeriodSeconds | int | `120` | duration in seconds pod needs to terminate gracefully |
-| agent.time_zone | string | `""` | Time zone |
-| agent.tolerations | list | `[]` | tolerations |
-| agent.topologySpreadConstraints | list | `[]` | topology spread constraints for agent pods |
-| agent.version | string | `"v0.0.0"` | version of agent config |
-| agent.volumeMounts | list | `[]` | volume mounts |
-| agent.volumes | list | `[]` | volumes |
-| defaults.grpc.client.addrs | list | `[]` | gRPC client addresses |
-| defaults.grpc.client.backoff.backoff_factor | float | `1.1` | gRPC client backoff factor |
-| defaults.grpc.client.backoff.backoff_time_limit | string | `"5s"` | gRPC client backoff time limit |
-| defaults.grpc.client.backoff.enable_error_log | bool | `true` | gRPC client backoff log enabled |
-| defaults.grpc.client.backoff.initial_duration | string | `"5ms"` | gRPC client backoff initial duration |
-| defaults.grpc.client.backoff.jitter_limit | string | `"100ms"` | gRPC client backoff jitter limit |
-| defaults.grpc.client.backoff.maximum_duration | string | `"5s"` | gRPC client backoff maximum duration |
-| defaults.grpc.client.backoff.retry_count | int | `100` | gRPC client backoff retry count |
-| defaults.grpc.client.call_option.max_recv_msg_size | int | `0` | gRPC client call option max receive message size |
-| defaults.grpc.client.call_option.max_retry_rpc_buffer_size | int | `0` | gRPC client call option max retry rpc buffer size |
-| defaults.grpc.client.call_option.max_send_msg_size | int | `0` | gRPC client call option max send message size |
-| defaults.grpc.client.call_option.wait_for_ready | bool | `true` | gRPC client call option wait for ready |
-| defaults.grpc.client.circuit_breaker.closed_error_rate | float | `0.7` | gRPC client circuitbreaker closed error rate |
-| defaults.grpc.client.circuit_breaker.closed_refresh_timeout | string | `"10s"` | gRPC client circuitbreaker closed refresh timeout |
-| defaults.grpc.client.circuit_breaker.half_open_error_rate | float | `0.5` | gRPC client circuitbreaker half-open error rate |
-| defaults.grpc.client.circuit_breaker.min_samples | int | `1000` | gRPC client circuitbreaker minimum sampling count |
-| defaults.grpc.client.circuit_breaker.open_timeout | string | `"1s"` | gRPC client circuitbreaker open timeout |
-| defaults.grpc.client.connection_pool.enable_dns_resolver | bool | `true` | enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance |
-| defaults.grpc.client.connection_pool.enable_rebalance | bool | `true` | enables gRPC client connection pool rebalance |
-| defaults.grpc.client.connection_pool.old_conn_close_duration | string | `"2m"` | makes delay before gRPC client connection closing during connection pool rebalance |
-| defaults.grpc.client.connection_pool.rebalance_duration | string | `"30m"` | gRPC client connection pool rebalance duration |
-| defaults.grpc.client.connection_pool.size | int | `3` | gRPC client connection pool size |
-| defaults.grpc.client.dial_option.backoff_base_delay | string | `"1s"` | gRPC client dial option base backoff delay |
-| defaults.grpc.client.dial_option.backoff_jitter | float | `0.2` | gRPC client dial option base backoff delay |
-| defaults.grpc.client.dial_option.backoff_max_delay | string | `"120s"` | gRPC client dial option max backoff delay |
-| defaults.grpc.client.dial_option.backoff_multiplier | float | `1.6` | gRPC client dial option base backoff delay |
-| defaults.grpc.client.dial_option.enable_backoff | bool | `false` | gRPC client dial option backoff enabled |
-| defaults.grpc.client.dial_option.initial_connection_window_size | int | `2097152` | gRPC client dial option initial connection window size |
-| defaults.grpc.client.dial_option.initial_window_size | int | `1048576` | gRPC client dial option initial window size |
-| defaults.grpc.client.dial_option.insecure | bool | `true` | gRPC client dial option insecure enabled |
-| defaults.grpc.client.dial_option.interceptors | list | `[]` | gRPC client interceptors |
-| defaults.grpc.client.dial_option.keepalive.permit_without_stream | bool | `false` | gRPC client keep alive permit without stream |
-| defaults.grpc.client.dial_option.keepalive.time | string | `""` | gRPC client keep alive time |
-| defaults.grpc.client.dial_option.keepalive.timeout | string | `"30s"` | gRPC client keep alive timeout |
-| defaults.grpc.client.dial_option.max_msg_size | int | `0` | gRPC client dial option max message size |
-| defaults.grpc.client.dial_option.min_connection_timeout | string | `"20s"` | gRPC client dial option minimum connection timeout |
-| defaults.grpc.client.dial_option.net.dialer.dual_stack_enabled | bool | `true` | gRPC client TCP dialer dual stack enabled |
-| defaults.grpc.client.dial_option.net.dialer.keepalive | string | `""` | gRPC client TCP dialer keep alive |
-| defaults.grpc.client.dial_option.net.dialer.timeout | string | `""` | gRPC client TCP dialer timeout |
-| defaults.grpc.client.dial_option.net.dns.cache_enabled | bool | `true` | gRPC client TCP DNS cache enabled |
-| defaults.grpc.client.dial_option.net.dns.cache_expiration | string | `"1h"` | gRPC client TCP DNS cache expiration |
-| defaults.grpc.client.dial_option.net.dns.refresh_duration | string | `"30m"` | gRPC client TCP DNS cache refresh duration |
-| defaults.grpc.client.dial_option.net.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
-| defaults.grpc.client.dial_option.net.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
-| defaults.grpc.client.dial_option.net.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
-| defaults.grpc.client.dial_option.net.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
-| defaults.grpc.client.dial_option.net.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
-| defaults.grpc.client.dial_option.net.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
-| defaults.grpc.client.dial_option.net.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality |
-| defaults.grpc.client.dial_option.net.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
-| defaults.grpc.client.dial_option.net.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
-| defaults.grpc.client.dial_option.net.tls.ca | string | `"/path/to/ca"` | TLS ca path |
-| defaults.grpc.client.dial_option.net.tls.cert | string | `"/path/to/cert"` | TLS cert path |
-| defaults.grpc.client.dial_option.net.tls.enabled | bool | `false` | TLS enabled |
-| defaults.grpc.client.dial_option.net.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification |
-| defaults.grpc.client.dial_option.net.tls.key | string | `"/path/to/key"` | TLS key path |
-| defaults.grpc.client.dial_option.read_buffer_size | int | `0` | gRPC client dial option read buffer size |
-| defaults.grpc.client.dial_option.timeout | string | `""` | gRPC client dial option timeout |
-| defaults.grpc.client.dial_option.write_buffer_size | int | `0` | gRPC client dial option write buffer size |
-| defaults.grpc.client.health_check_duration | string | `"1s"` | gRPC client health check duration |
-| defaults.grpc.client.tls.ca | string | `"/path/to/ca"` | TLS ca path |
-| defaults.grpc.client.tls.cert | string | `"/path/to/cert"` | TLS cert path |
-| defaults.grpc.client.tls.enabled | bool | `false` | TLS enabled |
-| defaults.grpc.client.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification |
-| defaults.grpc.client.tls.key | string | `"/path/to/key"` | TLS key path |
-| defaults.image.tag | string | `"v1.7.7"` | docker image tag |
-| defaults.logging.format | string | `"raw"` | logging format. logging format must be `raw` or `json` |
-| defaults.logging.level | string | `"debug"` | logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`. |
-| defaults.logging.logger | string | `"glg"` | logger name. currently logger must be `glg` or `zap`. |
-| defaults.networkPolicy.custom | object | `{"egress":{},"ingress":{}}` | custom network policies that a user can add |
-| defaults.networkPolicy.custom.egress | object | `{}` | custom egress network policies that a user can add |
-| defaults.networkPolicy.custom.ingress | object | `{}` | custom ingress network policies that a user can add |
-| defaults.networkPolicy.enabled | bool | `false` | if network policy enabled |
-| defaults.observability.enabled | bool | `false` | observability features enabled |
-| defaults.observability.metrics.enable_cgo | bool | `true` | CGO metrics enabled |
-| defaults.observability.metrics.enable_goroutine | bool | `true` | goroutine metrics enabled |
-| defaults.observability.metrics.enable_memory | bool | `true` | memory metrics enabled |
-| defaults.observability.metrics.enable_version_info | bool | `true` | version info metrics enabled |
-| defaults.observability.metrics.version_info_labels | list | `["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","ngt_version"]` | enabled label names of version info |
-| defaults.observability.otlp.attribute | object | `{"namespace":"_MY_POD_NAMESPACE_","node_name":"_MY_NODE_NAME_","pod_name":"_MY_POD_NAME_","service_name":"vald"}` | default resource attribute |
-| defaults.observability.otlp.attribute.namespace | string | `"_MY_POD_NAMESPACE_"` | namespace |
-| defaults.observability.otlp.attribute.node_name | string | `"_MY_NODE_NAME_"` | node name |
-| defaults.observability.otlp.attribute.pod_name | string | `"_MY_POD_NAME_"` | pod name |
-| defaults.observability.otlp.attribute.service_name | string | `"vald"` | service name |
-| defaults.observability.otlp.collector_endpoint | string | `""` | OpenTelemetry Collector endpoint |
-| defaults.observability.otlp.metrics_export_interval | string | `"1s"` | metrics export interval |
-| defaults.observability.otlp.metrics_export_timeout | string | `"1m"` | metrics export timeout |
-| defaults.observability.otlp.trace_batch_timeout | string | `"1s"` | trace batch timeout |
-| defaults.observability.otlp.trace_export_timeout | string | `"1m"` | trace export timeout |
-| defaults.observability.otlp.trace_max_export_batch_size | int | `1024` | trace maximum export batch size |
-| defaults.observability.otlp.trace_max_queue_size | int | `256` | trace maximum queue size |
-| defaults.observability.trace.enabled | bool | `false` | trace enabled |
-| defaults.server_config.full_shutdown_duration | string | `"600s"` | server full shutdown duration |
-| defaults.server_config.healths.liveness.enabled | bool | `true` | liveness server enabled |
-| defaults.server_config.healths.liveness.host | string | `"0.0.0.0"` | liveness server host |
-| defaults.server_config.healths.liveness.livenessProbe.failureThreshold | int | `2` | liveness probe failure threshold |
-| defaults.server_config.healths.liveness.livenessProbe.httpGet.path | string | `"/liveness"` | liveness probe path |
-| defaults.server_config.healths.liveness.livenessProbe.httpGet.port | string | `"liveness"` | liveness probe port |
-| defaults.server_config.healths.liveness.livenessProbe.httpGet.scheme | string | `"HTTP"` | liveness probe scheme |
-| defaults.server_config.healths.liveness.livenessProbe.initialDelaySeconds | int | `5` | liveness probe initial delay seconds |
-| defaults.server_config.healths.liveness.livenessProbe.periodSeconds | int | `3` | liveness probe period seconds |
-| defaults.server_config.healths.liveness.livenessProbe.successThreshold | int | `1` | liveness probe success threshold |
-| defaults.server_config.healths.liveness.livenessProbe.timeoutSeconds | int | `2` | liveness probe timeout seconds |
-| defaults.server_config.healths.liveness.port | int | `3000` | liveness server port |
-| defaults.server_config.healths.liveness.server.http.handler_timeout | string | `""` | liveness server handler timeout |
-| defaults.server_config.healths.liveness.server.http.idle_timeout | string | `""` | liveness server idle timeout |
-| defaults.server_config.healths.liveness.server.http.read_header_timeout | string | `""` | liveness server read header timeout |
-| defaults.server_config.healths.liveness.server.http.read_timeout | string | `""` | liveness server read timeout |
-| defaults.server_config.healths.liveness.server.http.shutdown_duration | string | `"5s"` | liveness server shutdown duration |
-| defaults.server_config.healths.liveness.server.http.write_timeout | string | `""` | liveness server write timeout |
-| defaults.server_config.healths.liveness.server.mode | string | `""` | liveness server mode |
-| defaults.server_config.healths.liveness.server.network | string | `"tcp"` | mysql network |
-| defaults.server_config.healths.liveness.server.probe_wait_time | string | `"3s"` | liveness server probe wait time |
-| defaults.server_config.healths.liveness.server.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
-| defaults.server_config.healths.liveness.server.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
-| defaults.server_config.healths.liveness.server.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
-| defaults.server_config.healths.liveness.server.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
-| defaults.server_config.healths.liveness.server.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
-| defaults.server_config.healths.liveness.server.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
-| defaults.server_config.healths.liveness.server.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality |
-| defaults.server_config.healths.liveness.server.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality |
-| defaults.server_config.healths.liveness.server.socket_option.tcp_quick_ack | bool | `true` | server listen socket option for tcp_quick_ack functionality |
-| defaults.server_config.healths.liveness.server.socket_path | string | `""` | mysql socket_path |
-| defaults.server_config.healths.liveness.servicePort | int | `3000` | liveness server service port |
-| defaults.server_config.healths.readiness.enabled | bool | `true` | readiness server enabled |
-| defaults.server_config.healths.readiness.host | string | `"0.0.0.0"` | readiness server host |
-| defaults.server_config.healths.readiness.port | int | `3001` | readiness server port |
-| defaults.server_config.healths.readiness.readinessProbe.failureThreshold | int | `2` | readiness probe failure threshold |
-| defaults.server_config.healths.readiness.readinessProbe.httpGet.path | string | `"/readiness"` | readiness probe path |
-| defaults.server_config.healths.readiness.readinessProbe.httpGet.port | string | `"readiness"` | readiness probe port |
-| defaults.server_config.healths.readiness.readinessProbe.httpGet.scheme | string | `"HTTP"` | readiness probe scheme |
-| defaults.server_config.healths.readiness.readinessProbe.initialDelaySeconds | int | `10` | readiness probe initial delay seconds |
-| defaults.server_config.healths.readiness.readinessProbe.periodSeconds | int | `3` | readiness probe period seconds |
-| defaults.server_config.healths.readiness.readinessProbe.successThreshold | int | `1` | readiness probe success threshold |
-| defaults.server_config.healths.readiness.readinessProbe.timeoutSeconds | int | `2` | readiness probe timeout seconds |
-| defaults.server_config.healths.readiness.server.http.handler_timeout | string | `""` | readiness server handler timeout |
-| defaults.server_config.healths.readiness.server.http.idle_timeout | string | `""` | readiness server idle timeout |
-| defaults.server_config.healths.readiness.server.http.read_header_timeout | string | `""` | readiness server read header timeout |
-| defaults.server_config.healths.readiness.server.http.read_timeout | string | `""` | readiness server read timeout |
-| defaults.server_config.healths.readiness.server.http.shutdown_duration | string | `"0s"` | readiness server shutdown duration |
-| defaults.server_config.healths.readiness.server.http.write_timeout | string | `""` | readiness server write timeout |
-| defaults.server_config.healths.readiness.server.mode | string | `""` | readiness server mode |
-| defaults.server_config.healths.readiness.server.network | string | `"tcp"` | mysql network |
-| defaults.server_config.healths.readiness.server.probe_wait_time | string | `"3s"` | readiness server probe wait time |
-| defaults.server_config.healths.readiness.server.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
-| defaults.server_config.healths.readiness.server.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
-| defaults.server_config.healths.readiness.server.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
-| defaults.server_config.healths.readiness.server.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
-| defaults.server_config.healths.readiness.server.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
-| defaults.server_config.healths.readiness.server.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
-| defaults.server_config.healths.readiness.server.socket_option.tcp_fast_open | bool | `true` | |
-| defaults.server_config.healths.readiness.server.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality |
-| defaults.server_config.healths.readiness.server.socket_option.tcp_quick_ack | bool | `true` | server listen socket option for tcp_quick_ack functionality |
-| defaults.server_config.healths.readiness.server.socket_path | string | `""` | mysql socket_path |
-| defaults.server_config.healths.readiness.servicePort | int | `3001` | readiness server service port |
-| defaults.server_config.healths.startup.enabled | bool | `true` | startup server enabled |
-| defaults.server_config.healths.startup.port | int | `3000` | startup server port |
-| defaults.server_config.healths.startup.startupProbe.failureThreshold | int | `30` | startup probe failure threshold |
-| defaults.server_config.healths.startup.startupProbe.httpGet.path | string | `"/liveness"` | startup probe path |
-| defaults.server_config.healths.startup.startupProbe.httpGet.port | string | `"liveness"` | startup probe port |
-| defaults.server_config.healths.startup.startupProbe.httpGet.scheme | string | `"HTTP"` | startup probe scheme |
-| defaults.server_config.healths.startup.startupProbe.initialDelaySeconds | int | `5` | startup probe initial delay seconds |
-| defaults.server_config.healths.startup.startupProbe.periodSeconds | int | `5` | startup probe period seconds |
-| defaults.server_config.healths.startup.startupProbe.successThreshold | int | `1` | startup probe success threshold |
-| defaults.server_config.healths.startup.startupProbe.timeoutSeconds | int | `2` | startup probe timeout seconds |
-| defaults.server_config.metrics.pprof.enabled | bool | `false` | pprof server enabled |
-| defaults.server_config.metrics.pprof.host | string | `"0.0.0.0"` | pprof server host |
-| defaults.server_config.metrics.pprof.port | int | `6060` | pprof server port |
-| defaults.server_config.metrics.pprof.server.http.handler_timeout | string | `"5s"` | pprof server handler timeout |
-| defaults.server_config.metrics.pprof.server.http.idle_timeout | string | `"2s"` | pprof server idle timeout |
-| defaults.server_config.metrics.pprof.server.http.read_header_timeout | string | `"1s"` | pprof server read header timeout |
-| defaults.server_config.metrics.pprof.server.http.read_timeout | string | `"1s"` | pprof server read timeout |
-| defaults.server_config.metrics.pprof.server.http.shutdown_duration | string | `"5s"` | pprof server shutdown duration |
-| defaults.server_config.metrics.pprof.server.http.write_timeout | string | `"1m"` | pprof server write timeout |
-| defaults.server_config.metrics.pprof.server.mode | string | `"REST"` | pprof server mode |
-| defaults.server_config.metrics.pprof.server.network | string | `"tcp"` | mysql network |
-| defaults.server_config.metrics.pprof.server.probe_wait_time | string | `"3s"` | pprof server probe wait time |
-| defaults.server_config.metrics.pprof.server.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
-| defaults.server_config.metrics.pprof.server.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
-| defaults.server_config.metrics.pprof.server.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
-| defaults.server_config.metrics.pprof.server.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
-| defaults.server_config.metrics.pprof.server.socket_option.tcp_cork | bool | `true` | server listen socket option for tcp_cork functionality |
-| defaults.server_config.metrics.pprof.server.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
-| defaults.server_config.metrics.pprof.server.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality |
-| defaults.server_config.metrics.pprof.server.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
-| defaults.server_config.metrics.pprof.server.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
-| defaults.server_config.metrics.pprof.server.socket_path | string | `""` | mysql socket_path |
-| defaults.server_config.metrics.pprof.servicePort | int | `6060` | pprof server service port |
-| defaults.server_config.servers.grpc.enabled | bool | `true` | gRPC server enabled |
-| defaults.server_config.servers.grpc.host | string | `"0.0.0.0"` | gRPC server host |
-| defaults.server_config.servers.grpc.port | int | `8081` | gRPC server port |
-| defaults.server_config.servers.grpc.server.grpc.bidirectional_stream_concurrency | int | `20` | gRPC server bidirectional stream concurrency |
-| defaults.server_config.servers.grpc.server.grpc.connection_timeout | string | `""` | gRPC server connection timeout |
-| defaults.server_config.servers.grpc.server.grpc.enable_reflection | bool | `true` | gRPC server reflection option |
-| defaults.server_config.servers.grpc.server.grpc.header_table_size | int | `0` | gRPC server header table size |
-| defaults.server_config.servers.grpc.server.grpc.initial_conn_window_size | int | `2097152` | gRPC server initial connection window size |
-| defaults.server_config.servers.grpc.server.grpc.initial_window_size | int | `1048576` | gRPC server initial window size |
-| defaults.server_config.servers.grpc.server.grpc.interceptors | list | `["RecoverInterceptor"]` | gRPC server interceptors |
-| defaults.server_config.servers.grpc.server.grpc.keepalive.max_conn_age | string | `""` | gRPC server keep alive max connection age |
-| defaults.server_config.servers.grpc.server.grpc.keepalive.max_conn_age_grace | string | `""` | gRPC server keep alive max connection age grace |
-| defaults.server_config.servers.grpc.server.grpc.keepalive.max_conn_idle | string | `""` | gRPC server keep alive max connection idle |
-| defaults.server_config.servers.grpc.server.grpc.keepalive.min_time | string | `"10m"` | gRPC server keep alive min_time |
-| defaults.server_config.servers.grpc.server.grpc.keepalive.permit_without_stream | bool | `false` | gRPC server keep alive permit_without_stream |
-| defaults.server_config.servers.grpc.server.grpc.keepalive.time | string | `"3h"` | gRPC server keep alive time |
-| defaults.server_config.servers.grpc.server.grpc.keepalive.timeout | string | `"60s"` | gRPC server keep alive timeout |
-| defaults.server_config.servers.grpc.server.grpc.max_header_list_size | int | `0` | gRPC server max header list size |
-| defaults.server_config.servers.grpc.server.grpc.max_receive_message_size | int | `0` | gRPC server max receive message size |
-| defaults.server_config.servers.grpc.server.grpc.max_send_message_size | int | `0` | gRPC server max send message size |
-| defaults.server_config.servers.grpc.server.grpc.read_buffer_size | int | `0` | gRPC server read buffer size |
-| defaults.server_config.servers.grpc.server.grpc.write_buffer_size | int | `0` | gRPC server write buffer size |
-| defaults.server_config.servers.grpc.server.mode | string | `"GRPC"` | gRPC server server mode |
-| defaults.server_config.servers.grpc.server.network | string | `"tcp"` | mysql network |
-| defaults.server_config.servers.grpc.server.probe_wait_time | string | `"3s"` | gRPC server probe wait time |
-| defaults.server_config.servers.grpc.server.restart | bool | `true` | gRPC server restart |
-| defaults.server_config.servers.grpc.server.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
-| defaults.server_config.servers.grpc.server.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
-| defaults.server_config.servers.grpc.server.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
-| defaults.server_config.servers.grpc.server.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
-| defaults.server_config.servers.grpc.server.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
-| defaults.server_config.servers.grpc.server.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
-| defaults.server_config.servers.grpc.server.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality |
-| defaults.server_config.servers.grpc.server.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
-| defaults.server_config.servers.grpc.server.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
-| defaults.server_config.servers.grpc.server.socket_path | string | `""` | mysql socket_path |
-| defaults.server_config.servers.grpc.servicePort | int | `8081` | gRPC server service port |
-| defaults.server_config.servers.rest.enabled | bool | `false` | REST server enabled |
-| defaults.server_config.servers.rest.host | string | `"0.0.0.0"` | REST server host |
-| defaults.server_config.servers.rest.port | int | `8080` | REST server port |
-| defaults.server_config.servers.rest.server.http.handler_timeout | string | `"5s"` | REST server handler timeout |
-| defaults.server_config.servers.rest.server.http.idle_timeout | string | `"2s"` | REST server idle timeout |
-| defaults.server_config.servers.rest.server.http.read_header_timeout | string | `"1s"` | REST server read header timeout |
-| defaults.server_config.servers.rest.server.http.read_timeout | string | `"1s"` | REST server read timeout |
-| defaults.server_config.servers.rest.server.http.shutdown_duration | string | `"5s"` | REST server shutdown duration |
-| defaults.server_config.servers.rest.server.http.write_timeout | string | `"1s"` | REST server write timeout |
-| defaults.server_config.servers.rest.server.mode | string | `"REST"` | REST server server mode |
-| defaults.server_config.servers.rest.server.network | string | `"tcp"` | mysql network |
-| defaults.server_config.servers.rest.server.probe_wait_time | string | `"3s"` | REST server probe wait time |
-| defaults.server_config.servers.rest.server.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
-| defaults.server_config.servers.rest.server.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
-| defaults.server_config.servers.rest.server.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
-| defaults.server_config.servers.rest.server.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
-| defaults.server_config.servers.rest.server.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
-| defaults.server_config.servers.rest.server.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
-| defaults.server_config.servers.rest.server.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality |
-| defaults.server_config.servers.rest.server.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
-| defaults.server_config.servers.rest.server.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
-| defaults.server_config.servers.rest.server.socket_path | string | `""` | mysql socket_path |
-| defaults.server_config.servers.rest.servicePort | int | `8080` | REST server service port |
-| defaults.server_config.tls.ca | string | `"/path/to/ca"` | TLS ca path |
-| defaults.server_config.tls.cert | string | `"/path/to/cert"` | TLS cert path |
-| defaults.server_config.tls.enabled | bool | `false` | TLS enabled |
-| defaults.server_config.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification |
-| defaults.server_config.tls.key | string | `"/path/to/key"` | TLS key path |
-| defaults.time_zone | string | `"UTC"` | Time zone |
-| discoverer.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | node affinity preferred scheduling terms |
-| discoverer.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms | list | `[]` | node affinity required node selectors |
-| discoverer.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity preferred scheduling terms |
-| discoverer.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity required scheduling terms |
-| discoverer.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[{"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"app","operator":"In","values":["vald-discoverer"]}]},"topologyKey":"kubernetes.io/hostname"},"weight":100}]` | pod anti-affinity preferred scheduling terms |
-| discoverer.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity required scheduling terms |
-| discoverer.annotations | object | `{}` | deployment annotations |
-| discoverer.clusterRole.enabled | bool | `true` | creates clusterRole resource |
-| discoverer.clusterRole.name | string | `"discoverer"` | name of clusterRole |
-| discoverer.clusterRoleBinding.enabled | bool | `true` | creates clusterRoleBinding resource |
-| discoverer.clusterRoleBinding.name | string | `"discoverer"` | name of clusterRoleBinding |
-| discoverer.discoverer.discovery_duration | string | `"3s"` | duration to discovery |
-| discoverer.discoverer.name | string | `""` | name to discovery |
-| discoverer.discoverer.namespace | string | `"_MY_POD_NAMESPACE_"` | namespace to discovery |
-| discoverer.discoverer.net.dialer.dual_stack_enabled | bool | `false` | TCP dialer dual stack enabled |
-| discoverer.discoverer.net.dialer.keepalive | string | `"10m"` | TCP dialer keep alive |
-| discoverer.discoverer.net.dialer.timeout | string | `"30s"` | TCP dialer timeout |
-| discoverer.discoverer.net.dns.cache_enabled | bool | `true` | TCP DNS cache enabled |
-| discoverer.discoverer.net.dns.cache_expiration | string | `"24h"` | TCP DNS cache expiration |
-| discoverer.discoverer.net.dns.refresh_duration | string | `"5m"` | TCP DNS cache refresh duration |
-| discoverer.discoverer.net.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
-| discoverer.discoverer.net.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
-| discoverer.discoverer.net.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
-| discoverer.discoverer.net.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
-| discoverer.discoverer.net.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
-| discoverer.discoverer.net.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
-| discoverer.discoverer.net.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality |
-| discoverer.discoverer.net.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
-| discoverer.discoverer.net.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
-| discoverer.discoverer.net.tls.ca | string | `"/path/to/ca"` | TLS ca path |
-| discoverer.discoverer.net.tls.cert | string | `"/path/to/cert"` | TLS cert path |
-| discoverer.discoverer.net.tls.enabled | bool | `false` | TLS enabled |
-| discoverer.discoverer.net.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification |
-| discoverer.discoverer.net.tls.key | string | `"/path/to/key"` | TLS key path |
-| discoverer.discoverer.selectors | object | `{"node":{"fields":{},"labels":{}},"node_metrics":{"fields":{},"labels":{}},"pod":{"fields":{},"labels":{}},"pod_metrics":{"fields":{},"labels":{}}}` | k8s resource selectors |
-| discoverer.discoverer.selectors.node | object | `{"fields":{},"labels":{}}` | k8s resource selectors for node discovery |
-| discoverer.discoverer.selectors.node.fields | object | `{}` | k8s field selectors for node discovery |
-| discoverer.discoverer.selectors.node.labels | object | `{}` | k8s label selectors for node discovery |
-| discoverer.discoverer.selectors.node_metrics | object | `{"fields":{},"labels":{}}` | k8s resource selectors for node_metrics discovery |
-| discoverer.discoverer.selectors.node_metrics.fields | object | `{}` | k8s field selectors for node_metrics discovery |
-| discoverer.discoverer.selectors.node_metrics.labels | object | `{}` | k8s label selectors for node_metrics discovery |
-| discoverer.discoverer.selectors.pod | object | `{"fields":{},"labels":{}}` | k8s resource selectors for pod discovery |
-| discoverer.discoverer.selectors.pod.fields | object | `{}` | k8s field selectors for pod discovery |
-| discoverer.discoverer.selectors.pod.labels | object | `{}` | k8s label selectors for pod discovery |
-| discoverer.discoverer.selectors.pod_metrics | object | `{"fields":{},"labels":{}}` | k8s resource selectors for pod_metrics discovery |
-| discoverer.discoverer.selectors.pod_metrics.fields | object | `{}` | k8s field selectors for pod_metrics discovery |
-| discoverer.discoverer.selectors.pod_metrics.labels | object | `{}` | k8s label selectors for pod_metrics discovery |
-| discoverer.enabled | bool | `true` | discoverer enabled |
-| discoverer.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables |
-| discoverer.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
-| discoverer.hpa.enabled | bool | `false` | HPA enabled |
-| discoverer.hpa.targetCPUUtilizationPercentage | int | `80` | HPA CPU utilization percentage |
-| discoverer.image.pullPolicy | string | `"Always"` | image pull policy |
-| discoverer.image.repository | string | `"vdaas/vald-discoverer-k8s"` | image repository |
-| discoverer.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
-| discoverer.initContainers | list | `[]` | init containers |
-| discoverer.internalTrafficPolicy | string | `""` | internal traffic policy : Cluster or Local |
-| discoverer.kind | string | `"Deployment"` | deployment kind: Deployment or DaemonSet |
-| discoverer.logging | object | `{}` | logging config (overrides defaults.logging) |
-| discoverer.maxReplicas | int | `2` | maximum number of replicas. if HPA is disabled, this value will be ignored. |
-| discoverer.maxUnavailable | string | `"50%"` | maximum number of unavailable replicas |
-| discoverer.minReplicas | int | `1` | minimum number of replicas. if HPA is disabled, the replicas will be set to this value |
-| discoverer.name | string | `"vald-discoverer"` | name of discoverer deployment |
-| discoverer.nodeName | string | `""` | node name |
-| discoverer.nodeSelector | object | `{}` | node selector |
-| discoverer.observability | object | `{"otlp":{"attribute":{"service_name":"vald-discoverer"}}}` | observability config (overrides defaults.observability) |
-| discoverer.podAnnotations | object | `{}` | pod annotations |
-| discoverer.podPriority.enabled | bool | `true` | discoverer pod PriorityClass enabled |
-| discoverer.podPriority.value | int | `1000000` | discoverer pod PriorityClass value |
-| discoverer.podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
-| discoverer.progressDeadlineSeconds | int | `600` | progress deadline seconds |
-| discoverer.resources | object | `{"limits":{"cpu":"600m","memory":"200Mi"},"requests":{"cpu":"200m","memory":"65Mi"}}` | compute resources |
-| discoverer.revisionHistoryLimit | int | `2` | number of old history to retain to allow rollback |
-| discoverer.rollingUpdate.maxSurge | string | `"25%"` | max surge of rolling update |
-| discoverer.rollingUpdate.maxUnavailable | string | `"25%"` | max unavailable of rolling update |
-| discoverer.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
-| discoverer.server_config | object | `{"healths":{"liveness":{},"readiness":{},"startup":{}},"metrics":{"pprof":{}},"servers":{"grpc":{},"rest":{}}}` | server config (overrides defaults.server_config) |
-| discoverer.service.annotations | object | `{}` | service annotations |
-| discoverer.service.labels | object | `{}` | service labels |
-| discoverer.serviceAccount.enabled | bool | `true` | creates service account |
-| discoverer.serviceAccount.name | string | `"vald"` | name of service account |
-| discoverer.serviceType | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
-| discoverer.terminationGracePeriodSeconds | int | `30` | duration in seconds pod needs to terminate gracefully |
-| discoverer.time_zone | string | `""` | Time zone |
-| discoverer.tolerations | list | `[]` | tolerations |
-| discoverer.topologySpreadConstraints | list | `[]` | topology spread constraints of discoverer pods |
-| discoverer.version | string | `"v0.0.0"` | version of discoverer config |
-| discoverer.volumeMounts | list | `[]` | volume mounts |
-| discoverer.volumes | list | `[]` | volumes |
-| gateway.filter.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | node affinity preferred scheduling terms |
-| gateway.filter.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms | list | `[]` | node affinity required node selectors |
-| gateway.filter.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity preferred scheduling terms |
-| gateway.filter.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity required scheduling terms |
-| gateway.filter.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[{"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"app","operator":"In","values":["vald-filter-gateway"]}]},"topologyKey":"kubernetes.io/hostname"},"weight":100}]` | pod anti-affinity preferred scheduling terms |
-| gateway.filter.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity required scheduling terms |
-| gateway.filter.annotations | object | `{}` | deployment annotations |
-| gateway.filter.enabled | bool | `false` | gateway enabled |
-| gateway.filter.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables |
-| gateway.filter.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
-| gateway.filter.gateway_config.egress_filter | object | `{"client":{},"distance_filters":[],"object_filters":[]}` | gRPC client config for egress filter |
-| gateway.filter.gateway_config.egress_filter.client | object | `{}` | gRPC client config for egress filter (overrides defaults.grpc.client) |
-| gateway.filter.gateway_config.egress_filter.distance_filters | list | `[]` | distance egress vector filter targets |
-| gateway.filter.gateway_config.egress_filter.object_filters | list | `[]` | object egress vector filter targets |
-| gateway.filter.gateway_config.gateway_client | object | `{}` | gRPC client for next gateway (overrides defaults.grpc.client) |
-| gateway.filter.gateway_config.ingress_filter | object | `{"client":{},"insert_filters":[],"search_filters":[],"update_filters":[],"upsert_filters":[],"vectorizer":""}` | gRPC client config for ingress filter |
-| gateway.filter.gateway_config.ingress_filter.client | object | `{}` | gRPC client for ingress filter (overrides defaults.grpc.client) |
-| gateway.filter.gateway_config.ingress_filter.insert_filters | list | `[]` | insert ingress vector filter targets |
-| gateway.filter.gateway_config.ingress_filter.search_filters | list | `[]` | search ingress vector filter targets |
-| gateway.filter.gateway_config.ingress_filter.update_filters | list | `[]` | update ingress vector filter targets |
-| gateway.filter.gateway_config.ingress_filter.upsert_filters | list | `[]` | upsert ingress vector filter targets |
-| gateway.filter.gateway_config.ingress_filter.vectorizer | string | `""` | object ingress vectorize filter targets |
-| gateway.filter.hpa.enabled | bool | `true` | HPA enabled |
-| gateway.filter.hpa.targetCPUUtilizationPercentage | int | `80` | HPA CPU utilization percentage |
-| gateway.filter.image.pullPolicy | string | `"Always"` | image pull policy |
-| gateway.filter.image.repository | string | `"vdaas/vald-filter-gateway"` | image repository |
-| gateway.filter.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
-| gateway.filter.ingress.annotations | object | `{"nginx.ingress.kubernetes.io/grpc-backend":"true"}` | annotations for ingress |
-| gateway.filter.ingress.defaultBackend | object | `{"enabled":true}` | defaultBackend config |
-| gateway.filter.ingress.defaultBackend.enabled | bool | `true` | gateway ingress defaultBackend enabled |
-| gateway.filter.ingress.enabled | bool | `false` | gateway ingress enabled |
-| gateway.filter.ingress.host | string | `"filter.gateway.vald.vdaas.org"` | ingress hostname |
-| gateway.filter.ingress.pathType | string | `"ImplementationSpecific"` | gateway ingress pathType |
-| gateway.filter.ingress.servicePort | string | `"grpc"` | service port to be exposed by ingress |
-| gateway.filter.initContainers | list | `[{"image":"busybox:stable","name":"wait-for-gateway-lb","sleepDuration":2,"target":"gateway-lb","type":"wait-for"}]` | init containers |
-| gateway.filter.internalTrafficPolicy | string | `""` | internal traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
-| gateway.filter.kind | string | `"Deployment"` | deployment kind: Deployment or DaemonSet |
-| gateway.filter.logging | object | `{}` | logging config (overrides defaults.logging) |
-| gateway.filter.maxReplicas | int | `9` | maximum number of replicas. if HPA is disabled, this value will be ignored. |
-| gateway.filter.maxUnavailable | string | `"50%"` | maximum number of unavailable replicas |
-| gateway.filter.minReplicas | int | `3` | minimum number of replicas. if HPA is disabled, the replicas will be set to this value |
-| gateway.filter.name | string | `"vald-filter-gateway"` | name of filter gateway deployment |
-| gateway.filter.nodeName | string | `""` | node name |
-| gateway.filter.nodeSelector | object | `{}` | node selector |
-| gateway.filter.observability | object | `{"otlp":{"attribute":{"service_name":"vald-filter-gateway"}}}` | observability config (overrides defaults.observability) |
-| gateway.filter.podAnnotations | object | `{}` | pod annotations |
-| gateway.filter.podPriority.enabled | bool | `true` | gateway pod PriorityClass enabled |
-| gateway.filter.podPriority.value | int | `1000000` | gateway pod PriorityClass value |
-| gateway.filter.podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
-| gateway.filter.progressDeadlineSeconds | int | `600` | progress deadline seconds |
-| gateway.filter.resources | object | `{"limits":{"cpu":"2000m","memory":"700Mi"},"requests":{"cpu":"200m","memory":"150Mi"}}` | compute resources |
-| gateway.filter.revisionHistoryLimit | int | `2` | number of old history to retain to allow rollback |
-| gateway.filter.rollingUpdate.maxSurge | string | `"25%"` | max surge of rolling update |
-| gateway.filter.rollingUpdate.maxUnavailable | string | `"25%"` | max unavailable of rolling update |
-| gateway.filter.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
-| gateway.filter.server_config | object | `{"healths":{"liveness":{},"readiness":{},"startup":{}},"metrics":{"pprof":{}},"servers":{"grpc":{},"rest":{}}}` | server config (overrides defaults.server_config) |
-| gateway.filter.service.annotations | object | `{}` | service annotations |
-| gateway.filter.service.labels | object | `{}` | service labels |
-| gateway.filter.serviceType | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
-| gateway.filter.terminationGracePeriodSeconds | int | `30` | duration in seconds pod needs to terminate gracefully |
-| gateway.filter.time_zone | string | `""` | Time zone |
-| gateway.filter.tolerations | list | `[]` | tolerations |
-| gateway.filter.topologySpreadConstraints | list | `[]` | topology spread constraints of gateway pods |
-| gateway.filter.version | string | `"v0.0.0"` | version of gateway config |
-| gateway.filter.volumeMounts | list | `[]` | volume mounts |
-| gateway.filter.volumes | list | `[]` | volumes |
-| gateway.lb.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | node affinity preferred scheduling terms |
-| gateway.lb.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms | list | `[]` | node affinity required node selectors |
-| gateway.lb.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity preferred scheduling terms |
-| gateway.lb.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity required scheduling terms |
-| gateway.lb.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[{"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"app","operator":"In","values":["vald-lb-gateway"]}]},"topologyKey":"kubernetes.io/hostname"},"weight":100}]` | pod anti-affinity preferred scheduling terms |
-| gateway.lb.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity required scheduling terms |
-| gateway.lb.annotations | object | `{}` | deployment annotations |
-| gateway.lb.enabled | bool | `true` | gateway enabled |
-| gateway.lb.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables |
-| gateway.lb.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
-| gateway.lb.gateway_config.agent_namespace | string | `"_MY_POD_NAMESPACE_"` | agent namespace |
-| gateway.lb.gateway_config.discoverer.agent_client_options | object | `{}` | gRPC client options for agents (overrides defaults.grpc.client) |
-| gateway.lb.gateway_config.discoverer.client | object | `{}` | gRPC client for discoverer (overrides defaults.grpc.client) |
-| gateway.lb.gateway_config.discoverer.duration | string | `"200ms"` | |
-| gateway.lb.gateway_config.index_replica | int | `3` | number of index replica |
-| gateway.lb.gateway_config.multi_operation_concurrency | int | `20` | number of concurrency of multiXXX api's operation |
-| gateway.lb.gateway_config.node_name | string | `""` | node name |
-| gateway.lb.hpa.enabled | bool | `true` | HPA enabled |
-| gateway.lb.hpa.targetCPUUtilizationPercentage | int | `80` | HPA CPU utilization percentage |
-| gateway.lb.image.pullPolicy | string | `"Always"` | image pull policy |
-| gateway.lb.image.repository | string | `"vdaas/vald-lb-gateway"` | image repository |
-| gateway.lb.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
-| gateway.lb.ingress.annotations | object | `{"nginx.ingress.kubernetes.io/grpc-backend":"true"}` | annotations for ingress |
-| gateway.lb.ingress.defaultBackend | object | `{"enabled":true}` | defaultBackend config |
-| gateway.lb.ingress.defaultBackend.enabled | bool | `true` | gateway ingress defaultBackend enabled |
-| gateway.lb.ingress.enabled | bool | `false` | gateway ingress enabled |
-| gateway.lb.ingress.host | string | `"lb.gateway.vald.vdaas.org"` | ingress hostname |
-| gateway.lb.ingress.pathType | string | `"ImplementationSpecific"` | gateway ingress pathType |
-| gateway.lb.ingress.servicePort | string | `"grpc"` | service port to be exposed by ingress |
-| gateway.lb.initContainers | list | `[{"image":"busybox:stable","name":"wait-for-discoverer","sleepDuration":2,"target":"discoverer","type":"wait-for"},{"image":"busybox:stable","name":"wait-for-agent","sleepDuration":2,"target":"agent","type":"wait-for"}]` | init containers |
-| gateway.lb.internalTrafficPolicy | string | `""` | internal traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
-| gateway.lb.kind | string | `"Deployment"` | deployment kind: Deployment or DaemonSet |
-| gateway.lb.logging | object | `{}` | logging config (overrides defaults.logging) |
-| gateway.lb.maxReplicas | int | `9` | maximum number of replicas. if HPA is disabled, this value will be ignored. |
-| gateway.lb.maxUnavailable | string | `"50%"` | maximum number of unavailable replicas |
-| gateway.lb.minReplicas | int | `3` | minimum number of replicas. if HPA is disabled, the replicas will be set to this value |
-| gateway.lb.name | string | `"vald-lb-gateway"` | name of gateway deployment |
-| gateway.lb.nodeName | string | `""` | node name |
-| gateway.lb.nodeSelector | object | `{}` | node selector |
-| gateway.lb.observability | object | `{"otlp":{"attribute":{"service_name":"vald-lb-gateway"}}}` | observability config (overrides defaults.observability) |
-| gateway.lb.podAnnotations | object | `{}` | pod annotations |
-| gateway.lb.podPriority.enabled | bool | `true` | gateway pod PriorityClass enabled |
-| gateway.lb.podPriority.value | int | `1000000` | gateway pod PriorityClass value |
-| gateway.lb.podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
-| gateway.lb.progressDeadlineSeconds | int | `600` | progress deadline seconds |
-| gateway.lb.resources | object | `{"limits":{"cpu":"2000m","memory":"700Mi"},"requests":{"cpu":"200m","memory":"150Mi"}}` | compute resources |
-| gateway.lb.revisionHistoryLimit | int | `2` | number of old history to retain to allow rollback |
-| gateway.lb.rollingUpdate.maxSurge | string | `"25%"` | max surge of rolling update |
-| gateway.lb.rollingUpdate.maxUnavailable | string | `"25%"` | max unavailable of rolling update |
-| gateway.lb.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
-| gateway.lb.server_config | object | `{"healths":{"liveness":{},"readiness":{},"startup":{}},"metrics":{"pprof":{}},"servers":{"grpc":{},"rest":{}}}` | server config (overrides defaults.server_config) |
-| gateway.lb.service.annotations | object | `{}` | service annotations |
-| gateway.lb.service.labels | object | `{}` | service labels |
-| gateway.lb.serviceType | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
-| gateway.lb.terminationGracePeriodSeconds | int | `30` | duration in seconds pod needs to terminate gracefully |
-| gateway.lb.time_zone | string | `""` | Time zone |
-| gateway.lb.tolerations | list | `[]` | tolerations |
-| gateway.lb.topologySpreadConstraints | list | `[]` | topology spread constraints of gateway pods |
-| gateway.lb.version | string | `"v0.0.0"` | version of gateway config |
-| gateway.lb.volumeMounts | list | `[]` | volume mounts |
-| gateway.lb.volumes | list | `[]` | volumes |
-| manager.index.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | node affinity preferred scheduling terms |
-| manager.index.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms | list | `[]` | node affinity required node selectors |
-| manager.index.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity preferred scheduling terms |
-| manager.index.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity required scheduling terms |
-| manager.index.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity preferred scheduling terms |
-| manager.index.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity required scheduling terms |
-| manager.index.annotations | object | `{}` | deployment annotations |
-| manager.index.enabled | bool | `true` | index manager enabled |
-| manager.index.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables |
-| manager.index.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
-| manager.index.image.pullPolicy | string | `"Always"` | image pull policy |
-| manager.index.image.repository | string | `"vdaas/vald-manager-index"` | image repository |
-| manager.index.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
-| manager.index.indexer.agent_namespace | string | `"_MY_POD_NAMESPACE_"` | namespace of agent pods to manage |
-| manager.index.indexer.auto_index_check_duration | string | `"1m"` | check duration of automatic indexing |
-| manager.index.indexer.auto_index_duration_limit | string | `"30m"` | limit duration of automatic indexing |
-| manager.index.indexer.auto_index_length | int | `100` | number of cache to trigger automatic indexing |
-| manager.index.indexer.auto_save_index_duration_limit | string | `"3h"` | limit duration of automatic index saving |
-| manager.index.indexer.auto_save_index_wait_duration | string | `"10m"` | duration of automatic index saving wait duration for next saving |
-| manager.index.indexer.concurrency | int | `1` | concurrency |
-| manager.index.indexer.creation_pool_size | int | `10000` | number of pool size of create index processing |
-| manager.index.indexer.discoverer.agent_client_options | object | `{"dial_option":{"net":{"dialer":{"keepalive":"15m"}}}}` | gRPC client options for agents (overrides defaults.grpc.client) |
-| manager.index.indexer.discoverer.client | object | `{}` | gRPC client for discoverer (overrides defaults.grpc.client) |
-| manager.index.indexer.discoverer.duration | string | `"500ms"` | refresh duration to discover |
-| manager.index.indexer.node_name | string | `""` | node name |
-| manager.index.initContainers | list | `[{"image":"busybox:stable","name":"wait-for-agent","sleepDuration":2,"target":"agent","type":"wait-for"},{"image":"busybox:stable","name":"wait-for-discoverer","sleepDuration":2,"target":"discoverer","type":"wait-for"}]` | init containers |
-| manager.index.kind | string | `"Deployment"` | deployment kind: Deployment or DaemonSet |
-| manager.index.logging | object | `{}` | logging config (overrides defaults.logging) |
-| manager.index.maxUnavailable | string | `"50%"` | maximum number of unavailable replicas |
-| manager.index.name | string | `"vald-manager-index"` | name of index manager deployment |
-| manager.index.nodeName | string | `""` | node name |
-| manager.index.nodeSelector | object | `{}` | node selector |
-| manager.index.observability | object | `{"otlp":{"attribute":{"service_name":"vald-manager-index"}}}` | observability config (overrides defaults.observability) |
-| manager.index.podAnnotations | object | `{}` | pod annotations |
-| manager.index.podPriority.enabled | bool | `true` | index manager pod PriorityClass enabled |
-| manager.index.podPriority.value | int | `1000000` | index manager pod PriorityClass value |
-| manager.index.podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
-| manager.index.progressDeadlineSeconds | int | `600` | progress deadline seconds |
-| manager.index.replicas | int | `1` | number of replicas |
-| manager.index.resources | object | `{"limits":{"cpu":"1000m","memory":"500Mi"},"requests":{"cpu":"200m","memory":"80Mi"}}` | compute resources |
-| manager.index.revisionHistoryLimit | int | `2` | number of old history to retain to allow rollback |
-| manager.index.rollingUpdate.maxSurge | string | `"25%"` | max surge of rolling update |
-| manager.index.rollingUpdate.maxUnavailable | string | `"25%"` | max unavailable of rolling update |
-| manager.index.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
-| manager.index.server_config | object | `{"healths":{"liveness":{},"readiness":{},"startup":{}},"metrics":{"pprof":{}},"servers":{"grpc":{},"rest":{}}}` | server config (overrides defaults.server_config) |
-| manager.index.service.annotations | object | `{}` | service annotations |
-| manager.index.service.labels | object | `{}` | service labels |
-| manager.index.serviceType | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
-| manager.index.terminationGracePeriodSeconds | int | `30` | duration in seconds pod needs to terminate gracefully |
-| manager.index.time_zone | string | `""` | Time zone |
-| manager.index.tolerations | list | `[]` | tolerations |
-| manager.index.topologySpreadConstraints | list | `[]` | topology spread constraints of index manager pods |
-| manager.index.version | string | `"v0.0.0"` | version of index manager config |
-| manager.index.volumeMounts | list | `[]` | volume mounts |
-| manager.index.volumes | list | `[]` | volumes |
+| Key | Type | Default | Description |
+| ----------------------------------------------------------------------------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| agent.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | node affinity preferred scheduling terms |
+| agent.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms | list | `[]` | node affinity required node selectors |
+| agent.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity preferred scheduling terms |
+| agent.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity required scheduling terms |
+| agent.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[{"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"app","operator":"In","values":["vald-agent-ngt"]}]},"topologyKey":"kubernetes.io/hostname"},"weight":100}]` | pod anti-affinity preferred scheduling terms |
+| agent.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity required scheduling terms |
+| agent.annotations | object | `{}` | deployment annotations |
+| agent.enabled | bool | `true` | agent enabled |
+| agent.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables |
+| agent.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
+| agent.hpa.enabled | bool | `false` | HPA enabled |
+| agent.hpa.targetCPUUtilizationPercentage | int | `80` | HPA CPU utilization percentage |
+| agent.image.pullPolicy | string | `"Always"` | image pull policy |
+| agent.image.repository | string | `"vdaas/vald-agent-ngt"` | image repository |
+| agent.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
+| agent.initContainers | list | `[]` | init containers |
+| agent.kind | string | `"StatefulSet"` | deployment kind: Deployment, DaemonSet or StatefulSet |
+| agent.logging | object | `{}` | logging config (overrides defaults.logging) |
+| agent.maxReplicas | int | `300` | maximum number of replicas. if HPA is disabled, this value will be ignored. |
+| agent.maxUnavailable | string | `"1"` | maximum number of unavailable replicas |
+| agent.minReplicas | int | `20` | minimum number of replicas. if HPA is disabled, the replicas will be set to this value |
+| agent.name | string | `"vald-agent-ngt"` | name of agent deployment |
+| agent.ngt.auto_create_index_pool_size | int | `10000` | batch process pool size of automatic create index operation |
+| agent.ngt.auto_index_check_duration | string | `"30m"` | check duration of automatic indexing |
+| agent.ngt.auto_index_duration_limit | string | `"24h"` | limit duration of automatic indexing |
+| agent.ngt.auto_index_length | int | `100` | number of cache to trigger automatic indexing |
+| agent.ngt.auto_save_index_duration | string | `"35m"` | duration of automatic save index |
+| agent.ngt.broken_index_history_limit | int | `0` | maximum number of broken index generations to backup |
+| agent.ngt.bulk_insert_chunk_size | int | `10` | bulk insert chunk size |
+| agent.ngt.creation_edge_size | int | `20` | creation edge size |
+| agent.ngt.default_epsilon | float | `0.1` | default epsilon used for search |
+| agent.ngt.default_pool_size | int | `10000` | default create index batch pool size |
+| agent.ngt.default_radius | float | `-1` | default radius used for search |
+| agent.ngt.dimension | int | `4096` | vector dimension |
+| agent.ngt.distance_type | string | `"l2"` | distance type. it should be `l1`, `l2`, `angle`, `hamming`, `cosine`,`poincare`, `lorentz`, `jaccard`, `sparsejaccard`, `normalizedangle` or `normalizedcosine`. for further details about NGT libraries supported distance is https://github.com/yahoojapan/NGT/wiki/Command-Quick-Reference and vald agent's supported NGT distance type is https://pkg.go.dev/github.com/vdaas/vald/internal/core/algorithm/ngt#pkg-constants |
+| agent.ngt.enable_copy_on_write | bool | `false` | enable copy on write saving for more stable backup |
+| agent.ngt.enable_in_memory_mode | bool | `true` | in-memory mode enabled |
+| agent.ngt.enable_proactive_gc | bool | `false` | enable proactive GC call for reducing heap memory allocation |
+| agent.ngt.index_path | string | `""` | path to index data |
+| agent.ngt.initial_delay_max_duration | string | `"3m"` | maximum duration for initial delay |
+| agent.ngt.kvsdb.concurrency | int | `6` | kvsdb processing concurrency |
+| agent.ngt.load_index_timeout_factor | string | `"1ms"` | a factor of load index timeout. timeout duration will be calculated by (index count to be loaded) \* (factor). |
+| agent.ngt.max_load_index_timeout | string | `"10m"` | maximum duration of load index timeout |
+| agent.ngt.min_load_index_timeout | string | `"3m"` | minimum duration of load index timeout |
+| agent.ngt.object_type | string | `"float"` | object type. it should be `float` or `uint8` or `float16`. for further details: https://github.com/yahoojapan/NGT/wiki/Command-Quick-Reference |
+| agent.ngt.search_edge_size | int | `10` | search edge size |
+| agent.ngt.vqueue.delete_buffer_pool_size | int | `5000` | delete slice pool buffer size |
+| agent.ngt.vqueue.insert_buffer_pool_size | int | `10000` | insert slice pool buffer size |
+| agent.nodeName | string | `""` | node name |
+| agent.nodeSelector | object | `{}` | node selector |
+| agent.observability | object | `{"otlp":{"attribute":{"service_name":"vald-agent-ngt"}}}` | observability config (overrides defaults.observability) |
+| agent.persistentVolume.accessMode | string | `"ReadWriteOncePod"` | agent pod storage accessMode |
+| agent.persistentVolume.enabled | bool | `false` | enables PVC. It is required to enable if agent pod's file store functionality is enabled with non in-memory mode |
+| agent.persistentVolume.mountPropagation | string | `"None"` | agent pod storage mountPropagation |
+| agent.persistentVolume.size | string | `"100Gi"` | size of agent pod volume |
+| agent.persistentVolume.storageClass | string | `"vald-sc"` | storageClass name for agent pod volume |
+| agent.podAnnotations | object | `{}` | pod annotations |
+| agent.podManagementPolicy | string | `"OrderedReady"` | pod management policy: OrderedReady or Parallel |
+| agent.podPriority.enabled | bool | `true` | agent pod PriorityClass enabled |
+| agent.podPriority.value | int | `1000000000` | agent pod PriorityClass value |
+| agent.podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
+| agent.progressDeadlineSeconds | int | `600` | progress deadline seconds |
+| agent.resources | object | `{"requests":{"cpu":"300m","memory":"4Gi"}}` | compute resources. recommended setting of memory requests = cluster memory \* 0.4 / number of agent pods |
+| agent.revisionHistoryLimit | int | `2` | number of old history to retain to allow rollback |
+| agent.rollingUpdate.maxSurge | string | `"25%"` | max surge of rolling update |
+| agent.rollingUpdate.maxUnavailable | string | `"25%"` | max unavailable of rolling update |
+| agent.rollingUpdate.partition | int | `0` | StatefulSet partition |
+| agent.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":false,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
+| agent.server_config | object | `{"healths":{"liveness":{},"readiness":{},"startup":{"startupProbe":{"failureThreshold":200,"periodSeconds":5}}},"metrics":{"pprof":{}},"servers":{"grpc":{},"rest":{}}}` | server config (overrides defaults.server_config) |
+| agent.service.annotations | object | `{}` | service annotations |
+| agent.service.labels | object | `{}` | service labels |
+| agent.serviceType | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
+| agent.sidecar.config.auto_backup_duration | string | `"24h"` | auto backup duration |
+| agent.sidecar.config.auto_backup_enabled | bool | `true` | auto backup triggered by timer is enabled |
+| agent.sidecar.config.blob_storage.bucket | string | `""` | bucket name |
+| agent.sidecar.config.blob_storage.cloud_storage.client.credentials_file_path | string | `""` | credentials file path |
+| agent.sidecar.config.blob_storage.cloud_storage.client.credentials_json | string | `""` | credentials json |
+| agent.sidecar.config.blob_storage.cloud_storage.url | string | `""` | cloud storage url |
+| agent.sidecar.config.blob_storage.cloud_storage.write_buffer_size | int | `0` | bytes of the chunks for upload |
+| agent.sidecar.config.blob_storage.cloud_storage.write_cache_control | string | `""` | Cache-Control of HTTP Header |
+| agent.sidecar.config.blob_storage.cloud_storage.write_content_disposition | string | `""` | Content-Disposition of HTTP Header |
+| agent.sidecar.config.blob_storage.cloud_storage.write_content_encoding | string | `""` | the encoding of the blob's content |
+| agent.sidecar.config.blob_storage.cloud_storage.write_content_language | string | `""` | the language of blob's content |
+| agent.sidecar.config.blob_storage.cloud_storage.write_content_type | string | `""` | MIME type of the blob |
+| agent.sidecar.config.blob_storage.s3.access_key | string | `"_AWS_ACCESS_KEY_"` | s3 access key |
+| agent.sidecar.config.blob_storage.s3.enable_100_continue | bool | `true` | enable AWS SDK adding the 'Expect: 100-Continue' header to PUT requests over 2MB of content. |
+| agent.sidecar.config.blob_storage.s3.enable_content_md5_validation | bool | `true` | enable the S3 client to add MD5 checksum to upload API calls. |
+| agent.sidecar.config.blob_storage.s3.enable_endpoint_discovery | bool | `false` | enable endpoint discovery |
+| agent.sidecar.config.blob_storage.s3.enable_endpoint_host_prefix | bool | `true` | enable prefixing request endpoint hosts with modeled information |
+| agent.sidecar.config.blob_storage.s3.enable_param_validation | bool | `true` | enables semantic parameter validation |
+| agent.sidecar.config.blob_storage.s3.enable_ssl | bool | `true` | enable ssl for s3 session |
+| agent.sidecar.config.blob_storage.s3.endpoint | string | `""` | s3 endpoint |
+| agent.sidecar.config.blob_storage.s3.force_path_style | bool | `false` | use path-style addressing |
+| agent.sidecar.config.blob_storage.s3.max_chunk_size | string | `"64mb"` | s3 download max chunk size |
+| agent.sidecar.config.blob_storage.s3.max_part_size | string | `"64mb"` | s3 multipart upload max part size |
+| agent.sidecar.config.blob_storage.s3.max_retries | int | `3` | maximum number of retries of s3 client |
+| agent.sidecar.config.blob_storage.s3.region | string | `""` | s3 region |
+| agent.sidecar.config.blob_storage.s3.secret_access_key | string | `"_AWS_SECRET_ACCESS_KEY_"` | s3 secret access key |
+| agent.sidecar.config.blob_storage.s3.token | string | `""` | s3 token |
+| agent.sidecar.config.blob_storage.s3.use_accelerate | bool | `false` | enable s3 accelerate feature |
+| agent.sidecar.config.blob_storage.s3.use_arn_region | bool | `false` | s3 service client to use the region specified in the ARN |
+| agent.sidecar.config.blob_storage.s3.use_dual_stack | bool | `false` | use dual stack |
+| agent.sidecar.config.blob_storage.storage_type | string | `"s3"` | storage type |
+| agent.sidecar.config.client.net.dialer.dual_stack_enabled | bool | `false` | HTTP client TCP dialer dual stack enabled |
+| agent.sidecar.config.client.net.dialer.keepalive | string | `"5m"` | HTTP client TCP dialer keep alive |
+| agent.sidecar.config.client.net.dialer.timeout | string | `"5s"` | HTTP client TCP dialer connect timeout |
+| agent.sidecar.config.client.net.dns.cache_enabled | bool | `true` | HTTP client TCP DNS cache enabled |
+| agent.sidecar.config.client.net.dns.cache_expiration | string | `"24h"` | |
+| agent.sidecar.config.client.net.dns.refresh_duration | string | `"1h"` | HTTP client TCP DNS cache expiration |
+| agent.sidecar.config.client.net.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
+| agent.sidecar.config.client.net.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
+| agent.sidecar.config.client.net.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
+| agent.sidecar.config.client.net.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
+| agent.sidecar.config.client.net.socket_option.tcp_cork | bool | `true` | server listen socket option for tcp_cork functionality |
+| agent.sidecar.config.client.net.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
+| agent.sidecar.config.client.net.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality |
+| agent.sidecar.config.client.net.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
+| agent.sidecar.config.client.net.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
+| agent.sidecar.config.client.net.tls.ca | string | `"/path/to/ca"` | TLS ca path |
+| agent.sidecar.config.client.net.tls.cert | string | `"/path/to/cert"` | TLS cert path |
+| agent.sidecar.config.client.net.tls.enabled | bool | `false` | TLS enabled |
+| agent.sidecar.config.client.net.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification |
+| agent.sidecar.config.client.net.tls.key | string | `"/path/to/key"` | TLS key path |
+| agent.sidecar.config.client.transport.backoff.backoff_factor | float | `1.1` | backoff backoff factor |
+| agent.sidecar.config.client.transport.backoff.backoff_time_limit | string | `"5s"` | backoff time limit |
+| agent.sidecar.config.client.transport.backoff.enable_error_log | bool | `true` | backoff error log enabled |
+| agent.sidecar.config.client.transport.backoff.initial_duration | string | `"5ms"` | backoff initial duration |
+| agent.sidecar.config.client.transport.backoff.jitter_limit | string | `"100ms"` | backoff jitter limit |
+| agent.sidecar.config.client.transport.backoff.maximum_duration | string | `"5s"` | backoff maximum duration |
+| agent.sidecar.config.client.transport.backoff.retry_count | int | `100` | backoff retry count |
+| agent.sidecar.config.client.transport.round_tripper.expect_continue_timeout | string | `"5s"` | expect continue timeout |
+| agent.sidecar.config.client.transport.round_tripper.force_attempt_http_2 | bool | `true` | force attempt HTTP2 |
+| agent.sidecar.config.client.transport.round_tripper.idle_conn_timeout | string | `"90s"` | timeout for idle connections |
+| agent.sidecar.config.client.transport.round_tripper.max_conns_per_host | int | `10` | maximum count of connections per host |
+| agent.sidecar.config.client.transport.round_tripper.max_idle_conns | int | `100` | maximum count of idle connections |
+| agent.sidecar.config.client.transport.round_tripper.max_idle_conns_per_host | int | `10` | maximum count of idle connections per host |
+| agent.sidecar.config.client.transport.round_tripper.max_response_header_size | int | `0` | maximum response header size |
+| agent.sidecar.config.client.transport.round_tripper.read_buffer_size | int | `0` | read buffer size |
+| agent.sidecar.config.client.transport.round_tripper.response_header_timeout | string | `"5s"` | timeout for response header |
+| agent.sidecar.config.client.transport.round_tripper.tls_handshake_timeout | string | `"5s"` | TLS handshake timeout |
+| agent.sidecar.config.client.transport.round_tripper.write_buffer_size | int | `0` | write buffer size |
+| agent.sidecar.config.compress.compress_algorithm | string | `"gzip"` | compression algorithm. must be `gob`, `gzip`, `lz4` or `zstd` |
+| agent.sidecar.config.compress.compression_level | int | `-1` | 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. |
+| agent.sidecar.config.filename | string | `"_MY_POD_NAME_"` | backup filename |
+| agent.sidecar.config.filename_suffix | string | `".tar.gz"` | suffix for backup filename |
+| agent.sidecar.config.post_stop_timeout | string | `"2m"` | timeout for observing file changes during post stop |
+| agent.sidecar.config.restore_backoff.backoff_factor | float | `1.2` | restore backoff factor |
+| agent.sidecar.config.restore_backoff.backoff_time_limit | string | `"30m"` | restore backoff time limit |
+| agent.sidecar.config.restore_backoff.enable_error_log | bool | `true` | restore backoff log enabled |
+| agent.sidecar.config.restore_backoff.initial_duration | string | `"1s"` | restore backoff initial duration |
+| agent.sidecar.config.restore_backoff.jitter_limit | string | `"10s"` | restore backoff jitter limit |
+| agent.sidecar.config.restore_backoff.maximum_duration | string | `"1m"` | restore backoff maximum duration |
+| agent.sidecar.config.restore_backoff.retry_count | int | `100` | restore backoff retry count |
+| agent.sidecar.config.restore_backoff_enabled | bool | `false` | restore backoff enabled |
+| agent.sidecar.config.watch_enabled | bool | `true` | auto backup triggered by file changes is enabled |
+| agent.sidecar.enabled | bool | `false` | sidecar enabled |
+| agent.sidecar.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}},{"name":"AWS_ACCESS_KEY","valueFrom":{"secretKeyRef":{"key":"access-key","name":"aws-secret"}}},{"name":"AWS_SECRET_ACCESS_KEY","valueFrom":{"secretKeyRef":{"key":"secret-access-key","name":"aws-secret"}}}]` | environment variables |
+| agent.sidecar.image.pullPolicy | string | `"Always"` | image pull policy |
+| agent.sidecar.image.repository | string | `"vdaas/vald-agent-sidecar"` | image repository |
+| agent.sidecar.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
+| agent.sidecar.initContainerEnabled | bool | `false` | sidecar on initContainer mode enabled. |
+| agent.sidecar.logging | object | `{}` | logging config (overrides defaults.logging) |
+| agent.sidecar.name | string | `"vald-agent-sidecar"` | name of agent sidecar |
+| agent.sidecar.observability | object | `{"otlp":{"attribute":{"service_name":"vald-agent-sidecar"}}}` | observability config (overrides defaults.observability) |
+| agent.sidecar.resources | object | `{"requests":{"cpu":"100m","memory":"100Mi"}}` | compute resources. |
+| agent.sidecar.server_config | object | `{"healths":{"liveness":{"enabled":false,"port":13000,"servicePort":13000},"readiness":{"enabled":false,"port":13001,"servicePort":13001},"startup":{"enabled":false,"port":13001}},"metrics":{"pprof":{"port":16060,"servicePort":16060}},"servers":{"grpc":{"enabled":false,"port":18081,"servicePort":18081},"rest":{"enabled":false,"port":18080,"servicePort":18080}}}` | server config (overrides defaults.server_config) |
+| agent.sidecar.service.annotations | object | `{}` | agent sidecar service annotations |
+| agent.sidecar.service.enabled | bool | `false` | agent sidecar service enabled |
+| agent.sidecar.service.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
+| agent.sidecar.service.labels | object | `{}` | agent sidecar service labels |
+| agent.sidecar.service.type | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
+| agent.sidecar.time_zone | string | `""` | Time zone |
+| agent.sidecar.version | string | `"v0.0.0"` | version of agent sidecar config |
+| agent.terminationGracePeriodSeconds | int | `120` | duration in seconds pod needs to terminate gracefully |
+| agent.time_zone | string | `""` | Time zone |
+| agent.tolerations | list | `[]` | tolerations |
+| agent.topologySpreadConstraints | list | `[]` | topology spread constraints for agent pods |
+| agent.version | string | `"v0.0.0"` | version of agent config |
+| agent.volumeMounts | list | `[]` | volume mounts |
+| agent.volumes | list | `[]` | volumes |
+| defaults.grpc.client.addrs | list | `[]` | gRPC client addresses |
+| defaults.grpc.client.backoff.backoff_factor | float | `1.1` | gRPC client backoff factor |
+| defaults.grpc.client.backoff.backoff_time_limit | string | `"5s"` | gRPC client backoff time limit |
+| defaults.grpc.client.backoff.enable_error_log | bool | `true` | gRPC client backoff log enabled |
+| defaults.grpc.client.backoff.initial_duration | string | `"5ms"` | gRPC client backoff initial duration |
+| defaults.grpc.client.backoff.jitter_limit | string | `"100ms"` | gRPC client backoff jitter limit |
+| defaults.grpc.client.backoff.maximum_duration | string | `"5s"` | gRPC client backoff maximum duration |
+| defaults.grpc.client.backoff.retry_count | int | `100` | gRPC client backoff retry count |
+| defaults.grpc.client.call_option.max_recv_msg_size | int | `0` | gRPC client call option max receive message size |
+| defaults.grpc.client.call_option.max_retry_rpc_buffer_size | int | `0` | gRPC client call option max retry rpc buffer size |
+| defaults.grpc.client.call_option.max_send_msg_size | int | `0` | gRPC client call option max send message size |
+| defaults.grpc.client.call_option.wait_for_ready | bool | `true` | gRPC client call option wait for ready |
+| defaults.grpc.client.circuit_breaker.closed_error_rate | float | `0.7` | gRPC client circuitbreaker closed error rate |
+| defaults.grpc.client.circuit_breaker.closed_refresh_timeout | string | `"10s"` | gRPC client circuitbreaker closed refresh timeout |
+| defaults.grpc.client.circuit_breaker.half_open_error_rate | float | `0.5` | gRPC client circuitbreaker half-open error rate |
+| defaults.grpc.client.circuit_breaker.min_samples | int | `1000` | gRPC client circuitbreaker minimum sampling count |
+| defaults.grpc.client.circuit_breaker.open_timeout | string | `"1s"` | gRPC client circuitbreaker open timeout |
+| defaults.grpc.client.connection_pool.enable_dns_resolver | bool | `true` | enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance |
+| defaults.grpc.client.connection_pool.enable_rebalance | bool | `true` | enables gRPC client connection pool rebalance |
+| defaults.grpc.client.connection_pool.old_conn_close_duration | string | `"2m"` | makes delay before gRPC client connection closing during connection pool rebalance |
+| defaults.grpc.client.connection_pool.rebalance_duration | string | `"30m"` | gRPC client connection pool rebalance duration |
+| defaults.grpc.client.connection_pool.size | int | `3` | gRPC client connection pool size |
+| defaults.grpc.client.dial_option.backoff_base_delay | string | `"1s"` | gRPC client dial option base backoff delay |
+| defaults.grpc.client.dial_option.backoff_jitter | float | `0.2` | gRPC client dial option base backoff delay |
+| defaults.grpc.client.dial_option.backoff_max_delay | string | `"120s"` | gRPC client dial option max backoff delay |
+| defaults.grpc.client.dial_option.backoff_multiplier | float | `1.6` | gRPC client dial option base backoff delay |
+| defaults.grpc.client.dial_option.enable_backoff | bool | `false` | gRPC client dial option backoff enabled |
+| defaults.grpc.client.dial_option.initial_connection_window_size | int | `2097152` | gRPC client dial option initial connection window size |
+| defaults.grpc.client.dial_option.initial_window_size | int | `1048576` | gRPC client dial option initial window size |
+| defaults.grpc.client.dial_option.insecure | bool | `true` | gRPC client dial option insecure enabled |
+| defaults.grpc.client.dial_option.interceptors | list | `[]` | gRPC client interceptors |
+| defaults.grpc.client.dial_option.keepalive.permit_without_stream | bool | `false` | gRPC client keep alive permit without stream |
+| defaults.grpc.client.dial_option.keepalive.time | string | `""` | gRPC client keep alive time |
+| defaults.grpc.client.dial_option.keepalive.timeout | string | `"30s"` | gRPC client keep alive timeout |
+| defaults.grpc.client.dial_option.max_msg_size | int | `0` | gRPC client dial option max message size |
+| defaults.grpc.client.dial_option.min_connection_timeout | string | `"20s"` | gRPC client dial option minimum connection timeout |
+| defaults.grpc.client.dial_option.net.dialer.dual_stack_enabled | bool | `true` | gRPC client TCP dialer dual stack enabled |
+| defaults.grpc.client.dial_option.net.dialer.keepalive | string | `""` | gRPC client TCP dialer keep alive |
+| defaults.grpc.client.dial_option.net.dialer.timeout | string | `""` | gRPC client TCP dialer timeout |
+| defaults.grpc.client.dial_option.net.dns.cache_enabled | bool | `true` | gRPC client TCP DNS cache enabled |
+| defaults.grpc.client.dial_option.net.dns.cache_expiration | string | `"1h"` | gRPC client TCP DNS cache expiration |
+| defaults.grpc.client.dial_option.net.dns.refresh_duration | string | `"30m"` | gRPC client TCP DNS cache refresh duration |
+| defaults.grpc.client.dial_option.net.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
+| defaults.grpc.client.dial_option.net.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
+| defaults.grpc.client.dial_option.net.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
+| defaults.grpc.client.dial_option.net.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
+| defaults.grpc.client.dial_option.net.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
+| defaults.grpc.client.dial_option.net.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
+| defaults.grpc.client.dial_option.net.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality |
+| defaults.grpc.client.dial_option.net.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
+| defaults.grpc.client.dial_option.net.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
+| defaults.grpc.client.dial_option.net.tls.ca | string | `"/path/to/ca"` | TLS ca path |
+| defaults.grpc.client.dial_option.net.tls.cert | string | `"/path/to/cert"` | TLS cert path |
+| defaults.grpc.client.dial_option.net.tls.enabled | bool | `false` | TLS enabled |
+| defaults.grpc.client.dial_option.net.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification |
+| defaults.grpc.client.dial_option.net.tls.key | string | `"/path/to/key"` | TLS key path |
+| defaults.grpc.client.dial_option.read_buffer_size | int | `0` | gRPC client dial option read buffer size |
+| defaults.grpc.client.dial_option.timeout | string | `""` | gRPC client dial option timeout |
+| defaults.grpc.client.dial_option.write_buffer_size | int | `0` | gRPC client dial option write buffer size |
+| defaults.grpc.client.health_check_duration | string | `"1s"` | gRPC client health check duration |
+| defaults.grpc.client.tls.ca | string | `"/path/to/ca"` | TLS ca path |
+| defaults.grpc.client.tls.cert | string | `"/path/to/cert"` | TLS cert path |
+| defaults.grpc.client.tls.enabled | bool | `false` | TLS enabled |
+| defaults.grpc.client.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification |
+| defaults.grpc.client.tls.key | string | `"/path/to/key"` | TLS key path |
+| defaults.image.tag | string | `"v1.7.6"` | docker image tag |
+| defaults.logging.format | string | `"raw"` | logging format. logging format must be `raw` or `json` |
+| defaults.logging.level | string | `"debug"` | logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`. |
+| defaults.logging.logger | string | `"glg"` | logger name. currently logger must be `glg` or `zap`. |
+| defaults.networkPolicy.custom | object | `{"egress":{},"ingress":{}}` | custom network policies that a user can add |
+| defaults.networkPolicy.custom.egress | object | `{}` | custom egress network policies that a user can add |
+| defaults.networkPolicy.custom.ingress | object | `{}` | custom ingress network policies that a user can add |
+| defaults.networkPolicy.enabled | bool | `false` | if network policy enabled |
+| defaults.observability.enabled | bool | `false` | observability features enabled |
+| defaults.observability.metrics.enable_cgo | bool | `true` | CGO metrics enabled |
+| defaults.observability.metrics.enable_goroutine | bool | `true` | goroutine metrics enabled |
+| defaults.observability.metrics.enable_memory | bool | `true` | memory metrics enabled |
+| defaults.observability.metrics.enable_version_info | bool | `true` | version info metrics enabled |
+| defaults.observability.metrics.version_info_labels | list | `["vald_version","server_name","git_commit","build_time","go_version","go_os","go_arch","ngt_version"]` | enabled label names of version info |
+| defaults.observability.otlp.attribute | object | `{"namespace":"_MY_POD_NAMESPACE_","node_name":"_MY_NODE_NAME_","pod_name":"_MY_POD_NAME_","service_name":"vald"}` | default resource attribute |
+| defaults.observability.otlp.attribute.namespace | string | `"_MY_POD_NAMESPACE_"` | namespace |
+| defaults.observability.otlp.attribute.node_name | string | `"_MY_NODE_NAME_"` | node name |
+| defaults.observability.otlp.attribute.pod_name | string | `"_MY_POD_NAME_"` | pod name |
+| defaults.observability.otlp.attribute.service_name | string | `"vald"` | service name |
+| defaults.observability.otlp.collector_endpoint | string | `""` | OpenTelemetry Collector endpoint |
+| defaults.observability.otlp.metrics_export_interval | string | `"1s"` | metrics export interval |
+| defaults.observability.otlp.metrics_export_timeout | string | `"1m"` | metrics export timeout |
+| defaults.observability.otlp.trace_batch_timeout | string | `"1s"` | trace batch timeout |
+| defaults.observability.otlp.trace_export_timeout | string | `"1m"` | trace export timeout |
+| defaults.observability.otlp.trace_max_export_batch_size | int | `1024` | trace maximum export batch size |
+| defaults.observability.otlp.trace_max_queue_size | int | `256` | trace maximum queue size |
+| defaults.observability.trace.enabled | bool | `false` | trace enabled |
+| defaults.server_config.full_shutdown_duration | string | `"600s"` | server full shutdown duration |
+| defaults.server_config.healths.liveness.enabled | bool | `true` | liveness server enabled |
+| defaults.server_config.healths.liveness.host | string | `"0.0.0.0"` | liveness server host |
+| defaults.server_config.healths.liveness.livenessProbe.failureThreshold | int | `2` | liveness probe failure threshold |
+| defaults.server_config.healths.liveness.livenessProbe.httpGet.path | string | `"/liveness"` | liveness probe path |
+| defaults.server_config.healths.liveness.livenessProbe.httpGet.port | string | `"liveness"` | liveness probe port |
+| defaults.server_config.healths.liveness.livenessProbe.httpGet.scheme | string | `"HTTP"` | liveness probe scheme |
+| defaults.server_config.healths.liveness.livenessProbe.initialDelaySeconds | int | `5` | liveness probe initial delay seconds |
+| defaults.server_config.healths.liveness.livenessProbe.periodSeconds | int | `3` | liveness probe period seconds |
+| defaults.server_config.healths.liveness.livenessProbe.successThreshold | int | `1` | liveness probe success threshold |
+| defaults.server_config.healths.liveness.livenessProbe.timeoutSeconds | int | `2` | liveness probe timeout seconds |
+| defaults.server_config.healths.liveness.port | int | `3000` | liveness server port |
+| defaults.server_config.healths.liveness.server.http.handler_timeout | string | `""` | liveness server handler timeout |
+| defaults.server_config.healths.liveness.server.http.idle_timeout | string | `""` | liveness server idle timeout |
+| defaults.server_config.healths.liveness.server.http.read_header_timeout | string | `""` | liveness server read header timeout |
+| defaults.server_config.healths.liveness.server.http.read_timeout | string | `""` | liveness server read timeout |
+| defaults.server_config.healths.liveness.server.http.shutdown_duration | string | `"5s"` | liveness server shutdown duration |
+| defaults.server_config.healths.liveness.server.http.write_timeout | string | `""` | liveness server write timeout |
+| defaults.server_config.healths.liveness.server.mode | string | `""` | liveness server mode |
+| defaults.server_config.healths.liveness.server.network | string | `"tcp"` | mysql network |
+| defaults.server_config.healths.liveness.server.probe_wait_time | string | `"3s"` | liveness server probe wait time |
+| defaults.server_config.healths.liveness.server.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
+| defaults.server_config.healths.liveness.server.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
+| defaults.server_config.healths.liveness.server.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
+| defaults.server_config.healths.liveness.server.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
+| defaults.server_config.healths.liveness.server.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
+| defaults.server_config.healths.liveness.server.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
+| defaults.server_config.healths.liveness.server.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality |
+| defaults.server_config.healths.liveness.server.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality |
+| defaults.server_config.healths.liveness.server.socket_option.tcp_quick_ack | bool | `true` | server listen socket option for tcp_quick_ack functionality |
+| defaults.server_config.healths.liveness.server.socket_path | string | `""` | mysql socket_path |
+| defaults.server_config.healths.liveness.servicePort | int | `3000` | liveness server service port |
+| defaults.server_config.healths.readiness.enabled | bool | `true` | readiness server enabled |
+| defaults.server_config.healths.readiness.host | string | `"0.0.0.0"` | readiness server host |
+| defaults.server_config.healths.readiness.port | int | `3001` | readiness server port |
+| defaults.server_config.healths.readiness.readinessProbe.failureThreshold | int | `2` | readiness probe failure threshold |
+| defaults.server_config.healths.readiness.readinessProbe.httpGet.path | string | `"/readiness"` | readiness probe path |
+| defaults.server_config.healths.readiness.readinessProbe.httpGet.port | string | `"readiness"` | readiness probe port |
+| defaults.server_config.healths.readiness.readinessProbe.httpGet.scheme | string | `"HTTP"` | readiness probe scheme |
+| defaults.server_config.healths.readiness.readinessProbe.initialDelaySeconds | int | `10` | readiness probe initial delay seconds |
+| defaults.server_config.healths.readiness.readinessProbe.periodSeconds | int | `3` | readiness probe period seconds |
+| defaults.server_config.healths.readiness.readinessProbe.successThreshold | int | `1` | readiness probe success threshold |
+| defaults.server_config.healths.readiness.readinessProbe.timeoutSeconds | int | `2` | readiness probe timeout seconds |
+| defaults.server_config.healths.readiness.server.http.handler_timeout | string | `""` | readiness server handler timeout |
+| defaults.server_config.healths.readiness.server.http.idle_timeout | string | `""` | readiness server idle timeout |
+| defaults.server_config.healths.readiness.server.http.read_header_timeout | string | `""` | readiness server read header timeout |
+| defaults.server_config.healths.readiness.server.http.read_timeout | string | `""` | readiness server read timeout |
+| defaults.server_config.healths.readiness.server.http.shutdown_duration | string | `"0s"` | readiness server shutdown duration |
+| defaults.server_config.healths.readiness.server.http.write_timeout | string | `""` | readiness server write timeout |
+| defaults.server_config.healths.readiness.server.mode | string | `""` | readiness server mode |
+| defaults.server_config.healths.readiness.server.network | string | `"tcp"` | mysql network |
+| defaults.server_config.healths.readiness.server.probe_wait_time | string | `"3s"` | readiness server probe wait time |
+| defaults.server_config.healths.readiness.server.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
+| defaults.server_config.healths.readiness.server.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
+| defaults.server_config.healths.readiness.server.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
+| defaults.server_config.healths.readiness.server.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
+| defaults.server_config.healths.readiness.server.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
+| defaults.server_config.healths.readiness.server.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
+| defaults.server_config.healths.readiness.server.socket_option.tcp_fast_open | bool | `true` | |
+| defaults.server_config.healths.readiness.server.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality |
+| defaults.server_config.healths.readiness.server.socket_option.tcp_quick_ack | bool | `true` | server listen socket option for tcp_quick_ack functionality |
+| defaults.server_config.healths.readiness.server.socket_path | string | `""` | mysql socket_path |
+| defaults.server_config.healths.readiness.servicePort | int | `3001` | readiness server service port |
+| defaults.server_config.healths.startup.enabled | bool | `true` | startup server enabled |
+| defaults.server_config.healths.startup.port | int | `3000` | startup server port |
+| defaults.server_config.healths.startup.startupProbe.failureThreshold | int | `30` | startup probe failure threshold |
+| defaults.server_config.healths.startup.startupProbe.httpGet.path | string | `"/liveness"` | startup probe path |
+| defaults.server_config.healths.startup.startupProbe.httpGet.port | string | `"liveness"` | startup probe port |
+| defaults.server_config.healths.startup.startupProbe.httpGet.scheme | string | `"HTTP"` | startup probe scheme |
+| defaults.server_config.healths.startup.startupProbe.initialDelaySeconds | int | `5` | startup probe initial delay seconds |
+| defaults.server_config.healths.startup.startupProbe.periodSeconds | int | `5` | startup probe period seconds |
+| defaults.server_config.healths.startup.startupProbe.successThreshold | int | `1` | startup probe success threshold |
+| defaults.server_config.healths.startup.startupProbe.timeoutSeconds | int | `2` | startup probe timeout seconds |
+| defaults.server_config.metrics.pprof.enabled | bool | `false` | pprof server enabled |
+| defaults.server_config.metrics.pprof.host | string | `"0.0.0.0"` | pprof server host |
+| defaults.server_config.metrics.pprof.port | int | `6060` | pprof server port |
+| defaults.server_config.metrics.pprof.server.http.handler_timeout | string | `"5s"` | pprof server handler timeout |
+| defaults.server_config.metrics.pprof.server.http.idle_timeout | string | `"2s"` | pprof server idle timeout |
+| defaults.server_config.metrics.pprof.server.http.read_header_timeout | string | `"1s"` | pprof server read header timeout |
+| defaults.server_config.metrics.pprof.server.http.read_timeout | string | `"1s"` | pprof server read timeout |
+| defaults.server_config.metrics.pprof.server.http.shutdown_duration | string | `"5s"` | pprof server shutdown duration |
+| defaults.server_config.metrics.pprof.server.http.write_timeout | string | `"1m"` | pprof server write timeout |
+| defaults.server_config.metrics.pprof.server.mode | string | `"REST"` | pprof server mode |
+| defaults.server_config.metrics.pprof.server.network | string | `"tcp"` | mysql network |
+| defaults.server_config.metrics.pprof.server.probe_wait_time | string | `"3s"` | pprof server probe wait time |
+| defaults.server_config.metrics.pprof.server.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
+| defaults.server_config.metrics.pprof.server.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
+| defaults.server_config.metrics.pprof.server.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
+| defaults.server_config.metrics.pprof.server.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
+| defaults.server_config.metrics.pprof.server.socket_option.tcp_cork | bool | `true` | server listen socket option for tcp_cork functionality |
+| defaults.server_config.metrics.pprof.server.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
+| defaults.server_config.metrics.pprof.server.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality |
+| defaults.server_config.metrics.pprof.server.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
+| defaults.server_config.metrics.pprof.server.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
+| defaults.server_config.metrics.pprof.server.socket_path | string | `""` | mysql socket_path |
+| defaults.server_config.metrics.pprof.servicePort | int | `6060` | pprof server service port |
+| defaults.server_config.servers.grpc.enabled | bool | `true` | gRPC server enabled |
+| defaults.server_config.servers.grpc.host | string | `"0.0.0.0"` | gRPC server host |
+| defaults.server_config.servers.grpc.port | int | `8081` | gRPC server port |
+| defaults.server_config.servers.grpc.server.grpc.bidirectional_stream_concurrency | int | `20` | gRPC server bidirectional stream concurrency |
+| defaults.server_config.servers.grpc.server.grpc.connection_timeout | string | `""` | gRPC server connection timeout |
+| defaults.server_config.servers.grpc.server.grpc.enable_reflection | bool | `true` | gRPC server reflection option |
+| defaults.server_config.servers.grpc.server.grpc.header_table_size | int | `0` | gRPC server header table size |
+| defaults.server_config.servers.grpc.server.grpc.initial_conn_window_size | int | `2097152` | gRPC server initial connection window size |
+| defaults.server_config.servers.grpc.server.grpc.initial_window_size | int | `1048576` | gRPC server initial window size |
+| defaults.server_config.servers.grpc.server.grpc.interceptors | list | `["RecoverInterceptor"]` | gRPC server interceptors |
+| defaults.server_config.servers.grpc.server.grpc.keepalive.max_conn_age | string | `""` | gRPC server keep alive max connection age |
+| defaults.server_config.servers.grpc.server.grpc.keepalive.max_conn_age_grace | string | `""` | gRPC server keep alive max connection age grace |
+| defaults.server_config.servers.grpc.server.grpc.keepalive.max_conn_idle | string | `""` | gRPC server keep alive max connection idle |
+| defaults.server_config.servers.grpc.server.grpc.keepalive.min_time | string | `"10m"` | gRPC server keep alive min_time |
+| defaults.server_config.servers.grpc.server.grpc.keepalive.permit_without_stream | bool | `false` | gRPC server keep alive permit_without_stream |
+| defaults.server_config.servers.grpc.server.grpc.keepalive.time | string | `"3h"` | gRPC server keep alive time |
+| defaults.server_config.servers.grpc.server.grpc.keepalive.timeout | string | `"60s"` | gRPC server keep alive timeout |
+| defaults.server_config.servers.grpc.server.grpc.max_header_list_size | int | `0` | gRPC server max header list size |
+| defaults.server_config.servers.grpc.server.grpc.max_receive_message_size | int | `0` | gRPC server max receive message size |
+| defaults.server_config.servers.grpc.server.grpc.max_send_message_size | int | `0` | gRPC server max send message size |
+| defaults.server_config.servers.grpc.server.grpc.read_buffer_size | int | `0` | gRPC server read buffer size |
+| defaults.server_config.servers.grpc.server.grpc.write_buffer_size | int | `0` | gRPC server write buffer size |
+| defaults.server_config.servers.grpc.server.mode | string | `"GRPC"` | gRPC server server mode |
+| defaults.server_config.servers.grpc.server.network | string | `"tcp"` | mysql network |
+| defaults.server_config.servers.grpc.server.probe_wait_time | string | `"3s"` | gRPC server probe wait time |
+| defaults.server_config.servers.grpc.server.restart | bool | `true` | gRPC server restart |
+| defaults.server_config.servers.grpc.server.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
+| defaults.server_config.servers.grpc.server.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
+| defaults.server_config.servers.grpc.server.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
+| defaults.server_config.servers.grpc.server.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
+| defaults.server_config.servers.grpc.server.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
+| defaults.server_config.servers.grpc.server.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
+| defaults.server_config.servers.grpc.server.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality |
+| defaults.server_config.servers.grpc.server.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
+| defaults.server_config.servers.grpc.server.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
+| defaults.server_config.servers.grpc.server.socket_path | string | `""` | mysql socket_path |
+| defaults.server_config.servers.grpc.servicePort | int | `8081` | gRPC server service port |
+| defaults.server_config.servers.rest.enabled | bool | `false` | REST server enabled |
+| defaults.server_config.servers.rest.host | string | `"0.0.0.0"` | REST server host |
+| defaults.server_config.servers.rest.port | int | `8080` | REST server port |
+| defaults.server_config.servers.rest.server.http.handler_timeout | string | `"5s"` | REST server handler timeout |
+| defaults.server_config.servers.rest.server.http.idle_timeout | string | `"2s"` | REST server idle timeout |
+| defaults.server_config.servers.rest.server.http.read_header_timeout | string | `"1s"` | REST server read header timeout |
+| defaults.server_config.servers.rest.server.http.read_timeout | string | `"1s"` | REST server read timeout |
+| defaults.server_config.servers.rest.server.http.shutdown_duration | string | `"5s"` | REST server shutdown duration |
+| defaults.server_config.servers.rest.server.http.write_timeout | string | `"1s"` | REST server write timeout |
+| defaults.server_config.servers.rest.server.mode | string | `"REST"` | REST server server mode |
+| defaults.server_config.servers.rest.server.network | string | `"tcp"` | mysql network |
+| defaults.server_config.servers.rest.server.probe_wait_time | string | `"3s"` | REST server probe wait time |
+| defaults.server_config.servers.rest.server.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
+| defaults.server_config.servers.rest.server.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
+| defaults.server_config.servers.rest.server.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
+| defaults.server_config.servers.rest.server.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
+| defaults.server_config.servers.rest.server.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
+| defaults.server_config.servers.rest.server.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
+| defaults.server_config.servers.rest.server.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality |
+| defaults.server_config.servers.rest.server.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
+| defaults.server_config.servers.rest.server.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
+| defaults.server_config.servers.rest.server.socket_path | string | `""` | mysql socket_path |
+| defaults.server_config.servers.rest.servicePort | int | `8080` | REST server service port |
+| defaults.server_config.tls.ca | string | `"/path/to/ca"` | TLS ca path |
+| defaults.server_config.tls.cert | string | `"/path/to/cert"` | TLS cert path |
+| defaults.server_config.tls.enabled | bool | `false` | TLS enabled |
+| defaults.server_config.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification |
+| defaults.server_config.tls.key | string | `"/path/to/key"` | TLS key path |
+| defaults.time_zone | string | `"UTC"` | Time zone |
+| discoverer.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | node affinity preferred scheduling terms |
+| discoverer.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms | list | `[]` | node affinity required node selectors |
+| discoverer.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity preferred scheduling terms |
+| discoverer.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity required scheduling terms |
+| discoverer.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[{"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"app","operator":"In","values":["vald-discoverer"]}]},"topologyKey":"kubernetes.io/hostname"},"weight":100}]` | pod anti-affinity preferred scheduling terms |
+| discoverer.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity required scheduling terms |
+| discoverer.annotations | object | `{}` | deployment annotations |
+| discoverer.clusterRole.enabled | bool | `true` | creates clusterRole resource |
+| discoverer.clusterRole.name | string | `"discoverer"` | name of clusterRole |
+| discoverer.clusterRoleBinding.enabled | bool | `true` | creates clusterRoleBinding resource |
+| discoverer.clusterRoleBinding.name | string | `"discoverer"` | name of clusterRoleBinding |
+| discoverer.discoverer.discovery_duration | string | `"3s"` | duration to discovery |
+| discoverer.discoverer.name | string | `""` | name to discovery |
+| discoverer.discoverer.namespace | string | `"_MY_POD_NAMESPACE_"` | namespace to discovery |
+| discoverer.discoverer.net.dialer.dual_stack_enabled | bool | `false` | TCP dialer dual stack enabled |
+| discoverer.discoverer.net.dialer.keepalive | string | `"10m"` | TCP dialer keep alive |
+| discoverer.discoverer.net.dialer.timeout | string | `"30s"` | TCP dialer timeout |
+| discoverer.discoverer.net.dns.cache_enabled | bool | `true` | TCP DNS cache enabled |
+| discoverer.discoverer.net.dns.cache_expiration | string | `"24h"` | TCP DNS cache expiration |
+| discoverer.discoverer.net.dns.refresh_duration | string | `"5m"` | TCP DNS cache refresh duration |
+| discoverer.discoverer.net.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality |
+| discoverer.discoverer.net.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality |
+| discoverer.discoverer.net.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality |
+| discoverer.discoverer.net.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality |
+| discoverer.discoverer.net.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality |
+| discoverer.discoverer.net.socket_option.tcp_defer_accept | bool | `false` | server listen socket option for tcp_defer_accept functionality |
+| discoverer.discoverer.net.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality |
+| discoverer.discoverer.net.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality |
+| discoverer.discoverer.net.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality |
+| discoverer.discoverer.net.tls.ca | string | `"/path/to/ca"` | TLS ca path |
+| discoverer.discoverer.net.tls.cert | string | `"/path/to/cert"` | TLS cert path |
+| discoverer.discoverer.net.tls.enabled | bool | `false` | TLS enabled |
+| discoverer.discoverer.net.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification |
+| discoverer.discoverer.net.tls.key | string | `"/path/to/key"` | TLS key path |
+| discoverer.discoverer.selectors | object | `{"node":{"fields":{},"labels":{}},"node_metrics":{"fields":{},"labels":{}},"pod":{"fields":{},"labels":{}},"pod_metrics":{"fields":{},"labels":{}}}` | k8s resource selectors |
+| discoverer.discoverer.selectors.node | object | `{"fields":{},"labels":{}}` | k8s resource selectors for node discovery |
+| discoverer.discoverer.selectors.node.fields | object | `{}` | k8s field selectors for node discovery |
+| discoverer.discoverer.selectors.node.labels | object | `{}` | k8s label selectors for node discovery |
+| discoverer.discoverer.selectors.node_metrics | object | `{"fields":{},"labels":{}}` | k8s resource selectors for node_metrics discovery |
+| discoverer.discoverer.selectors.node_metrics.fields | object | `{}` | k8s field selectors for node_metrics discovery |
+| discoverer.discoverer.selectors.node_metrics.labels | object | `{}` | k8s label selectors for node_metrics discovery |
+| discoverer.discoverer.selectors.pod | object | `{"fields":{},"labels":{}}` | k8s resource selectors for pod discovery |
+| discoverer.discoverer.selectors.pod.fields | object | `{}` | k8s field selectors for pod discovery |
+| discoverer.discoverer.selectors.pod.labels | object | `{}` | k8s label selectors for pod discovery |
+| discoverer.discoverer.selectors.pod_metrics | object | `{"fields":{},"labels":{}}` | k8s resource selectors for pod_metrics discovery |
+| discoverer.discoverer.selectors.pod_metrics.fields | object | `{}` | k8s field selectors for pod_metrics discovery |
+| discoverer.discoverer.selectors.pod_metrics.labels | object | `{}` | k8s label selectors for pod_metrics discovery |
+| discoverer.enabled | bool | `true` | discoverer enabled |
+| discoverer.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables |
+| discoverer.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
+| discoverer.hpa.enabled | bool | `false` | HPA enabled |
+| discoverer.hpa.targetCPUUtilizationPercentage | int | `80` | HPA CPU utilization percentage |
+| discoverer.image.pullPolicy | string | `"Always"` | image pull policy |
+| discoverer.image.repository | string | `"vdaas/vald-discoverer-k8s"` | image repository |
+| discoverer.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
+| discoverer.initContainers | list | `[]` | init containers |
+| discoverer.internalTrafficPolicy | string | `""` | internal traffic policy : Cluster or Local |
+| discoverer.kind | string | `"Deployment"` | deployment kind: Deployment or DaemonSet |
+| discoverer.logging | object | `{}` | logging config (overrides defaults.logging) |
+| discoverer.maxReplicas | int | `2` | maximum number of replicas. if HPA is disabled, this value will be ignored. |
+| discoverer.maxUnavailable | string | `"50%"` | maximum number of unavailable replicas |
+| discoverer.minReplicas | int | `1` | minimum number of replicas. if HPA is disabled, the replicas will be set to this value |
+| discoverer.name | string | `"vald-discoverer"` | name of discoverer deployment |
+| discoverer.nodeName | string | `""` | node name |
+| discoverer.nodeSelector | object | `{}` | node selector |
+| discoverer.observability | object | `{"otlp":{"attribute":{"service_name":"vald-discoverer"}}}` | observability config (overrides defaults.observability) |
+| discoverer.podAnnotations | object | `{}` | pod annotations |
+| discoverer.podPriority.enabled | bool | `true` | discoverer pod PriorityClass enabled |
+| discoverer.podPriority.value | int | `1000000` | discoverer pod PriorityClass value |
+| discoverer.podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
+| discoverer.progressDeadlineSeconds | int | `600` | progress deadline seconds |
+| discoverer.resources | object | `{"limits":{"cpu":"600m","memory":"200Mi"},"requests":{"cpu":"200m","memory":"65Mi"}}` | compute resources |
+| discoverer.revisionHistoryLimit | int | `2` | number of old history to retain to allow rollback |
+| discoverer.rollingUpdate.maxSurge | string | `"25%"` | max surge of rolling update |
+| discoverer.rollingUpdate.maxUnavailable | string | `"25%"` | max unavailable of rolling update |
+| discoverer.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
+| discoverer.server_config | object | `{"healths":{"liveness":{},"readiness":{},"startup":{}},"metrics":{"pprof":{}},"servers":{"grpc":{},"rest":{}}}` | server config (overrides defaults.server_config) |
+| discoverer.service.annotations | object | `{}` | service annotations |
+| discoverer.service.labels | object | `{}` | service labels |
+| discoverer.serviceAccount.enabled | bool | `true` | creates service account |
+| discoverer.serviceAccount.name | string | `"vald"` | name of service account |
+| discoverer.serviceType | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
+| discoverer.terminationGracePeriodSeconds | int | `30` | duration in seconds pod needs to terminate gracefully |
+| discoverer.time_zone | string | `""` | Time zone |
+| discoverer.tolerations | list | `[]` | tolerations |
+| discoverer.topologySpreadConstraints | list | `[]` | topology spread constraints of discoverer pods |
+| discoverer.version | string | `"v0.0.0"` | version of discoverer config |
+| discoverer.volumeMounts | list | `[]` | volume mounts |
+| discoverer.volumes | list | `[]` | volumes |
+| gateway.filter.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | node affinity preferred scheduling terms |
+| gateway.filter.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms | list | `[]` | node affinity required node selectors |
+| gateway.filter.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity preferred scheduling terms |
+| gateway.filter.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity required scheduling terms |
+| gateway.filter.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[{"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"app","operator":"In","values":["vald-filter-gateway"]}]},"topologyKey":"kubernetes.io/hostname"},"weight":100}]` | pod anti-affinity preferred scheduling terms |
+| gateway.filter.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity required scheduling terms |
+| gateway.filter.annotations | object | `{}` | deployment annotations |
+| gateway.filter.enabled | bool | `false` | gateway enabled |
+| gateway.filter.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables |
+| gateway.filter.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
+| gateway.filter.gateway_config.egress_filter | object | `{"client":{},"distance_filters":[],"object_filters":[]}` | gRPC client config for egress filter |
+| gateway.filter.gateway_config.egress_filter.client | object | `{}` | gRPC client config for egress filter (overrides defaults.grpc.client) |
+| gateway.filter.gateway_config.egress_filter.distance_filters | list | `[]` | distance egress vector filter targets |
+| gateway.filter.gateway_config.egress_filter.object_filters | list | `[]` | object egress vector filter targets |
+| gateway.filter.gateway_config.gateway_client | object | `{}` | gRPC client for next gateway (overrides defaults.grpc.client) |
+| gateway.filter.gateway_config.ingress_filter | object | `{"client":{},"insert_filters":[],"search_filters":[],"update_filters":[],"upsert_filters":[],"vectorizer":""}` | gRPC client config for ingress filter |
+| gateway.filter.gateway_config.ingress_filter.client | object | `{}` | gRPC client for ingress filter (overrides defaults.grpc.client) |
+| gateway.filter.gateway_config.ingress_filter.insert_filters | list | `[]` | insert ingress vector filter targets |
+| gateway.filter.gateway_config.ingress_filter.search_filters | list | `[]` | search ingress vector filter targets |
+| gateway.filter.gateway_config.ingress_filter.update_filters | list | `[]` | update ingress vector filter targets |
+| gateway.filter.gateway_config.ingress_filter.upsert_filters | list | `[]` | upsert ingress vector filter targets |
+| gateway.filter.gateway_config.ingress_filter.vectorizer | string | `""` | object ingress vectorize filter targets |
+| gateway.filter.hpa.enabled | bool | `true` | HPA enabled |
+| gateway.filter.hpa.targetCPUUtilizationPercentage | int | `80` | HPA CPU utilization percentage |
+| gateway.filter.image.pullPolicy | string | `"Always"` | image pull policy |
+| gateway.filter.image.repository | string | `"vdaas/vald-filter-gateway"` | image repository |
+| gateway.filter.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
+| gateway.filter.ingress.annotations | object | `{"nginx.ingress.kubernetes.io/grpc-backend":"true"}` | annotations for ingress |
+| gateway.filter.ingress.defaultBackend | object | `{"enabled":true}` | defaultBackend config |
+| gateway.filter.ingress.defaultBackend.enabled | bool | `true` | gateway ingress defaultBackend enabled |
+| gateway.filter.ingress.enabled | bool | `false` | gateway ingress enabled |
+| gateway.filter.ingress.host | string | `"filter.gateway.vald.vdaas.org"` | ingress hostname |
+| gateway.filter.ingress.pathType | string | `"ImplementationSpecific"` | gateway ingress pathType |
+| gateway.filter.ingress.servicePort | string | `"grpc"` | service port to be exposed by ingress |
+| gateway.filter.initContainers | list | `[{"image":"busybox:stable","name":"wait-for-gateway-lb","sleepDuration":2,"target":"gateway-lb","type":"wait-for"}]` | init containers |
+| gateway.filter.internalTrafficPolicy | string | `""` | internal traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
+| gateway.filter.kind | string | `"Deployment"` | deployment kind: Deployment or DaemonSet |
+| gateway.filter.logging | object | `{}` | logging config (overrides defaults.logging) |
+| gateway.filter.maxReplicas | int | `9` | maximum number of replicas. if HPA is disabled, this value will be ignored. |
+| gateway.filter.maxUnavailable | string | `"50%"` | maximum number of unavailable replicas |
+| gateway.filter.minReplicas | int | `3` | minimum number of replicas. if HPA is disabled, the replicas will be set to this value |
+| gateway.filter.name | string | `"vald-filter-gateway"` | name of filter gateway deployment |
+| gateway.filter.nodeName | string | `""` | node name |
+| gateway.filter.nodeSelector | object | `{}` | node selector |
+| gateway.filter.observability | object | `{"otlp":{"attribute":{"service_name":"vald-filter-gateway"}}}` | observability config (overrides defaults.observability) |
+| gateway.filter.podAnnotations | object | `{}` | pod annotations |
+| gateway.filter.podPriority.enabled | bool | `true` | gateway pod PriorityClass enabled |
+| gateway.filter.podPriority.value | int | `1000000` | gateway pod PriorityClass value |
+| gateway.filter.podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
+| gateway.filter.progressDeadlineSeconds | int | `600` | progress deadline seconds |
+| gateway.filter.resources | object | `{"limits":{"cpu":"2000m","memory":"700Mi"},"requests":{"cpu":"200m","memory":"150Mi"}}` | compute resources |
+| gateway.filter.revisionHistoryLimit | int | `2` | number of old history to retain to allow rollback |
+| gateway.filter.rollingUpdate.maxSurge | string | `"25%"` | max surge of rolling update |
+| gateway.filter.rollingUpdate.maxUnavailable | string | `"25%"` | max unavailable of rolling update |
+| gateway.filter.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
+| gateway.filter.server_config | object | `{"healths":{"liveness":{},"readiness":{},"startup":{}},"metrics":{"pprof":{}},"servers":{"grpc":{},"rest":{}}}` | server config (overrides defaults.server_config) |
+| gateway.filter.service.annotations | object | `{}` | service annotations |
+| gateway.filter.service.labels | object | `{}` | service labels |
+| gateway.filter.serviceType | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
+| gateway.filter.terminationGracePeriodSeconds | int | `30` | duration in seconds pod needs to terminate gracefully |
+| gateway.filter.time_zone | string | `""` | Time zone |
+| gateway.filter.tolerations | list | `[]` | tolerations |
+| gateway.filter.topologySpreadConstraints | list | `[]` | topology spread constraints of gateway pods |
+| gateway.filter.version | string | `"v0.0.0"` | version of gateway config |
+| gateway.filter.volumeMounts | list | `[]` | volume mounts |
+| gateway.filter.volumes | list | `[]` | volumes |
+| gateway.lb.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | node affinity preferred scheduling terms |
+| gateway.lb.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms | list | `[]` | node affinity required node selectors |
+| gateway.lb.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity preferred scheduling terms |
+| gateway.lb.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity required scheduling terms |
+| gateway.lb.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[{"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"app","operator":"In","values":["vald-lb-gateway"]}]},"topologyKey":"kubernetes.io/hostname"},"weight":100}]` | pod anti-affinity preferred scheduling terms |
+| gateway.lb.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity required scheduling terms |
+| gateway.lb.annotations | object | `{}` | deployment annotations |
+| gateway.lb.enabled | bool | `true` | gateway enabled |
+| gateway.lb.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables |
+| gateway.lb.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
+| gateway.lb.gateway_config.agent_namespace | string | `"_MY_POD_NAMESPACE_"` | agent namespace |
+| gateway.lb.gateway_config.discoverer.agent_client_options | object | `{}` | gRPC client options for agents (overrides defaults.grpc.client) |
+| gateway.lb.gateway_config.discoverer.client | object | `{}` | gRPC client for discoverer (overrides defaults.grpc.client) |
+| gateway.lb.gateway_config.discoverer.duration | string | `"200ms"` | |
+| gateway.lb.gateway_config.index_replica | int | `3` | number of index replica |
+| gateway.lb.gateway_config.multi_operation_concurrency | int | `20` | number of concurrency of multiXXX api's operation |
+| gateway.lb.gateway_config.node_name | string | `""` | node name |
+| gateway.lb.hpa.enabled | bool | `true` | HPA enabled |
+| gateway.lb.hpa.targetCPUUtilizationPercentage | int | `80` | HPA CPU utilization percentage |
+| gateway.lb.image.pullPolicy | string | `"Always"` | image pull policy |
+| gateway.lb.image.repository | string | `"vdaas/vald-lb-gateway"` | image repository |
+| gateway.lb.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
+| gateway.lb.ingress.annotations | object | `{"nginx.ingress.kubernetes.io/grpc-backend":"true"}` | annotations for ingress |
+| gateway.lb.ingress.defaultBackend | object | `{"enabled":true}` | defaultBackend config |
+| gateway.lb.ingress.defaultBackend.enabled | bool | `true` | gateway ingress defaultBackend enabled |
+| gateway.lb.ingress.enabled | bool | `false` | gateway ingress enabled |
+| gateway.lb.ingress.host | string | `"lb.gateway.vald.vdaas.org"` | ingress hostname |
+| gateway.lb.ingress.pathType | string | `"ImplementationSpecific"` | gateway ingress pathType |
+| gateway.lb.ingress.servicePort | string | `"grpc"` | service port to be exposed by ingress |
+| gateway.lb.initContainers | list | `[{"image":"busybox:stable","name":"wait-for-discoverer","sleepDuration":2,"target":"discoverer","type":"wait-for"},{"image":"busybox:stable","name":"wait-for-agent","sleepDuration":2,"target":"agent","type":"wait-for"}]` | init containers |
+| gateway.lb.internalTrafficPolicy | string | `""` | internal traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
+| gateway.lb.kind | string | `"Deployment"` | deployment kind: Deployment or DaemonSet |
+| gateway.lb.logging | object | `{}` | logging config (overrides defaults.logging) |
+| gateway.lb.maxReplicas | int | `9` | maximum number of replicas. if HPA is disabled, this value will be ignored. |
+| gateway.lb.maxUnavailable | string | `"50%"` | maximum number of unavailable replicas |
+| gateway.lb.minReplicas | int | `3` | minimum number of replicas. if HPA is disabled, the replicas will be set to this value |
+| gateway.lb.name | string | `"vald-lb-gateway"` | name of gateway deployment |
+| gateway.lb.nodeName | string | `""` | node name |
+| gateway.lb.nodeSelector | object | `{}` | node selector |
+| gateway.lb.observability | object | `{"otlp":{"attribute":{"service_name":"vald-lb-gateway"}}}` | observability config (overrides defaults.observability) |
+| gateway.lb.podAnnotations | object | `{}` | pod annotations |
+| gateway.lb.podPriority.enabled | bool | `true` | gateway pod PriorityClass enabled |
+| gateway.lb.podPriority.value | int | `1000000` | gateway pod PriorityClass value |
+| gateway.lb.podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
+| gateway.lb.progressDeadlineSeconds | int | `600` | progress deadline seconds |
+| gateway.lb.resources | object | `{"limits":{"cpu":"2000m","memory":"700Mi"},"requests":{"cpu":"200m","memory":"150Mi"}}` | compute resources |
+| gateway.lb.revisionHistoryLimit | int | `2` | number of old history to retain to allow rollback |
+| gateway.lb.rollingUpdate.maxSurge | string | `"25%"` | max surge of rolling update |
+| gateway.lb.rollingUpdate.maxUnavailable | string | `"25%"` | max unavailable of rolling update |
+| gateway.lb.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
+| gateway.lb.server_config | object | `{"healths":{"liveness":{},"readiness":{},"startup":{}},"metrics":{"pprof":{}},"servers":{"grpc":{},"rest":{}}}` | server config (overrides defaults.server_config) |
+| gateway.lb.service.annotations | object | `{}` | service annotations |
+| gateway.lb.service.labels | object | `{}` | service labels |
+| gateway.lb.serviceType | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
+| gateway.lb.terminationGracePeriodSeconds | int | `30` | duration in seconds pod needs to terminate gracefully |
+| gateway.lb.time_zone | string | `""` | Time zone |
+| gateway.lb.tolerations | list | `[]` | tolerations |
+| gateway.lb.topologySpreadConstraints | list | `[]` | topology spread constraints of gateway pods |
+| gateway.lb.version | string | `"v0.0.0"` | version of gateway config |
+| gateway.lb.volumeMounts | list | `[]` | volume mounts |
+| gateway.lb.volumes | list | `[]` | volumes |
+| manager.index.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | node affinity preferred scheduling terms |
+| manager.index.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms | list | `[]` | node affinity required node selectors |
+| manager.index.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity preferred scheduling terms |
+| manager.index.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod affinity required scheduling terms |
+| manager.index.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity preferred scheduling terms |
+| manager.index.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution | list | `[]` | pod anti-affinity required scheduling terms |
+| manager.index.annotations | object | `{}` | deployment annotations |
+| manager.index.enabled | bool | `true` | index manager enabled |
+| manager.index.env | list | `[{"name":"MY_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"MY_POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"MY_POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables |
+| manager.index.externalTrafficPolicy | string | `""` | external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local |
+| manager.index.image.pullPolicy | string | `"Always"` | image pull policy |
+| manager.index.image.repository | string | `"vdaas/vald-manager-index"` | image repository |
+| manager.index.image.tag | string | `""` | image tag (overrides defaults.image.tag) |
+| manager.index.indexer.agent_namespace | string | `"_MY_POD_NAMESPACE_"` | namespace of agent pods to manage |
+| manager.index.indexer.auto_index_check_duration | string | `"1m"` | check duration of automatic indexing |
+| manager.index.indexer.auto_index_duration_limit | string | `"30m"` | limit duration of automatic indexing |
+| manager.index.indexer.auto_index_length | int | `100` | number of cache to trigger automatic indexing |
+| manager.index.indexer.auto_save_index_duration_limit | string | `"3h"` | limit duration of automatic index saving |
+| manager.index.indexer.auto_save_index_wait_duration | string | `"10m"` | duration of automatic index saving wait duration for next saving |
+| manager.index.indexer.concurrency | int | `1` | concurrency |
+| manager.index.indexer.creation_pool_size | int | `10000` | number of pool size of create index processing |
+| manager.index.indexer.discoverer.agent_client_options | object | `{"dial_option":{"net":{"dialer":{"keepalive":"15m"}}}}` | gRPC client options for agents (overrides defaults.grpc.client) |
+| manager.index.indexer.discoverer.client | object | `{}` | gRPC client for discoverer (overrides defaults.grpc.client) |
+| manager.index.indexer.discoverer.duration | string | `"500ms"` | refresh duration to discover |
+| manager.index.indexer.node_name | string | `""` | node name |
+| manager.index.initContainers | list | `[{"image":"busybox:stable","name":"wait-for-agent","sleepDuration":2,"target":"agent","type":"wait-for"},{"image":"busybox:stable","name":"wait-for-discoverer","sleepDuration":2,"target":"discoverer","type":"wait-for"}]` | init containers |
+| manager.index.kind | string | `"Deployment"` | deployment kind: Deployment or DaemonSet |
+| manager.index.logging | object | `{}` | logging config (overrides defaults.logging) |
+| manager.index.maxUnavailable | string | `"50%"` | maximum number of unavailable replicas |
+| manager.index.name | string | `"vald-manager-index"` | name of index manager deployment |
+| manager.index.nodeName | string | `""` | node name |
+| manager.index.nodeSelector | object | `{}` | node selector |
+| manager.index.observability | object | `{"otlp":{"attribute":{"service_name":"vald-manager-index"}}}` | observability config (overrides defaults.observability) |
+| manager.index.podAnnotations | object | `{}` | pod annotations |
+| manager.index.podPriority.enabled | bool | `true` | index manager pod PriorityClass enabled |
+| manager.index.podPriority.value | int | `1000000` | index manager pod PriorityClass value |
+| manager.index.podSecurityContext | object | `{"fsGroup":65532,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for pod |
+| manager.index.progressDeadlineSeconds | int | `600` | progress deadline seconds |
+| manager.index.replicas | int | `1` | number of replicas |
+| manager.index.resources | object | `{"limits":{"cpu":"1000m","memory":"500Mi"},"requests":{"cpu":"200m","memory":"80Mi"}}` | compute resources |
+| manager.index.revisionHistoryLimit | int | `2` | number of old history to retain to allow rollback |
+| manager.index.rollingUpdate.maxSurge | string | `"25%"` | max surge of rolling update |
+| manager.index.rollingUpdate.maxUnavailable | string | `"25%"` | max unavailable of rolling update |
+| manager.index.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}` | security context for container |
+| manager.index.server_config | object | `{"healths":{"liveness":{},"readiness":{},"startup":{}},"metrics":{"pprof":{}},"servers":{"grpc":{},"rest":{}}}` | server config (overrides defaults.server_config) |
+| manager.index.service.annotations | object | `{}` | service annotations |
+| manager.index.service.labels | object | `{}` | service labels |
+| manager.index.serviceType | string | `"ClusterIP"` | service type: ClusterIP, LoadBalancer or NodePort |
+| manager.index.terminationGracePeriodSeconds | int | `30` | duration in seconds pod needs to terminate gracefully |
+| manager.index.time_zone | string | `""` | Time zone |
+| manager.index.tolerations | list | `[]` | tolerations |
+| manager.index.topologySpreadConstraints | list | `[]` | topology spread constraints of index manager pods |
+| manager.index.version | string | `"v0.0.0"` | version of index manager config |
+| manager.index.volumeMounts | list | `[]` | volume mounts |
+| manager.index.volumes | list | `[]` | volumes |
diff --git a/charts/vald/values.schema.json b/charts/vald/values.schema.json
index c7ff50c130..6afe895d45 100644
--- a/charts/vald/values.schema.json
+++ b/charts/vald/values.schema.json
@@ -1 +1,11925 @@
-{"$schema":"https://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","description":"node affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","description":"node affinity required node selectors","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod affinity required scheduling terms","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod anti-affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod anti-affinity required scheduling terms","items":{"type":"object"}}}}}},"annotations":{"type":"object","description":"deployment annotations"},"enabled":{"type":"boolean","description":"agent enabled"},"env":{"type":"array","description":"environment variables","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string","description":"external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean","description":"HPA enabled"},"targetCPUUtilizationPercentage":{"type":"integer","description":"HPA CPU utilization percentage"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","description":"image pull policy","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string","description":"image repository"},"tag":{"type":"string","description":"image tag (overrides defaults.image.tag)"}}},"initContainers":{"type":"array","description":"init containers","items":{"type":"object"}},"kind":{"type":"string","description":"deployment kind: Deployment, DaemonSet or StatefulSet","enum":["StatefulSet","Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","description":"logging format. logging format must be `raw` or `json`","enum":["raw","json"]},"level":{"type":"string","description":"logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","description":"logger name. currently logger must be `glg` or `zap`.","enum":["glg","zap"]}}},"maxReplicas":{"type":"integer","description":"maximum number of replicas. if HPA is disabled, this value will be ignored.","minimum":0},"maxUnavailable":{"type":"string","description":"maximum number of unavailable replicas"},"minReplicas":{"type":"integer","description":"minimum number of replicas. if HPA is disabled, the replicas will be set to this value","minimum":0},"name":{"type":"string","description":"name of agent deployment"},"ngt":{"type":"object","properties":{"auto_create_index_pool_size":{"type":"integer","description":"batch process pool size of automatic create index operation"},"auto_index_check_duration":{"type":"string","description":"check duration of automatic indexing"},"auto_index_duration_limit":{"type":"string","description":"limit duration of automatic indexing"},"auto_index_length":{"type":"integer","description":"number of cache to trigger automatic indexing"},"auto_save_index_duration":{"type":"string","description":"duration of automatic save index"},"broken_index_history_limit":{"type":"integer","description":"maximum number of broken index generations to backup","minimum":0},"bulk_insert_chunk_size":{"type":"integer","description":"bulk insert chunk size"},"creation_edge_size":{"type":"integer","description":"creation edge size"},"default_epsilon":{"type":"number","description":"default epsilon used for search"},"default_pool_size":{"type":"integer","description":"default create index batch pool size"},"default_radius":{"type":"number","description":"default radius used for search"},"dimension":{"type":"integer","description":"vector dimension","minimum":1},"distance_type":{"type":"string","description":"distance type. it should be `l1`, `l2`, `angle`, `hamming`, `cosine`,`poincare`, `lorentz`, `jaccard`, `sparsejaccard`, `normalizedangle` or `normalizedcosine`. for further details about NGT libraries supported distance is https://github.com/yahoojapan/NGT/wiki/Command-Quick-Reference and vald agent's supported NGT distance type is https://pkg.go.dev/github.com/vdaas/vald/internal/core/algorithm/ngt#pkg-constants","enum":["l1","l2","ang","angle","ham","hamming","cos","cosine","poincare","poinc","lorentz","loren","jac","jaccard","spjac","sparsejaccard","norml2","normalizedl2","normang","normalizedangle","normcos","normalizedcosine"]},"enable_copy_on_write":{"type":"boolean","description":"enable copy on write saving for more stable backup"},"enable_in_memory_mode":{"type":"boolean","description":"in-memory mode enabled"},"enable_proactive_gc":{"type":"boolean","description":"enable proactive GC call for reducing heap memory allocation"},"index_path":{"type":"string","description":"path to index data"},"initial_delay_max_duration":{"type":"string","description":"maximum duration for initial delay"},"kvsdb":{"type":"object","properties":{"concurrency":{"type":"integer","description":"kvsdb processing concurrency"}}},"load_index_timeout_factor":{"type":"string","description":"a factor of load index timeout. timeout duration will be calculated by (index count to be loaded) * (factor)."},"max_load_index_timeout":{"type":"string","description":"maximum duration of load index timeout"},"min_load_index_timeout":{"type":"string","description":"minimum duration of load index timeout"},"object_type":{"type":"string","description":"object type. it should be `float` or `uint8` or `float16`. for further details: https://github.com/yahoojapan/NGT/wiki/Command-Quick-Reference","enum":["float","float16","uint8"]},"search_edge_size":{"type":"integer","description":"search edge size"},"vqueue":{"type":"object","properties":{"delete_buffer_pool_size":{"type":"integer","description":"delete slice pool buffer size"},"insert_buffer_pool_size":{"type":"integer","description":"insert slice pool buffer size"}}}}},"nodeName":{"type":"string","description":"node name"},"nodeSelector":{"type":"object","description":"node selector"},"observability":{"type":"object","properties":{"enabled":{"type":"boolean","description":"observability features enabled"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean","description":"CGO metrics enabled"},"enable_goroutine":{"type":"boolean","description":"goroutine metrics enabled"},"enable_memory":{"type":"boolean","description":"memory metrics enabled"},"enable_version_info":{"type":"boolean","description":"version info metrics enabled"},"version_info_labels":{"type":"array","description":"enabled label names of version info","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"]}}}},"otlp":{"type":"object","properties":{"attribute":{"type":"object","description":"default resource attribute","properties":{"namespace":{"type":"string","description":"namespace"},"node_name":{"type":"string","description":"node name"},"pod_name":{"type":"string","description":"pod name"},"service_name":{"type":"string","description":"service name"}}},"collector_endpoint":{"type":"string","description":"OpenTelemetry Collector endpoint"},"metrics_export_interval":{"type":"string","description":"metrics export interval"},"metrics_export_timeout":{"type":"string","description":"metrics export timeout"},"trace_batch_timeout":{"type":"string","description":"trace batch timeout"},"trace_export_timeout":{"type":"string","description":"trace export timeout"},"trace_max_export_batch_size":{"type":"integer","description":"trace maximum export batch size"},"trace_max_queue_size":{"type":"integer","description":"trace maximum queue size"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean","description":"trace enabled"}}}}},"persistentVolume":{"type":"object","properties":{"accessMode":{"type":"string","description":"agent pod storage accessMode"},"enabled":{"type":"boolean","description":"enables PVC. It is required to enable if agent pod's file store functionality is enabled with non in-memory mode"},"mountPropagation":{"type":"string","description":"agent pod storage mountPropagation"},"size":{"type":"string","description":"size of agent pod volume"},"storageClass":{"type":"string","description":"storageClass name for agent pod volume"}}},"podAnnotations":{"type":"object","description":"pod annotations"},"podManagementPolicy":{"type":"string","description":"pod management policy: OrderedReady or Parallel","enum":["OrderedReady","Parallel"]},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gateway pod PriorityClass enabled"},"value":{"type":"integer","description":"gateway pod PriorityClass value"}}},"podSecurityContext":{"type":"object","description":"security context for pod"},"progressDeadlineSeconds":{"type":"integer","description":"progress deadline seconds"},"resources":{"type":"object","description":"compute resources","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","description":"number of old history to retain to allow rollback","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string","description":"max surge of rolling update"},"maxUnavailable":{"type":"string","description":"max unavailable of rolling update"},"partition":{"type":"integer","description":"StatefulSet partition"}}},"securityContext":{"type":"object","description":"security context for container"},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string","description":"server full shutdown duration"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"liveness server enabled"},"host":{"type":"string","description":"liveness server host"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"liveness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"liveness probe path"},"port":{"type":"string","description":"liveness probe port"},"scheme":{"type":"string","description":"liveness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"liveness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"liveness probe period seconds"},"successThreshold":{"type":"integer","description":"liveness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"liveness probe timeout seconds"}}},"port":{"type":"integer","description":"liveness server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"liveness server service port","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"readiness server enabled"},"host":{"type":"string","description":"readiness server host"},"port":{"type":"integer","description":"readiness server port","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"readiness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"readiness probe path"},"port":{"type":"string","description":"readiness probe port"},"scheme":{"type":"string","description":"readiness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"readiness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"readiness probe period seconds"},"successThreshold":{"type":"integer","description":"readiness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"readiness probe timeout seconds"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"readiness server service port","maximum":65535,"minimum":0}}},"startup":{"type":"object","properties":{"enabled":{"type":"boolean","description":"startup server enabled"},"port":{"type":"integer","description":"startup server port","maximum":65535,"minimum":0},"startupProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"startup probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"startup probe path"},"port":{"type":"string","description":"startup probe port"},"scheme":{"type":"string","description":"startup probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"startup probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"startup probe period seconds"},"successThreshold":{"type":"integer","description":"startup probe success threshold"},"timeoutSeconds":{"type":"integer","description":"startup probe timeout seconds"}}}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean","description":"pprof server enabled"},"host":{"type":"string","description":"pprof server host"},"port":{"type":"integer","description":"pprof server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"pprof server service port","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gRPC server enabled"},"host":{"type":"string","description":"gRPC server host"},"port":{"type":"integer","description":"gRPC server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer","description":"gRPC server bidirectional stream concurrency"},"connection_timeout":{"type":"string","description":"gRPC server connection timeout"},"enable_reflection":{"type":"boolean","description":"gRPC server reflection option"},"header_table_size":{"type":"integer","description":"gRPC server header table size"},"initial_conn_window_size":{"type":"integer","description":"gRPC server initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC server initial window size"},"interceptors":{"type":"array","description":"gRPC server interceptors","items":{"type":"string","enum":["RecoverInterceptor","AccessLogInterceptor","TraceInterceptor","MetricInterceptor"]}},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string","description":"gRPC server keep alive max connection age"},"max_conn_age_grace":{"type":"string","description":"gRPC server keep alive max connection age grace"},"max_conn_idle":{"type":"string","description":"gRPC server keep alive max connection idle"},"min_time":{"type":"string","description":"gRPC server keep alive min_time"},"permit_without_stream":{"type":"boolean","description":"gRPC server keep alive permit_without_stream"},"time":{"type":"string","description":"gRPC server keep alive time"},"timeout":{"type":"string","description":"gRPC server keep alive timeout"}}},"max_header_list_size":{"type":"integer","description":"gRPC server max header list size"},"max_receive_message_size":{"type":"integer","description":"gRPC server max receive message size"},"max_send_message_size":{"type":"integer","description":"gRPC server max send message size"},"read_buffer_size":{"type":"integer","description":"gRPC server read buffer size"},"write_buffer_size":{"type":"integer","description":"gRPC server write buffer size"}}},"mode":{"type":"string","description":"gRPC server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"gRPC server probe wait time"},"restart":{"type":"boolean","description":"gRPC server restart"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"gRPC server service port","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean","description":"REST server enabled"},"host":{"type":"string","description":"REST server host"},"port":{"type":"integer","description":"REST server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"REST server service port","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object","description":"service annotations"},"labels":{"type":"object","description":"service labels"}}},"serviceType":{"type":"string","description":"service type: ClusterIP, LoadBalancer or NodePort","enum":["ClusterIP","LoadBalancer","NodePort"]},"sidecar":{"type":"object","properties":{"config":{"type":"object","properties":{"auto_backup_duration":{"type":"string","description":"auto backup duration"},"auto_backup_enabled":{"type":"boolean","description":"auto backup triggered by timer is enabled"},"blob_storage":{"type":"object","properties":{"bucket":{"type":"string","description":"bucket name"},"cloud_storage":{"type":"object","properties":{"client":{"type":"object","properties":{"credentials_file_path":{"type":"string","description":"credentials file path"},"credentials_json":{"type":"string","description":"credentials json"}}},"url":{"type":"string","description":"cloud storage url"},"write_buffer_size":{"type":"integer","description":"bytes of the chunks for upload"},"write_cache_control":{"type":"string","description":"Cache-Control of HTTP Header"},"write_content_disposition":{"type":"string","description":"Content-Disposition of HTTP Header"},"write_content_encoding":{"type":"string","description":"the encoding of the blob's content"},"write_content_language":{"type":"string","description":"the language of blob's content"},"write_content_type":{"type":"string","description":"MIME type of the blob"}}},"s3":{"type":"object","properties":{"access_key":{"type":"string","description":"s3 access key"},"enable_100_continue":{"type":"boolean","description":"enable AWS SDK adding the 'Expect: 100-Continue' header to PUT requests over 2MB of content."},"enable_content_md5_validation":{"type":"boolean","description":"enable the S3 client to add MD5 checksum to upload API calls."},"enable_endpoint_discovery":{"type":"boolean","description":"enable endpoint discovery"},"enable_endpoint_host_prefix":{"type":"boolean","description":"enable prefixing request endpoint hosts with modeled information"},"enable_param_validation":{"type":"boolean","description":"enables semantic parameter validation"},"enable_ssl":{"type":"boolean","description":"enable ssl for s3 session"},"endpoint":{"type":"string","description":"s3 endpoint"},"force_path_style":{"type":"boolean","description":"use path-style addressing"},"max_chunk_size":{"type":"string","description":"s3 download max chunk size","pattern":"^[0-9]+(kb|mb|gb)$"},"max_part_size":{"type":"string","description":"s3 multipart upload max part size","pattern":"^[0-9]+(kb|mb|gb)$"},"max_retries":{"type":"integer","description":"maximum number of retries of s3 client"},"region":{"type":"string","description":"s3 region"},"secret_access_key":{"type":"string","description":"s3 secret access key"},"token":{"type":"string","description":"s3 token"},"use_accelerate":{"type":"boolean","description":"enable s3 accelerate feature"},"use_arn_region":{"type":"boolean","description":"s3 service client to use the region specified in the ARN"},"use_dual_stack":{"type":"boolean","description":"use dual stack"}}},"storage_type":{"type":"string","description":"storage type","enum":["s3","cloud_storage"]}}},"client":{"type":"object","properties":{"net":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean","description":"gRPC client TCP dialer dual stack enabled"},"keepalive":{"type":"string","description":"gRPC client TCP dialer keep alive"},"timeout":{"type":"string","description":"gRPC client TCP dialer timeout"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean","description":"gRPC client TCP DNS cache enabled"},"cache_expiration":{"type":"string","description":"gRPC client TCP DNS cache expiration"},"refresh_duration":{"type":"string","description":"gRPC client TCP DNS cache refresh duration"}}},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"transport":{"type":"object","properties":{"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number","description":"gRPC client backoff factor"},"backoff_time_limit":{"type":"string","description":"gRPC client backoff time limit"},"enable_error_log":{"type":"boolean","description":"gRPC client backoff log enabled"},"initial_duration":{"type":"string","description":"gRPC client backoff initial duration"},"jitter_limit":{"type":"string","description":"gRPC client backoff jitter limit"},"maximum_duration":{"type":"string","description":"gRPC client backoff maximum duration"},"retry_count":{"type":"integer","description":"gRPC client backoff retry count"}}},"round_tripper":{"type":"object","properties":{"expect_continue_timeout":{"type":"string","description":"expect continue timeout"},"force_attempt_http_2":{"type":"boolean","description":"force attempt HTTP2"},"idle_conn_timeout":{"type":"string","description":"timeout for idle connections"},"max_conns_per_host":{"type":"integer","description":"maximum count of connections per host"},"max_idle_conns":{"type":"integer","description":"maximum count of idle connections"},"max_idle_conns_per_host":{"type":"integer","description":"maximum count of idle connections per host"},"max_response_header_size":{"type":"integer","description":"maximum response header size"},"read_buffer_size":{"type":"integer","description":"read buffer size"},"response_header_timeout":{"type":"string","description":"timeout for response header"},"tls_handshake_timeout":{"type":"string","description":"TLS handshake timeout"},"write_buffer_size":{"type":"integer","description":"write buffer size"}}}}}}},"compress":{"type":"object","properties":{"compress_algorithm":{"type":"string","description":"compression algorithm. must be `gob`, `gzip`, `lz4` or `zstd`","enum":["gob","gzip","lz4","zstd"]},"compression_level":{"type":"integer","description":"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`: \u003e= 0, higher is better compression. `zstd`: 1 (fastest) to 22 (best), however implementation relies on klauspost/compress."}}},"filename":{"type":"string","description":"backup filename"},"filename_suffix":{"type":"string","description":"suffix for backup filename"},"post_stop_timeout":{"type":"string","description":"timeout for observing file changes during post stop"},"restore_backoff":{"type":"object","properties":{"backoff_factor":{"type":"number","description":"gRPC client backoff factor"},"backoff_time_limit":{"type":"string","description":"gRPC client backoff time limit"},"enable_error_log":{"type":"boolean","description":"gRPC client backoff log enabled"},"initial_duration":{"type":"string","description":"gRPC client backoff initial duration"},"jitter_limit":{"type":"string","description":"gRPC client backoff jitter limit"},"maximum_duration":{"type":"string","description":"gRPC client backoff maximum duration"},"retry_count":{"type":"integer","description":"gRPC client backoff retry count"}}},"restore_backoff_enabled":{"type":"boolean","description":"restore backoff enabled"},"watch_enabled":{"type":"boolean","description":"auto backup triggered by file changes is enabled"}}},"enabled":{"type":"boolean","description":"sidecar enabled"},"env":{"type":"array","description":"environment variables","items":{"type":"object"}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","description":"image pull policy","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string","description":"image repository"},"tag":{"type":"string","description":"image tag (overrides defaults.image.tag)"}}},"initContainerEnabled":{"type":"boolean","description":"sidecar on initContainer mode enabled."},"logging":{"type":"object","properties":{"format":{"type":"string","description":"logging format. logging format must be `raw` or `json`","enum":["raw","json"]},"level":{"type":"string","description":"logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","description":"logger name. currently logger must be `glg` or `zap`.","enum":["glg","zap"]}}},"name":{"type":"string","description":"name of agent sidecar"},"observability":{"type":"object","properties":{"enabled":{"type":"boolean","description":"observability features enabled"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean","description":"CGO metrics enabled"},"enable_goroutine":{"type":"boolean","description":"goroutine metrics enabled"},"enable_memory":{"type":"boolean","description":"memory metrics enabled"},"enable_version_info":{"type":"boolean","description":"version info metrics enabled"},"version_info_labels":{"type":"array","description":"enabled label names of version info","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"]}}}},"otlp":{"type":"object","properties":{"attribute":{"type":"object","description":"default resource attribute","properties":{"namespace":{"type":"string","description":"namespace"},"node_name":{"type":"string","description":"node name"},"pod_name":{"type":"string","description":"pod name"},"service_name":{"type":"string","description":"service name"}}},"collector_endpoint":{"type":"string","description":"OpenTelemetry Collector endpoint"},"metrics_export_interval":{"type":"string","description":"metrics export interval"},"metrics_export_timeout":{"type":"string","description":"metrics export timeout"},"trace_batch_timeout":{"type":"string","description":"trace batch timeout"},"trace_export_timeout":{"type":"string","description":"trace export timeout"},"trace_max_export_batch_size":{"type":"integer","description":"trace maximum export batch size"},"trace_max_queue_size":{"type":"integer","description":"trace maximum queue size"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean","description":"trace enabled"}}}}},"resources":{"type":"object","description":"compute resources","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string","description":"server full shutdown duration"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"liveness server enabled"},"host":{"type":"string","description":"liveness server host"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"liveness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"liveness probe path"},"port":{"type":"string","description":"liveness probe port"},"scheme":{"type":"string","description":"liveness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"liveness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"liveness probe period seconds"},"successThreshold":{"type":"integer","description":"liveness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"liveness probe timeout seconds"}}},"port":{"type":"integer","description":"liveness server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"liveness server service port","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"readiness server enabled"},"host":{"type":"string","description":"readiness server host"},"port":{"type":"integer","description":"readiness server port","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"readiness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"readiness probe path"},"port":{"type":"string","description":"readiness probe port"},"scheme":{"type":"string","description":"readiness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"readiness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"readiness probe period seconds"},"successThreshold":{"type":"integer","description":"readiness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"readiness probe timeout seconds"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"readiness server service port","maximum":65535,"minimum":0}}},"startup":{"type":"object","properties":{"enabled":{"type":"boolean","description":"startup server enabled"},"port":{"type":"integer","description":"startup server port","maximum":65535,"minimum":0},"startupProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"startup probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"startup probe path"},"port":{"type":"string","description":"startup probe port"},"scheme":{"type":"string","description":"startup probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"startup probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"startup probe period seconds"},"successThreshold":{"type":"integer","description":"startup probe success threshold"},"timeoutSeconds":{"type":"integer","description":"startup probe timeout seconds"}}}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean","description":"pprof server enabled"},"host":{"type":"string","description":"pprof server host"},"port":{"type":"integer","description":"pprof server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"pprof server service port","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gRPC server enabled"},"host":{"type":"string","description":"gRPC server host"},"port":{"type":"integer","description":"gRPC server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer","description":"gRPC server bidirectional stream concurrency"},"connection_timeout":{"type":"string","description":"gRPC server connection timeout"},"enable_reflection":{"type":"boolean","description":"gRPC server reflection option"},"header_table_size":{"type":"integer","description":"gRPC server header table size"},"initial_conn_window_size":{"type":"integer","description":"gRPC server initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC server initial window size"},"interceptors":{"type":"array","description":"gRPC server interceptors","items":{"type":"string","enum":["RecoverInterceptor","AccessLogInterceptor","TraceInterceptor","MetricInterceptor"]}},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string","description":"gRPC server keep alive max connection age"},"max_conn_age_grace":{"type":"string","description":"gRPC server keep alive max connection age grace"},"max_conn_idle":{"type":"string","description":"gRPC server keep alive max connection idle"},"min_time":{"type":"string","description":"gRPC server keep alive min_time"},"permit_without_stream":{"type":"boolean","description":"gRPC server keep alive permit_without_stream"},"time":{"type":"string","description":"gRPC server keep alive time"},"timeout":{"type":"string","description":"gRPC server keep alive timeout"}}},"max_header_list_size":{"type":"integer","description":"gRPC server max header list size"},"max_receive_message_size":{"type":"integer","description":"gRPC server max receive message size"},"max_send_message_size":{"type":"integer","description":"gRPC server max send message size"},"read_buffer_size":{"type":"integer","description":"gRPC server read buffer size"},"write_buffer_size":{"type":"integer","description":"gRPC server write buffer size"}}},"mode":{"type":"string","description":"gRPC server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"gRPC server probe wait time"},"restart":{"type":"boolean","description":"gRPC server restart"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"gRPC server service port","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean","description":"REST server enabled"},"host":{"type":"string","description":"REST server host"},"port":{"type":"integer","description":"REST server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"REST server service port","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object","description":"agent sidecar service annotations"},"enabled":{"type":"boolean","description":"agent sidecar service enabled"},"externalTrafficPolicy":{"type":"string","description":"external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"},"labels":{"type":"object","description":"agent sidecar service labels"},"type":{"type":"string","description":"service type: ClusterIP, LoadBalancer or NodePort","enum":["ClusterIP","LoadBalancer","NodePort"]}}},"time_zone":{"type":"string","description":"Time zone"},"version":{"type":"string","description":"version of gateway config","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"}}},"terminationGracePeriodSeconds":{"type":"integer","description":"duration in seconds pod needs to terminate gracefully","minimum":0},"time_zone":{"type":"string","description":"Time zone"},"tolerations":{"type":"array","description":"tolerations","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","description":"topology spread constraints of gateway pods","items":{"type":"object"}},"version":{"type":"string","description":"version of gateway config","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","description":"volume mounts","items":{"type":"object"}},"volumes":{"type":"array","description":"volumes","items":{"type":"object"}}}},"defaults":{"type":"object","properties":{"grpc":{"type":"object","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","description":"gRPC client addresses","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number","description":"gRPC client backoff factor"},"backoff_time_limit":{"type":"string","description":"gRPC client backoff time limit"},"enable_error_log":{"type":"boolean","description":"gRPC client backoff log enabled"},"initial_duration":{"type":"string","description":"gRPC client backoff initial duration"},"jitter_limit":{"type":"string","description":"gRPC client backoff jitter limit"},"maximum_duration":{"type":"string","description":"gRPC client backoff maximum duration"},"retry_count":{"type":"integer","description":"gRPC client backoff retry count"}}},"call_option":{"type":"object"},"circuit_breaker":{"type":"object","properties":{"closed_error_rate":{"type":"number","description":"gRPC client circuitbreaker closed error rate"},"closed_refresh_timeout":{"type":"string","description":"gRPC client circuitbreaker closed refresh timeout"},"half_open_error_rate":{"type":"number","description":"gRPC client circuitbreaker half-open error rate"},"min_samples":{"type":"integer","description":"gRPC client circuitbreaker minimum sampling count"},"open_timeout":{"type":"string","description":"gRPC client circuitbreaker open timeout"}}},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean","description":"enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"},"enable_rebalance":{"type":"boolean","description":"enables gRPC client connection pool rebalance"},"old_conn_close_duration":{"type":"string","description":"makes delay before gRPC client connection closing during connection pool rebalance"},"rebalance_duration":{"type":"string","description":"gRPC client connection pool rebalance duration"},"size":{"type":"integer","description":"gRPC client connection pool size"}}},"dial_option":{"type":"object","properties":{"backoff_base_delay":{"type":"string","description":"gRPC client dial option base backoff delay"},"backoff_jitter":{"type":"number","description":"gRPC client dial option base backoff delay"},"backoff_max_delay":{"type":"string","description":"gRPC client dial option max backoff delay"},"backoff_multiplier":{"type":"number","description":"gRPC client dial option base backoff delay"},"enable_backoff":{"type":"boolean","description":"gRPC client dial option backoff enabled"},"initial_connection_window_size":{"type":"integer","description":"gRPC client dial option initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC client dial option initial window size"},"insecure":{"type":"boolean","description":"gRPC client dial option insecure enabled"},"interceptors":{"type":"array","description":"gRPC client interceptors","items":{"type":"string","enum":["TraceInterceptor"]}},"keepalive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean","description":"gRPC client keep alive permit without stream"},"time":{"type":"string","description":"gRPC client keep alive time"},"timeout":{"type":"string","description":"gRPC client keep alive timeout"}}},"max_msg_size":{"type":"integer","description":"gRPC client dial option max message size"},"min_connection_timeout":{"type":"string","description":"gRPC client dial option minimum connection timeout"},"net":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean","description":"gRPC client TCP dialer dual stack enabled"},"keepalive":{"type":"string","description":"gRPC client TCP dialer keep alive"},"timeout":{"type":"string","description":"gRPC client TCP dialer timeout"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean","description":"gRPC client TCP DNS cache enabled"},"cache_expiration":{"type":"string","description":"gRPC client TCP DNS cache expiration"},"refresh_duration":{"type":"string","description":"gRPC client TCP DNS cache refresh duration"}}},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"read_buffer_size":{"type":"integer","description":"gRPC client dial option read buffer size"},"timeout":{"type":"string","description":"gRPC client dial option timeout"},"write_buffer_size":{"type":"integer","description":"gRPC client dial option write buffer size"}}},"health_check_duration":{"type":"string","description":"gRPC client health check duration"},"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","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}},"wait_for_ready":{"type":"boolean"}}}}},"image":{"type":"object","properties":{"tag":{"type":"string","description":"docker image tag"}}},"logging":{"type":"object","properties":{"format":{"type":"string","description":"logging format. logging format must be `raw` or `json`","enum":["raw","json"]},"level":{"type":"string","description":"logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","description":"logger name. currently logger must be `glg` or `zap`.","enum":["glg","zap"]}}},"networkPolicy":{"type":"object","properties":{"custom":{"type":"object","description":"custom network policies that a user can add","properties":{"egress":{"type":"object","description":"custom egress network policies that a user can add"},"ingress":{"type":"object","description":"custom ingress network policies that a user can add"}}},"enabled":{"type":"boolean","description":"if network policy enabled"}}},"observability":{"type":"object","properties":{"enabled":{"type":"boolean","description":"observability features enabled"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean","description":"CGO metrics enabled"},"enable_goroutine":{"type":"boolean","description":"goroutine metrics enabled"},"enable_memory":{"type":"boolean","description":"memory metrics enabled"},"enable_version_info":{"type":"boolean","description":"version info metrics enabled"},"version_info_labels":{"type":"array","description":"enabled label names of version info","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"]}}}},"otlp":{"type":"object","properties":{"attribute":{"type":"object","description":"default resource attribute","properties":{"namespace":{"type":"string","description":"namespace"},"node_name":{"type":"string","description":"node name"},"pod_name":{"type":"string","description":"pod name"},"service_name":{"type":"string","description":"service name"}}},"collector_endpoint":{"type":"string","description":"OpenTelemetry Collector endpoint"},"metrics_export_interval":{"type":"string","description":"metrics export interval"},"metrics_export_timeout":{"type":"string","description":"metrics export timeout"},"trace_batch_timeout":{"type":"string","description":"trace batch timeout"},"trace_export_timeout":{"type":"string","description":"trace export timeout"},"trace_max_export_batch_size":{"type":"integer","description":"trace maximum export batch size"},"trace_max_queue_size":{"type":"integer","description":"trace maximum queue size"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean","description":"trace enabled"}}}}},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string","description":"server full shutdown duration"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"liveness server enabled"},"host":{"type":"string","description":"liveness server host"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"liveness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"liveness probe path"},"port":{"type":"string","description":"liveness probe port"},"scheme":{"type":"string","description":"liveness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"liveness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"liveness probe period seconds"},"successThreshold":{"type":"integer","description":"liveness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"liveness probe timeout seconds"}}},"port":{"type":"integer","description":"liveness server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"liveness server service port","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"readiness server enabled"},"host":{"type":"string","description":"readiness server host"},"port":{"type":"integer","description":"readiness server port","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"readiness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"readiness probe path"},"port":{"type":"string","description":"readiness probe port"},"scheme":{"type":"string","description":"readiness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"readiness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"readiness probe period seconds"},"successThreshold":{"type":"integer","description":"readiness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"readiness probe timeout seconds"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"readiness server service port","maximum":65535,"minimum":0}}},"startup":{"type":"object","properties":{"enabled":{"type":"boolean","description":"startup server enabled"},"port":{"type":"integer","description":"startup server port","maximum":65535,"minimum":0},"startupProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"startup probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"startup probe path"},"port":{"type":"string","description":"startup probe port"},"scheme":{"type":"string","description":"startup probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"startup probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"startup probe period seconds"},"successThreshold":{"type":"integer","description":"startup probe success threshold"},"timeoutSeconds":{"type":"integer","description":"startup probe timeout seconds"}}}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean","description":"pprof server enabled"},"host":{"type":"string","description":"pprof server host"},"port":{"type":"integer","description":"pprof server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"pprof server service port","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gRPC server enabled"},"host":{"type":"string","description":"gRPC server host"},"port":{"type":"integer","description":"gRPC server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer","description":"gRPC server bidirectional stream concurrency"},"connection_timeout":{"type":"string","description":"gRPC server connection timeout"},"enable_reflection":{"type":"boolean","description":"gRPC server reflection option"},"header_table_size":{"type":"integer","description":"gRPC server header table size"},"initial_conn_window_size":{"type":"integer","description":"gRPC server initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC server initial window size"},"interceptors":{"type":"array","description":"gRPC server interceptors","items":{"type":"string","enum":["RecoverInterceptor","AccessLogInterceptor","TraceInterceptor","MetricInterceptor"]}},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string","description":"gRPC server keep alive max connection age"},"max_conn_age_grace":{"type":"string","description":"gRPC server keep alive max connection age grace"},"max_conn_idle":{"type":"string","description":"gRPC server keep alive max connection idle"},"min_time":{"type":"string","description":"gRPC server keep alive min_time"},"permit_without_stream":{"type":"boolean","description":"gRPC server keep alive permit_without_stream"},"time":{"type":"string","description":"gRPC server keep alive time"},"timeout":{"type":"string","description":"gRPC server keep alive timeout"}}},"max_header_list_size":{"type":"integer","description":"gRPC server max header list size"},"max_receive_message_size":{"type":"integer","description":"gRPC server max receive message size"},"max_send_message_size":{"type":"integer","description":"gRPC server max send message size"},"read_buffer_size":{"type":"integer","description":"gRPC server read buffer size"},"write_buffer_size":{"type":"integer","description":"gRPC server write buffer size"}}},"mode":{"type":"string","description":"gRPC server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"gRPC server probe wait time"},"restart":{"type":"boolean","description":"gRPC server restart"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"gRPC server service port","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean","description":"REST server enabled"},"host":{"type":"string","description":"REST server host"},"port":{"type":"integer","description":"REST server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"REST server service port","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"time_zone":{"type":"string","description":"Time zone"}}},"discoverer":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"node affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","description":"node affinity required node selectors","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod affinity required scheduling terms","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod anti-affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod anti-affinity required scheduling terms","items":{"type":"object"}}}}}},"annotations":{"type":"object","description":"deployment annotations"},"clusterRole":{"type":"object","properties":{"enabled":{"type":"boolean","description":"creates clusterRole resource"},"name":{"type":"string","description":"name of clusterRole"}}},"clusterRoleBinding":{"type":"object","properties":{"enabled":{"type":"boolean","description":"creates clusterRoleBinding resource"},"name":{"type":"string","description":"name of clusterRoleBinding"}}},"discoverer":{"type":"object","properties":{"discovery_duration":{"type":"string","description":"duration to discovery"},"name":{"type":"string","description":"name to discovery"},"namespace":{"type":"string","description":"namespace to discovery"},"net":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean","description":"gRPC client TCP dialer dual stack enabled"},"keepalive":{"type":"string","description":"gRPC client TCP dialer keep alive"},"timeout":{"type":"string","description":"gRPC client TCP dialer timeout"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean","description":"gRPC client TCP DNS cache enabled"},"cache_expiration":{"type":"string","description":"gRPC client TCP DNS cache expiration"},"refresh_duration":{"type":"string","description":"gRPC client TCP DNS cache refresh duration"}}},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"selectors":{"type":"object","description":"k8s resource selectors","properties":{"node":{"type":"object","description":"k8s resource selectors for node discovery","properties":{"fields":{"type":"object","description":"k8s field selectors for node discovery"},"labels":{"type":"object","description":"k8s label selectors for node discovery"}}},"node_metrics":{"type":"object","description":"k8s resource selectors for node_metrics discovery","properties":{"fields":{"type":"object","description":"k8s field selectors for node_metrics discovery"},"labels":{"type":"object","description":"k8s label selectors for node_metrics discovery"}}},"pod":{"type":"object","description":"k8s resource selectors for pod discovery","properties":{"fields":{"type":"object","description":"k8s field selectors for pod discovery"},"labels":{"type":"object","description":"k8s label selectors for pod discovery"}}},"pod_metrics":{"type":"object","description":"k8s resource selectors for pod_metrics discovery","properties":{"fields":{"type":"object","description":"k8s field selectors for pod_metrics discovery"},"labels":{"type":"object","description":"k8s label selectors for pod_metrics discovery"}}}}}}},"enabled":{"type":"boolean","description":"discoverer enabled"},"env":{"type":"array","description":"environment variables","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string","description":"external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean","description":"HPA enabled"},"targetCPUUtilizationPercentage":{"type":"integer","description":"HPA CPU utilization percentage"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","description":"image pull policy","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string","description":"image repository"},"tag":{"type":"string","description":"image tag (overrides defaults.image.tag)"}}},"initContainers":{"type":"array","description":"init containers","items":{"type":"object"}},"internalTrafficPolicy":{"type":"string","description":"internal traffic policy : Cluster or Local"},"kind":{"type":"string","description":"deployment kind: Deployment or DaemonSet","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","description":"logging format. logging format must be `raw` or `json`","enum":["raw","json"]},"level":{"type":"string","description":"logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","description":"logger name. currently logger must be `glg` or `zap`.","enum":["glg","zap"]}}},"maxReplicas":{"type":"integer","description":"maximum number of replicas. if HPA is disabled, this value will be ignored.","minimum":0},"maxUnavailable":{"type":"string","description":"maximum number of unavailable replicas"},"minReplicas":{"type":"integer","description":"minimum number of replicas. if HPA is disabled, the replicas will be set to this value","minimum":0},"name":{"type":"string","description":"name of discoverer deployment"},"nodeName":{"type":"string","description":"node name"},"nodeSelector":{"type":"object","description":"node selector"},"observability":{"type":"object","properties":{"enabled":{"type":"boolean","description":"observability features enabled"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean","description":"CGO metrics enabled"},"enable_goroutine":{"type":"boolean","description":"goroutine metrics enabled"},"enable_memory":{"type":"boolean","description":"memory metrics enabled"},"enable_version_info":{"type":"boolean","description":"version info metrics enabled"},"version_info_labels":{"type":"array","description":"enabled label names of version info","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"]}}}},"otlp":{"type":"object","properties":{"attribute":{"type":"object","description":"default resource attribute","properties":{"namespace":{"type":"string","description":"namespace"},"node_name":{"type":"string","description":"node name"},"pod_name":{"type":"string","description":"pod name"},"service_name":{"type":"string","description":"service name"}}},"collector_endpoint":{"type":"string","description":"OpenTelemetry Collector endpoint"},"metrics_export_interval":{"type":"string","description":"metrics export interval"},"metrics_export_timeout":{"type":"string","description":"metrics export timeout"},"trace_batch_timeout":{"type":"string","description":"trace batch timeout"},"trace_export_timeout":{"type":"string","description":"trace export timeout"},"trace_max_export_batch_size":{"type":"integer","description":"trace maximum export batch size"},"trace_max_queue_size":{"type":"integer","description":"trace maximum queue size"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean","description":"trace enabled"}}}}},"podAnnotations":{"type":"object","description":"pod annotations"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gateway pod PriorityClass enabled"},"value":{"type":"integer","description":"gateway pod PriorityClass value"}}},"podSecurityContext":{"type":"object","description":"security context for pod"},"progressDeadlineSeconds":{"type":"integer","description":"progress deadline seconds"},"resources":{"type":"object","description":"compute resources","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","description":"number of old history to retain to allow rollback","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string","description":"max surge of rolling update"},"maxUnavailable":{"type":"string","description":"max unavailable of rolling update"}}},"securityContext":{"type":"object","description":"security context for container"},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string","description":"server full shutdown duration"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"liveness server enabled"},"host":{"type":"string","description":"liveness server host"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"liveness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"liveness probe path"},"port":{"type":"string","description":"liveness probe port"},"scheme":{"type":"string","description":"liveness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"liveness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"liveness probe period seconds"},"successThreshold":{"type":"integer","description":"liveness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"liveness probe timeout seconds"}}},"port":{"type":"integer","description":"liveness server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"liveness server service port","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"readiness server enabled"},"host":{"type":"string","description":"readiness server host"},"port":{"type":"integer","description":"readiness server port","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"readiness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"readiness probe path"},"port":{"type":"string","description":"readiness probe port"},"scheme":{"type":"string","description":"readiness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"readiness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"readiness probe period seconds"},"successThreshold":{"type":"integer","description":"readiness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"readiness probe timeout seconds"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"readiness server service port","maximum":65535,"minimum":0}}},"startup":{"type":"object","properties":{"enabled":{"type":"boolean","description":"startup server enabled"},"port":{"type":"integer","description":"startup server port","maximum":65535,"minimum":0},"startupProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"startup probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"startup probe path"},"port":{"type":"string","description":"startup probe port"},"scheme":{"type":"string","description":"startup probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"startup probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"startup probe period seconds"},"successThreshold":{"type":"integer","description":"startup probe success threshold"},"timeoutSeconds":{"type":"integer","description":"startup probe timeout seconds"}}}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean","description":"pprof server enabled"},"host":{"type":"string","description":"pprof server host"},"port":{"type":"integer","description":"pprof server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"pprof server service port","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gRPC server enabled"},"host":{"type":"string","description":"gRPC server host"},"port":{"type":"integer","description":"gRPC server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer","description":"gRPC server bidirectional stream concurrency"},"connection_timeout":{"type":"string","description":"gRPC server connection timeout"},"enable_reflection":{"type":"boolean","description":"gRPC server reflection option"},"header_table_size":{"type":"integer","description":"gRPC server header table size"},"initial_conn_window_size":{"type":"integer","description":"gRPC server initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC server initial window size"},"interceptors":{"type":"array","description":"gRPC server interceptors","items":{"type":"string","enum":["RecoverInterceptor","AccessLogInterceptor","TraceInterceptor","MetricInterceptor"]}},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string","description":"gRPC server keep alive max connection age"},"max_conn_age_grace":{"type":"string","description":"gRPC server keep alive max connection age grace"},"max_conn_idle":{"type":"string","description":"gRPC server keep alive max connection idle"},"min_time":{"type":"string","description":"gRPC server keep alive min_time"},"permit_without_stream":{"type":"boolean","description":"gRPC server keep alive permit_without_stream"},"time":{"type":"string","description":"gRPC server keep alive time"},"timeout":{"type":"string","description":"gRPC server keep alive timeout"}}},"max_header_list_size":{"type":"integer","description":"gRPC server max header list size"},"max_receive_message_size":{"type":"integer","description":"gRPC server max receive message size"},"max_send_message_size":{"type":"integer","description":"gRPC server max send message size"},"read_buffer_size":{"type":"integer","description":"gRPC server read buffer size"},"write_buffer_size":{"type":"integer","description":"gRPC server write buffer size"}}},"mode":{"type":"string","description":"gRPC server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"gRPC server probe wait time"},"restart":{"type":"boolean","description":"gRPC server restart"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"gRPC server service port","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean","description":"REST server enabled"},"host":{"type":"string","description":"REST server host"},"port":{"type":"integer","description":"REST server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"REST server service port","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object","description":"service annotations"},"labels":{"type":"object","description":"service labels"}}},"serviceAccount":{"type":"object","properties":{"enabled":{"type":"boolean","description":"creates service account"},"name":{"type":"string","description":"name of service account"}}},"serviceType":{"type":"string","description":"service type: ClusterIP, LoadBalancer or NodePort","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","description":"duration in seconds pod needs to terminate gracefully","minimum":0},"time_zone":{"type":"string","description":"Time zone"},"tolerations":{"type":"array","description":"tolerations","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","description":"topology spread constraints of gateway pods","items":{"type":"object"}},"version":{"type":"string","description":"version of gateway config","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","description":"volume mounts","items":{"type":"object"}},"volumes":{"type":"array","description":"volumes","items":{"type":"object"}}}},"gateway":{"type":"object","properties":{"filter":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"node affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","description":"node affinity required node selectors","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod affinity required scheduling terms","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod anti-affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod anti-affinity required scheduling terms","items":{"type":"object"}}}}}},"annotations":{"type":"object","description":"deployment annotations"},"enabled":{"type":"boolean","description":"gateway enabled"},"env":{"type":"array","description":"environment variables","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string","description":"external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"},"gateway_config":{"type":"object","properties":{"egress_filter":{"type":"object","description":"gRPC client config for egress filter","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","description":"gRPC client addresses","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number","description":"gRPC client backoff factor"},"backoff_time_limit":{"type":"string","description":"gRPC client backoff time limit"},"enable_error_log":{"type":"boolean","description":"gRPC client backoff log enabled"},"initial_duration":{"type":"string","description":"gRPC client backoff initial duration"},"jitter_limit":{"type":"string","description":"gRPC client backoff jitter limit"},"maximum_duration":{"type":"string","description":"gRPC client backoff maximum duration"},"retry_count":{"type":"integer","description":"gRPC client backoff retry count"}}},"call_option":{"type":"object"},"circuit_breaker":{"type":"object","properties":{"closed_error_rate":{"type":"number","description":"gRPC client circuitbreaker closed error rate"},"closed_refresh_timeout":{"type":"string","description":"gRPC client circuitbreaker closed refresh timeout"},"half_open_error_rate":{"type":"number","description":"gRPC client circuitbreaker half-open error rate"},"min_samples":{"type":"integer","description":"gRPC client circuitbreaker minimum sampling count"},"open_timeout":{"type":"string","description":"gRPC client circuitbreaker open timeout"}}},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean","description":"enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"},"enable_rebalance":{"type":"boolean","description":"enables gRPC client connection pool rebalance"},"old_conn_close_duration":{"type":"string","description":"makes delay before gRPC client connection closing during connection pool rebalance"},"rebalance_duration":{"type":"string","description":"gRPC client connection pool rebalance duration"},"size":{"type":"integer","description":"gRPC client connection pool size"}}},"dial_option":{"type":"object","properties":{"backoff_base_delay":{"type":"string","description":"gRPC client dial option base backoff delay"},"backoff_jitter":{"type":"number","description":"gRPC client dial option base backoff delay"},"backoff_max_delay":{"type":"string","description":"gRPC client dial option max backoff delay"},"backoff_multiplier":{"type":"number","description":"gRPC client dial option base backoff delay"},"enable_backoff":{"type":"boolean","description":"gRPC client dial option backoff enabled"},"initial_connection_window_size":{"type":"integer","description":"gRPC client dial option initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC client dial option initial window size"},"insecure":{"type":"boolean","description":"gRPC client dial option insecure enabled"},"interceptors":{"type":"array","description":"gRPC client interceptors","items":{"type":"string","enum":["TraceInterceptor"]}},"keepalive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean","description":"gRPC client keep alive permit without stream"},"time":{"type":"string","description":"gRPC client keep alive time"},"timeout":{"type":"string","description":"gRPC client keep alive timeout"}}},"max_msg_size":{"type":"integer","description":"gRPC client dial option max message size"},"min_connection_timeout":{"type":"string","description":"gRPC client dial option minimum connection timeout"},"net":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean","description":"gRPC client TCP dialer dual stack enabled"},"keepalive":{"type":"string","description":"gRPC client TCP dialer keep alive"},"timeout":{"type":"string","description":"gRPC client TCP dialer timeout"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean","description":"gRPC client TCP DNS cache enabled"},"cache_expiration":{"type":"string","description":"gRPC client TCP DNS cache expiration"},"refresh_duration":{"type":"string","description":"gRPC client TCP DNS cache refresh duration"}}},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"read_buffer_size":{"type":"integer","description":"gRPC client dial option read buffer size"},"timeout":{"type":"string","description":"gRPC client dial option timeout"},"write_buffer_size":{"type":"integer","description":"gRPC client dial option write buffer size"}}},"health_check_duration":{"type":"string","description":"gRPC client health check duration"},"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","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}},"wait_for_ready":{"type":"boolean"}}},"distance_filters":{"type":"array","description":"distance egress vector filter targets","items":{"type":"string"}},"object_filters":{"type":"array","description":"object egress vector filter targets","items":{"type":"string"}}}},"gateway_client":{"type":"object","properties":{"addrs":{"type":"array","description":"gRPC client addresses","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number","description":"gRPC client backoff factor"},"backoff_time_limit":{"type":"string","description":"gRPC client backoff time limit"},"enable_error_log":{"type":"boolean","description":"gRPC client backoff log enabled"},"initial_duration":{"type":"string","description":"gRPC client backoff initial duration"},"jitter_limit":{"type":"string","description":"gRPC client backoff jitter limit"},"maximum_duration":{"type":"string","description":"gRPC client backoff maximum duration"},"retry_count":{"type":"integer","description":"gRPC client backoff retry count"}}},"call_option":{"type":"object"},"circuit_breaker":{"type":"object","properties":{"closed_error_rate":{"type":"number","description":"gRPC client circuitbreaker closed error rate"},"closed_refresh_timeout":{"type":"string","description":"gRPC client circuitbreaker closed refresh timeout"},"half_open_error_rate":{"type":"number","description":"gRPC client circuitbreaker half-open error rate"},"min_samples":{"type":"integer","description":"gRPC client circuitbreaker minimum sampling count"},"open_timeout":{"type":"string","description":"gRPC client circuitbreaker open timeout"}}},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean","description":"enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"},"enable_rebalance":{"type":"boolean","description":"enables gRPC client connection pool rebalance"},"old_conn_close_duration":{"type":"string","description":"makes delay before gRPC client connection closing during connection pool rebalance"},"rebalance_duration":{"type":"string","description":"gRPC client connection pool rebalance duration"},"size":{"type":"integer","description":"gRPC client connection pool size"}}},"dial_option":{"type":"object","properties":{"backoff_base_delay":{"type":"string","description":"gRPC client dial option base backoff delay"},"backoff_jitter":{"type":"number","description":"gRPC client dial option base backoff delay"},"backoff_max_delay":{"type":"string","description":"gRPC client dial option max backoff delay"},"backoff_multiplier":{"type":"number","description":"gRPC client dial option base backoff delay"},"enable_backoff":{"type":"boolean","description":"gRPC client dial option backoff enabled"},"initial_connection_window_size":{"type":"integer","description":"gRPC client dial option initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC client dial option initial window size"},"insecure":{"type":"boolean","description":"gRPC client dial option insecure enabled"},"interceptors":{"type":"array","description":"gRPC client interceptors","items":{"type":"string","enum":["TraceInterceptor"]}},"keepalive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean","description":"gRPC client keep alive permit without stream"},"time":{"type":"string","description":"gRPC client keep alive time"},"timeout":{"type":"string","description":"gRPC client keep alive timeout"}}},"max_msg_size":{"type":"integer","description":"gRPC client dial option max message size"},"min_connection_timeout":{"type":"string","description":"gRPC client dial option minimum connection timeout"},"net":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean","description":"gRPC client TCP dialer dual stack enabled"},"keepalive":{"type":"string","description":"gRPC client TCP dialer keep alive"},"timeout":{"type":"string","description":"gRPC client TCP dialer timeout"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean","description":"gRPC client TCP DNS cache enabled"},"cache_expiration":{"type":"string","description":"gRPC client TCP DNS cache expiration"},"refresh_duration":{"type":"string","description":"gRPC client TCP DNS cache refresh duration"}}},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"read_buffer_size":{"type":"integer","description":"gRPC client dial option read buffer size"},"timeout":{"type":"string","description":"gRPC client dial option timeout"},"write_buffer_size":{"type":"integer","description":"gRPC client dial option write buffer size"}}},"health_check_duration":{"type":"string","description":"gRPC client health check duration"},"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","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}},"wait_for_ready":{"type":"boolean"}}},"ingress_filter":{"type":"object","description":"gRPC client config for ingress filter","properties":{"client":{"type":"object","properties":{"addrs":{"type":"array","description":"gRPC client addresses","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number","description":"gRPC client backoff factor"},"backoff_time_limit":{"type":"string","description":"gRPC client backoff time limit"},"enable_error_log":{"type":"boolean","description":"gRPC client backoff log enabled"},"initial_duration":{"type":"string","description":"gRPC client backoff initial duration"},"jitter_limit":{"type":"string","description":"gRPC client backoff jitter limit"},"maximum_duration":{"type":"string","description":"gRPC client backoff maximum duration"},"retry_count":{"type":"integer","description":"gRPC client backoff retry count"}}},"call_option":{"type":"object"},"circuit_breaker":{"type":"object","properties":{"closed_error_rate":{"type":"number","description":"gRPC client circuitbreaker closed error rate"},"closed_refresh_timeout":{"type":"string","description":"gRPC client circuitbreaker closed refresh timeout"},"half_open_error_rate":{"type":"number","description":"gRPC client circuitbreaker half-open error rate"},"min_samples":{"type":"integer","description":"gRPC client circuitbreaker minimum sampling count"},"open_timeout":{"type":"string","description":"gRPC client circuitbreaker open timeout"}}},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean","description":"enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"},"enable_rebalance":{"type":"boolean","description":"enables gRPC client connection pool rebalance"},"old_conn_close_duration":{"type":"string","description":"makes delay before gRPC client connection closing during connection pool rebalance"},"rebalance_duration":{"type":"string","description":"gRPC client connection pool rebalance duration"},"size":{"type":"integer","description":"gRPC client connection pool size"}}},"dial_option":{"type":"object","properties":{"backoff_base_delay":{"type":"string","description":"gRPC client dial option base backoff delay"},"backoff_jitter":{"type":"number","description":"gRPC client dial option base backoff delay"},"backoff_max_delay":{"type":"string","description":"gRPC client dial option max backoff delay"},"backoff_multiplier":{"type":"number","description":"gRPC client dial option base backoff delay"},"enable_backoff":{"type":"boolean","description":"gRPC client dial option backoff enabled"},"initial_connection_window_size":{"type":"integer","description":"gRPC client dial option initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC client dial option initial window size"},"insecure":{"type":"boolean","description":"gRPC client dial option insecure enabled"},"interceptors":{"type":"array","description":"gRPC client interceptors","items":{"type":"string","enum":["TraceInterceptor"]}},"keepalive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean","description":"gRPC client keep alive permit without stream"},"time":{"type":"string","description":"gRPC client keep alive time"},"timeout":{"type":"string","description":"gRPC client keep alive timeout"}}},"max_msg_size":{"type":"integer","description":"gRPC client dial option max message size"},"min_connection_timeout":{"type":"string","description":"gRPC client dial option minimum connection timeout"},"net":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean","description":"gRPC client TCP dialer dual stack enabled"},"keepalive":{"type":"string","description":"gRPC client TCP dialer keep alive"},"timeout":{"type":"string","description":"gRPC client TCP dialer timeout"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean","description":"gRPC client TCP DNS cache enabled"},"cache_expiration":{"type":"string","description":"gRPC client TCP DNS cache expiration"},"refresh_duration":{"type":"string","description":"gRPC client TCP DNS cache refresh duration"}}},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"read_buffer_size":{"type":"integer","description":"gRPC client dial option read buffer size"},"timeout":{"type":"string","description":"gRPC client dial option timeout"},"write_buffer_size":{"type":"integer","description":"gRPC client dial option write buffer size"}}},"health_check_duration":{"type":"string","description":"gRPC client health check duration"},"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","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}},"wait_for_ready":{"type":"boolean"}}},"insert_filters":{"type":"array","description":"insert ingress vector filter targets","items":{"type":"string"}},"search_filters":{"type":"array","description":"search ingress vector filter targets","items":{"type":"string"}},"update_filters":{"type":"array","description":"update ingress vector filter targets","items":{"type":"string"}},"upsert_filters":{"type":"array","description":"upsert ingress vector filter targets","items":{"type":"string"}},"vectorizer":{"type":"string","description":"object ingress vectorize filter targets"}}}}},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean","description":"HPA enabled"},"targetCPUUtilizationPercentage":{"type":"integer","description":"HPA CPU utilization percentage"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","description":"image pull policy","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string","description":"image repository"},"tag":{"type":"string","description":"image tag (overrides defaults.image.tag)"}}},"ingress":{"type":"object","properties":{"annotations":{"type":"object","description":"annotations for ingress"},"defaultBackend":{"type":"object","description":"defaultBackend config","properties":{"enabled":{"type":"boolean","description":"gateway ingress defaultBackend enabled"}}},"enabled":{"type":"boolean","description":"gateway ingress enabled"},"host":{"type":"string","description":"ingress hostname"},"pathType":{"type":"string","description":"gateway ingress pathType"},"servicePort":{"type":"string","description":"service port to be exposed by ingress"}}},"initContainers":{"type":"array","description":"init containers","items":{"type":"object"}},"internalTrafficPolicy":{"type":"string","description":"internal traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"},"kind":{"type":"string","description":"deployment kind: Deployment or DaemonSet","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","description":"logging format. logging format must be `raw` or `json`","enum":["raw","json"]},"level":{"type":"string","description":"logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","description":"logger name. currently logger must be `glg` or `zap`.","enum":["glg","zap"]}}},"maxReplicas":{"type":"integer","description":"maximum number of replicas. if HPA is disabled, this value will be ignored.","minimum":0},"maxUnavailable":{"type":"string","description":"maximum number of unavailable replicas"},"minReplicas":{"type":"integer","description":"minimum number of replicas. if HPA is disabled, the replicas will be set to this value","minimum":0},"name":{"type":"string","description":"name of filter gateway deployment"},"nodeName":{"type":"string","description":"node name"},"nodeSelector":{"type":"object","description":"node selector"},"observability":{"type":"object","properties":{"enabled":{"type":"boolean","description":"observability features enabled"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean","description":"CGO metrics enabled"},"enable_goroutine":{"type":"boolean","description":"goroutine metrics enabled"},"enable_memory":{"type":"boolean","description":"memory metrics enabled"},"enable_version_info":{"type":"boolean","description":"version info metrics enabled"},"version_info_labels":{"type":"array","description":"enabled label names of version info","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"]}}}},"otlp":{"type":"object","properties":{"attribute":{"type":"object","description":"default resource attribute","properties":{"namespace":{"type":"string","description":"namespace"},"node_name":{"type":"string","description":"node name"},"pod_name":{"type":"string","description":"pod name"},"service_name":{"type":"string","description":"service name"}}},"collector_endpoint":{"type":"string","description":"OpenTelemetry Collector endpoint"},"metrics_export_interval":{"type":"string","description":"metrics export interval"},"metrics_export_timeout":{"type":"string","description":"metrics export timeout"},"trace_batch_timeout":{"type":"string","description":"trace batch timeout"},"trace_export_timeout":{"type":"string","description":"trace export timeout"},"trace_max_export_batch_size":{"type":"integer","description":"trace maximum export batch size"},"trace_max_queue_size":{"type":"integer","description":"trace maximum queue size"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean","description":"trace enabled"}}}}},"podAnnotations":{"type":"object","description":"pod annotations"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gateway pod PriorityClass enabled"},"value":{"type":"integer","description":"gateway pod PriorityClass value"}}},"podSecurityContext":{"type":"object","description":"security context for pod"},"progressDeadlineSeconds":{"type":"integer","description":"progress deadline seconds"},"resources":{"type":"object","description":"compute resources","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","description":"number of old history to retain to allow rollback","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string","description":"max surge of rolling update"},"maxUnavailable":{"type":"string","description":"max unavailable of rolling update"}}},"securityContext":{"type":"object","description":"security context for container"},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string","description":"server full shutdown duration"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"liveness server enabled"},"host":{"type":"string","description":"liveness server host"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"liveness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"liveness probe path"},"port":{"type":"string","description":"liveness probe port"},"scheme":{"type":"string","description":"liveness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"liveness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"liveness probe period seconds"},"successThreshold":{"type":"integer","description":"liveness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"liveness probe timeout seconds"}}},"port":{"type":"integer","description":"liveness server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"liveness server service port","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"readiness server enabled"},"host":{"type":"string","description":"readiness server host"},"port":{"type":"integer","description":"readiness server port","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"readiness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"readiness probe path"},"port":{"type":"string","description":"readiness probe port"},"scheme":{"type":"string","description":"readiness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"readiness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"readiness probe period seconds"},"successThreshold":{"type":"integer","description":"readiness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"readiness probe timeout seconds"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"readiness server service port","maximum":65535,"minimum":0}}},"startup":{"type":"object","properties":{"enabled":{"type":"boolean","description":"startup server enabled"},"port":{"type":"integer","description":"startup server port","maximum":65535,"minimum":0},"startupProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"startup probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"startup probe path"},"port":{"type":"string","description":"startup probe port"},"scheme":{"type":"string","description":"startup probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"startup probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"startup probe period seconds"},"successThreshold":{"type":"integer","description":"startup probe success threshold"},"timeoutSeconds":{"type":"integer","description":"startup probe timeout seconds"}}}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean","description":"pprof server enabled"},"host":{"type":"string","description":"pprof server host"},"port":{"type":"integer","description":"pprof server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"pprof server service port","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gRPC server enabled"},"host":{"type":"string","description":"gRPC server host"},"port":{"type":"integer","description":"gRPC server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer","description":"gRPC server bidirectional stream concurrency"},"connection_timeout":{"type":"string","description":"gRPC server connection timeout"},"enable_reflection":{"type":"boolean","description":"gRPC server reflection option"},"header_table_size":{"type":"integer","description":"gRPC server header table size"},"initial_conn_window_size":{"type":"integer","description":"gRPC server initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC server initial window size"},"interceptors":{"type":"array","description":"gRPC server interceptors","items":{"type":"string","enum":["RecoverInterceptor","AccessLogInterceptor","TraceInterceptor","MetricInterceptor"]}},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string","description":"gRPC server keep alive max connection age"},"max_conn_age_grace":{"type":"string","description":"gRPC server keep alive max connection age grace"},"max_conn_idle":{"type":"string","description":"gRPC server keep alive max connection idle"},"min_time":{"type":"string","description":"gRPC server keep alive min_time"},"permit_without_stream":{"type":"boolean","description":"gRPC server keep alive permit_without_stream"},"time":{"type":"string","description":"gRPC server keep alive time"},"timeout":{"type":"string","description":"gRPC server keep alive timeout"}}},"max_header_list_size":{"type":"integer","description":"gRPC server max header list size"},"max_receive_message_size":{"type":"integer","description":"gRPC server max receive message size"},"max_send_message_size":{"type":"integer","description":"gRPC server max send message size"},"read_buffer_size":{"type":"integer","description":"gRPC server read buffer size"},"write_buffer_size":{"type":"integer","description":"gRPC server write buffer size"}}},"mode":{"type":"string","description":"gRPC server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"gRPC server probe wait time"},"restart":{"type":"boolean","description":"gRPC server restart"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"gRPC server service port","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean","description":"REST server enabled"},"host":{"type":"string","description":"REST server host"},"port":{"type":"integer","description":"REST server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"REST server service port","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object","description":"service annotations"},"labels":{"type":"object","description":"service labels"}}},"serviceType":{"type":"string","description":"service type: ClusterIP, LoadBalancer or NodePort","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","description":"duration in seconds pod needs to terminate gracefully","minimum":0},"time_zone":{"type":"string","description":"Time zone"},"tolerations":{"type":"array","description":"tolerations","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","description":"topology spread constraints of gateway pods","items":{"type":"object"}},"version":{"type":"string","description":"version of gateway config","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","description":"volume mounts","items":{"type":"object"}},"volumes":{"type":"array","description":"volumes","items":{"type":"object"}}}},"lb":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"node affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","description":"node affinity required node selectors","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod affinity required scheduling terms","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod anti-affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod anti-affinity required scheduling terms","items":{"type":"object"}}}}}},"annotations":{"type":"object","description":"deployment annotations"},"enabled":{"type":"boolean","description":"gateway enabled"},"env":{"type":"array","description":"environment variables","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string","description":"external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"},"gateway_config":{"type":"object","properties":{"agent_namespace":{"type":"string","description":"agent namespace"},"discoverer":{"type":"object","properties":{"agent_client_options":{"type":"object","properties":{"addrs":{"type":"array","description":"gRPC client addresses","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number","description":"gRPC client backoff factor"},"backoff_time_limit":{"type":"string","description":"gRPC client backoff time limit"},"enable_error_log":{"type":"boolean","description":"gRPC client backoff log enabled"},"initial_duration":{"type":"string","description":"gRPC client backoff initial duration"},"jitter_limit":{"type":"string","description":"gRPC client backoff jitter limit"},"maximum_duration":{"type":"string","description":"gRPC client backoff maximum duration"},"retry_count":{"type":"integer","description":"gRPC client backoff retry count"}}},"call_option":{"type":"object"},"circuit_breaker":{"type":"object","properties":{"closed_error_rate":{"type":"number","description":"gRPC client circuitbreaker closed error rate"},"closed_refresh_timeout":{"type":"string","description":"gRPC client circuitbreaker closed refresh timeout"},"half_open_error_rate":{"type":"number","description":"gRPC client circuitbreaker half-open error rate"},"min_samples":{"type":"integer","description":"gRPC client circuitbreaker minimum sampling count"},"open_timeout":{"type":"string","description":"gRPC client circuitbreaker open timeout"}}},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean","description":"enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"},"enable_rebalance":{"type":"boolean","description":"enables gRPC client connection pool rebalance"},"old_conn_close_duration":{"type":"string","description":"makes delay before gRPC client connection closing during connection pool rebalance"},"rebalance_duration":{"type":"string","description":"gRPC client connection pool rebalance duration"},"size":{"type":"integer","description":"gRPC client connection pool size"}}},"dial_option":{"type":"object","properties":{"backoff_base_delay":{"type":"string","description":"gRPC client dial option base backoff delay"},"backoff_jitter":{"type":"number","description":"gRPC client dial option base backoff delay"},"backoff_max_delay":{"type":"string","description":"gRPC client dial option max backoff delay"},"backoff_multiplier":{"type":"number","description":"gRPC client dial option base backoff delay"},"enable_backoff":{"type":"boolean","description":"gRPC client dial option backoff enabled"},"initial_connection_window_size":{"type":"integer","description":"gRPC client dial option initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC client dial option initial window size"},"insecure":{"type":"boolean","description":"gRPC client dial option insecure enabled"},"interceptors":{"type":"array","description":"gRPC client interceptors","items":{"type":"string","enum":["TraceInterceptor"]}},"keepalive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean","description":"gRPC client keep alive permit without stream"},"time":{"type":"string","description":"gRPC client keep alive time"},"timeout":{"type":"string","description":"gRPC client keep alive timeout"}}},"max_msg_size":{"type":"integer","description":"gRPC client dial option max message size"},"min_connection_timeout":{"type":"string","description":"gRPC client dial option minimum connection timeout"},"net":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean","description":"gRPC client TCP dialer dual stack enabled"},"keepalive":{"type":"string","description":"gRPC client TCP dialer keep alive"},"timeout":{"type":"string","description":"gRPC client TCP dialer timeout"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean","description":"gRPC client TCP DNS cache enabled"},"cache_expiration":{"type":"string","description":"gRPC client TCP DNS cache expiration"},"refresh_duration":{"type":"string","description":"gRPC client TCP DNS cache refresh duration"}}},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"read_buffer_size":{"type":"integer","description":"gRPC client dial option read buffer size"},"timeout":{"type":"string","description":"gRPC client dial option timeout"},"write_buffer_size":{"type":"integer","description":"gRPC client dial option write buffer size"}}},"health_check_duration":{"type":"string","description":"gRPC client health check duration"},"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","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}},"wait_for_ready":{"type":"boolean"}}},"client":{"type":"object","properties":{"addrs":{"type":"array","description":"gRPC client addresses","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number","description":"gRPC client backoff factor"},"backoff_time_limit":{"type":"string","description":"gRPC client backoff time limit"},"enable_error_log":{"type":"boolean","description":"gRPC client backoff log enabled"},"initial_duration":{"type":"string","description":"gRPC client backoff initial duration"},"jitter_limit":{"type":"string","description":"gRPC client backoff jitter limit"},"maximum_duration":{"type":"string","description":"gRPC client backoff maximum duration"},"retry_count":{"type":"integer","description":"gRPC client backoff retry count"}}},"call_option":{"type":"object"},"circuit_breaker":{"type":"object","properties":{"closed_error_rate":{"type":"number","description":"gRPC client circuitbreaker closed error rate"},"closed_refresh_timeout":{"type":"string","description":"gRPC client circuitbreaker closed refresh timeout"},"half_open_error_rate":{"type":"number","description":"gRPC client circuitbreaker half-open error rate"},"min_samples":{"type":"integer","description":"gRPC client circuitbreaker minimum sampling count"},"open_timeout":{"type":"string","description":"gRPC client circuitbreaker open timeout"}}},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean","description":"enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"},"enable_rebalance":{"type":"boolean","description":"enables gRPC client connection pool rebalance"},"old_conn_close_duration":{"type":"string","description":"makes delay before gRPC client connection closing during connection pool rebalance"},"rebalance_duration":{"type":"string","description":"gRPC client connection pool rebalance duration"},"size":{"type":"integer","description":"gRPC client connection pool size"}}},"dial_option":{"type":"object","properties":{"backoff_base_delay":{"type":"string","description":"gRPC client dial option base backoff delay"},"backoff_jitter":{"type":"number","description":"gRPC client dial option base backoff delay"},"backoff_max_delay":{"type":"string","description":"gRPC client dial option max backoff delay"},"backoff_multiplier":{"type":"number","description":"gRPC client dial option base backoff delay"},"enable_backoff":{"type":"boolean","description":"gRPC client dial option backoff enabled"},"initial_connection_window_size":{"type":"integer","description":"gRPC client dial option initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC client dial option initial window size"},"insecure":{"type":"boolean","description":"gRPC client dial option insecure enabled"},"interceptors":{"type":"array","description":"gRPC client interceptors","items":{"type":"string","enum":["TraceInterceptor"]}},"keepalive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean","description":"gRPC client keep alive permit without stream"},"time":{"type":"string","description":"gRPC client keep alive time"},"timeout":{"type":"string","description":"gRPC client keep alive timeout"}}},"max_msg_size":{"type":"integer","description":"gRPC client dial option max message size"},"min_connection_timeout":{"type":"string","description":"gRPC client dial option minimum connection timeout"},"net":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean","description":"gRPC client TCP dialer dual stack enabled"},"keepalive":{"type":"string","description":"gRPC client TCP dialer keep alive"},"timeout":{"type":"string","description":"gRPC client TCP dialer timeout"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean","description":"gRPC client TCP DNS cache enabled"},"cache_expiration":{"type":"string","description":"gRPC client TCP DNS cache expiration"},"refresh_duration":{"type":"string","description":"gRPC client TCP DNS cache refresh duration"}}},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"read_buffer_size":{"type":"integer","description":"gRPC client dial option read buffer size"},"timeout":{"type":"string","description":"gRPC client dial option timeout"},"write_buffer_size":{"type":"integer","description":"gRPC client dial option write buffer size"}}},"health_check_duration":{"type":"string","description":"gRPC client health check duration"},"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","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}},"wait_for_ready":{"type":"boolean"}}},"duration":{"type":"string"}}},"index_replica":{"type":"integer","description":"number of index replica","minimum":1},"multi_operation_concurrency":{"type":"integer","description":"number of concurrency of multiXXX api's operation","minimum":2},"node_name":{"type":"string","description":"node name"}}},"hpa":{"type":"object","properties":{"enabled":{"type":"boolean","description":"HPA enabled"},"targetCPUUtilizationPercentage":{"type":"integer","description":"HPA CPU utilization percentage"}}},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","description":"image pull policy","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string","description":"image repository"},"tag":{"type":"string","description":"image tag (overrides defaults.image.tag)"}}},"ingress":{"type":"object","properties":{"annotations":{"type":"object","description":"annotations for ingress"},"defaultBackend":{"type":"object","description":"defaultBackend config","properties":{"enabled":{"type":"boolean","description":"gateway ingress defaultBackend enabled"}}},"enabled":{"type":"boolean","description":"gateway ingress enabled"},"host":{"type":"string","description":"ingress hostname"},"pathType":{"type":"string","description":"gateway ingress pathType"},"servicePort":{"type":"string","description":"service port to be exposed by ingress"}}},"initContainers":{"type":"array","description":"init containers","items":{"type":"object"}},"internalTrafficPolicy":{"type":"string","description":"internal traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"},"kind":{"type":"string","description":"deployment kind: Deployment or DaemonSet","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","description":"logging format. logging format must be `raw` or `json`","enum":["raw","json"]},"level":{"type":"string","description":"logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","description":"logger name. currently logger must be `glg` or `zap`.","enum":["glg","zap"]}}},"maxReplicas":{"type":"integer","description":"maximum number of replicas. if HPA is disabled, this value will be ignored.","minimum":0},"maxUnavailable":{"type":"string","description":"maximum number of unavailable replicas"},"minReplicas":{"type":"integer","description":"minimum number of replicas. if HPA is disabled, the replicas will be set to this value","minimum":0},"name":{"type":"string","description":"name of gateway deployment"},"nodeName":{"type":"string","description":"node name"},"nodeSelector":{"type":"object","description":"node selector"},"observability":{"type":"object","properties":{"enabled":{"type":"boolean","description":"observability features enabled"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean","description":"CGO metrics enabled"},"enable_goroutine":{"type":"boolean","description":"goroutine metrics enabled"},"enable_memory":{"type":"boolean","description":"memory metrics enabled"},"enable_version_info":{"type":"boolean","description":"version info metrics enabled"},"version_info_labels":{"type":"array","description":"enabled label names of version info","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"]}}}},"otlp":{"type":"object","properties":{"attribute":{"type":"object","description":"default resource attribute","properties":{"namespace":{"type":"string","description":"namespace"},"node_name":{"type":"string","description":"node name"},"pod_name":{"type":"string","description":"pod name"},"service_name":{"type":"string","description":"service name"}}},"collector_endpoint":{"type":"string","description":"OpenTelemetry Collector endpoint"},"metrics_export_interval":{"type":"string","description":"metrics export interval"},"metrics_export_timeout":{"type":"string","description":"metrics export timeout"},"trace_batch_timeout":{"type":"string","description":"trace batch timeout"},"trace_export_timeout":{"type":"string","description":"trace export timeout"},"trace_max_export_batch_size":{"type":"integer","description":"trace maximum export batch size"},"trace_max_queue_size":{"type":"integer","description":"trace maximum queue size"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean","description":"trace enabled"}}}}},"podAnnotations":{"type":"object","description":"pod annotations"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gateway pod PriorityClass enabled"},"value":{"type":"integer","description":"gateway pod PriorityClass value"}}},"podSecurityContext":{"type":"object","description":"security context for pod"},"progressDeadlineSeconds":{"type":"integer","description":"progress deadline seconds"},"resources":{"type":"object","description":"compute resources","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","description":"number of old history to retain to allow rollback","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string","description":"max surge of rolling update"},"maxUnavailable":{"type":"string","description":"max unavailable of rolling update"}}},"securityContext":{"type":"object","description":"security context for container"},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string","description":"server full shutdown duration"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"liveness server enabled"},"host":{"type":"string","description":"liveness server host"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"liveness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"liveness probe path"},"port":{"type":"string","description":"liveness probe port"},"scheme":{"type":"string","description":"liveness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"liveness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"liveness probe period seconds"},"successThreshold":{"type":"integer","description":"liveness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"liveness probe timeout seconds"}}},"port":{"type":"integer","description":"liveness server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"liveness server service port","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"readiness server enabled"},"host":{"type":"string","description":"readiness server host"},"port":{"type":"integer","description":"readiness server port","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"readiness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"readiness probe path"},"port":{"type":"string","description":"readiness probe port"},"scheme":{"type":"string","description":"readiness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"readiness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"readiness probe period seconds"},"successThreshold":{"type":"integer","description":"readiness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"readiness probe timeout seconds"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"readiness server service port","maximum":65535,"minimum":0}}},"startup":{"type":"object","properties":{"enabled":{"type":"boolean","description":"startup server enabled"},"port":{"type":"integer","description":"startup server port","maximum":65535,"minimum":0},"startupProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"startup probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"startup probe path"},"port":{"type":"string","description":"startup probe port"},"scheme":{"type":"string","description":"startup probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"startup probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"startup probe period seconds"},"successThreshold":{"type":"integer","description":"startup probe success threshold"},"timeoutSeconds":{"type":"integer","description":"startup probe timeout seconds"}}}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean","description":"pprof server enabled"},"host":{"type":"string","description":"pprof server host"},"port":{"type":"integer","description":"pprof server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"pprof server service port","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gRPC server enabled"},"host":{"type":"string","description":"gRPC server host"},"port":{"type":"integer","description":"gRPC server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer","description":"gRPC server bidirectional stream concurrency"},"connection_timeout":{"type":"string","description":"gRPC server connection timeout"},"enable_reflection":{"type":"boolean","description":"gRPC server reflection option"},"header_table_size":{"type":"integer","description":"gRPC server header table size"},"initial_conn_window_size":{"type":"integer","description":"gRPC server initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC server initial window size"},"interceptors":{"type":"array","description":"gRPC server interceptors","items":{"type":"string","enum":["RecoverInterceptor","AccessLogInterceptor","TraceInterceptor","MetricInterceptor"]}},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string","description":"gRPC server keep alive max connection age"},"max_conn_age_grace":{"type":"string","description":"gRPC server keep alive max connection age grace"},"max_conn_idle":{"type":"string","description":"gRPC server keep alive max connection idle"},"min_time":{"type":"string","description":"gRPC server keep alive min_time"},"permit_without_stream":{"type":"boolean","description":"gRPC server keep alive permit_without_stream"},"time":{"type":"string","description":"gRPC server keep alive time"},"timeout":{"type":"string","description":"gRPC server keep alive timeout"}}},"max_header_list_size":{"type":"integer","description":"gRPC server max header list size"},"max_receive_message_size":{"type":"integer","description":"gRPC server max receive message size"},"max_send_message_size":{"type":"integer","description":"gRPC server max send message size"},"read_buffer_size":{"type":"integer","description":"gRPC server read buffer size"},"write_buffer_size":{"type":"integer","description":"gRPC server write buffer size"}}},"mode":{"type":"string","description":"gRPC server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"gRPC server probe wait time"},"restart":{"type":"boolean","description":"gRPC server restart"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"gRPC server service port","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean","description":"REST server enabled"},"host":{"type":"string","description":"REST server host"},"port":{"type":"integer","description":"REST server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"REST server service port","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object","description":"service annotations"},"labels":{"type":"object","description":"service labels"}}},"serviceType":{"type":"string","description":"service type: ClusterIP, LoadBalancer or NodePort","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","description":"duration in seconds pod needs to terminate gracefully","minimum":0},"time_zone":{"type":"string","description":"Time zone"},"tolerations":{"type":"array","description":"tolerations","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","description":"topology spread constraints of gateway pods","items":{"type":"object"}},"version":{"type":"string","description":"version of gateway config","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","description":"volume mounts","items":{"type":"object"}},"volumes":{"type":"array","description":"volumes","items":{"type":"object"}}}}}},"manager":{"type":"object","properties":{"index":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"node affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"object","properties":{"nodeSelectorTerms":{"type":"array","description":"node affinity required node selectors","items":{"type":"object"}}}}}},"podAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod affinity required scheduling terms","items":{"type":"object"}}}},"podAntiAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod anti-affinity preferred scheduling terms","items":{"type":"object"}},"requiredDuringSchedulingIgnoredDuringExecution":{"type":"array","description":"pod anti-affinity required scheduling terms","items":{"type":"object"}}}}}},"annotations":{"type":"object","description":"deployment annotations"},"enabled":{"type":"boolean","description":"index manager enabled"},"env":{"type":"array","description":"environment variables","items":{"type":"object"}},"externalTrafficPolicy":{"type":"string","description":"external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"},"image":{"type":"object","properties":{"pullPolicy":{"type":"string","description":"image pull policy","enum":["Always","Never","IfNotPresent"]},"repository":{"type":"string","description":"image repository"},"tag":{"type":"string","description":"image tag (overrides defaults.image.tag)"}}},"indexer":{"type":"object","properties":{"agent_namespace":{"type":"string","description":"namespace of agent pods to manage"},"auto_index_check_duration":{"type":"string","description":"check duration of automatic indexing"},"auto_index_duration_limit":{"type":"string","description":"limit duration of automatic indexing"},"auto_index_length":{"type":"integer","description":"number of cache to trigger automatic indexing"},"auto_save_index_duration_limit":{"type":"string","description":"limit duration of automatic index saving"},"auto_save_index_wait_duration":{"type":"string","description":"duration of automatic index saving wait duration for next saving"},"concurrency":{"type":"integer","description":"concurrency","minimum":1},"creation_pool_size":{"type":"integer","description":"number of pool size of create index processing"},"discoverer":{"type":"object","properties":{"agent_client_options":{"type":"object","properties":{"addrs":{"type":"array","description":"gRPC client addresses","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number","description":"gRPC client backoff factor"},"backoff_time_limit":{"type":"string","description":"gRPC client backoff time limit"},"enable_error_log":{"type":"boolean","description":"gRPC client backoff log enabled"},"initial_duration":{"type":"string","description":"gRPC client backoff initial duration"},"jitter_limit":{"type":"string","description":"gRPC client backoff jitter limit"},"maximum_duration":{"type":"string","description":"gRPC client backoff maximum duration"},"retry_count":{"type":"integer","description":"gRPC client backoff retry count"}}},"call_option":{"type":"object"},"circuit_breaker":{"type":"object","properties":{"closed_error_rate":{"type":"number","description":"gRPC client circuitbreaker closed error rate"},"closed_refresh_timeout":{"type":"string","description":"gRPC client circuitbreaker closed refresh timeout"},"half_open_error_rate":{"type":"number","description":"gRPC client circuitbreaker half-open error rate"},"min_samples":{"type":"integer","description":"gRPC client circuitbreaker minimum sampling count"},"open_timeout":{"type":"string","description":"gRPC client circuitbreaker open timeout"}}},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean","description":"enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"},"enable_rebalance":{"type":"boolean","description":"enables gRPC client connection pool rebalance"},"old_conn_close_duration":{"type":"string","description":"makes delay before gRPC client connection closing during connection pool rebalance"},"rebalance_duration":{"type":"string","description":"gRPC client connection pool rebalance duration"},"size":{"type":"integer","description":"gRPC client connection pool size"}}},"dial_option":{"type":"object","properties":{"backoff_base_delay":{"type":"string","description":"gRPC client dial option base backoff delay"},"backoff_jitter":{"type":"number","description":"gRPC client dial option base backoff delay"},"backoff_max_delay":{"type":"string","description":"gRPC client dial option max backoff delay"},"backoff_multiplier":{"type":"number","description":"gRPC client dial option base backoff delay"},"enable_backoff":{"type":"boolean","description":"gRPC client dial option backoff enabled"},"initial_connection_window_size":{"type":"integer","description":"gRPC client dial option initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC client dial option initial window size"},"insecure":{"type":"boolean","description":"gRPC client dial option insecure enabled"},"interceptors":{"type":"array","description":"gRPC client interceptors","items":{"type":"string","enum":["TraceInterceptor"]}},"keepalive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean","description":"gRPC client keep alive permit without stream"},"time":{"type":"string","description":"gRPC client keep alive time"},"timeout":{"type":"string","description":"gRPC client keep alive timeout"}}},"max_msg_size":{"type":"integer","description":"gRPC client dial option max message size"},"min_connection_timeout":{"type":"string","description":"gRPC client dial option minimum connection timeout"},"net":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean","description":"gRPC client TCP dialer dual stack enabled"},"keepalive":{"type":"string","description":"gRPC client TCP dialer keep alive"},"timeout":{"type":"string","description":"gRPC client TCP dialer timeout"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean","description":"gRPC client TCP DNS cache enabled"},"cache_expiration":{"type":"string","description":"gRPC client TCP DNS cache expiration"},"refresh_duration":{"type":"string","description":"gRPC client TCP DNS cache refresh duration"}}},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"read_buffer_size":{"type":"integer","description":"gRPC client dial option read buffer size"},"timeout":{"type":"string","description":"gRPC client dial option timeout"},"write_buffer_size":{"type":"integer","description":"gRPC client dial option write buffer size"}}},"health_check_duration":{"type":"string","description":"gRPC client health check duration"},"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","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}},"wait_for_ready":{"type":"boolean"}}},"client":{"type":"object","properties":{"addrs":{"type":"array","description":"gRPC client addresses","items":{"type":"string"}},"backoff":{"type":"object","properties":{"backoff_factor":{"type":"number","description":"gRPC client backoff factor"},"backoff_time_limit":{"type":"string","description":"gRPC client backoff time limit"},"enable_error_log":{"type":"boolean","description":"gRPC client backoff log enabled"},"initial_duration":{"type":"string","description":"gRPC client backoff initial duration"},"jitter_limit":{"type":"string","description":"gRPC client backoff jitter limit"},"maximum_duration":{"type":"string","description":"gRPC client backoff maximum duration"},"retry_count":{"type":"integer","description":"gRPC client backoff retry count"}}},"call_option":{"type":"object"},"circuit_breaker":{"type":"object","properties":{"closed_error_rate":{"type":"number","description":"gRPC client circuitbreaker closed error rate"},"closed_refresh_timeout":{"type":"string","description":"gRPC client circuitbreaker closed refresh timeout"},"half_open_error_rate":{"type":"number","description":"gRPC client circuitbreaker half-open error rate"},"min_samples":{"type":"integer","description":"gRPC client circuitbreaker minimum sampling count"},"open_timeout":{"type":"string","description":"gRPC client circuitbreaker open timeout"}}},"connection_pool":{"type":"object","properties":{"enable_dns_resolver":{"type":"boolean","description":"enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"},"enable_rebalance":{"type":"boolean","description":"enables gRPC client connection pool rebalance"},"old_conn_close_duration":{"type":"string","description":"makes delay before gRPC client connection closing during connection pool rebalance"},"rebalance_duration":{"type":"string","description":"gRPC client connection pool rebalance duration"},"size":{"type":"integer","description":"gRPC client connection pool size"}}},"dial_option":{"type":"object","properties":{"backoff_base_delay":{"type":"string","description":"gRPC client dial option base backoff delay"},"backoff_jitter":{"type":"number","description":"gRPC client dial option base backoff delay"},"backoff_max_delay":{"type":"string","description":"gRPC client dial option max backoff delay"},"backoff_multiplier":{"type":"number","description":"gRPC client dial option base backoff delay"},"enable_backoff":{"type":"boolean","description":"gRPC client dial option backoff enabled"},"initial_connection_window_size":{"type":"integer","description":"gRPC client dial option initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC client dial option initial window size"},"insecure":{"type":"boolean","description":"gRPC client dial option insecure enabled"},"interceptors":{"type":"array","description":"gRPC client interceptors","items":{"type":"string","enum":["TraceInterceptor"]}},"keepalive":{"type":"object","properties":{"permit_without_stream":{"type":"boolean","description":"gRPC client keep alive permit without stream"},"time":{"type":"string","description":"gRPC client keep alive time"},"timeout":{"type":"string","description":"gRPC client keep alive timeout"}}},"max_msg_size":{"type":"integer","description":"gRPC client dial option max message size"},"min_connection_timeout":{"type":"string","description":"gRPC client dial option minimum connection timeout"},"net":{"type":"object","properties":{"dialer":{"type":"object","properties":{"dual_stack_enabled":{"type":"boolean","description":"gRPC client TCP dialer dual stack enabled"},"keepalive":{"type":"string","description":"gRPC client TCP dialer keep alive"},"timeout":{"type":"string","description":"gRPC client TCP dialer timeout"}}},"dns":{"type":"object","properties":{"cache_enabled":{"type":"boolean","description":"gRPC client TCP DNS cache enabled"},"cache_expiration":{"type":"string","description":"gRPC client TCP DNS cache expiration"},"refresh_duration":{"type":"string","description":"gRPC client TCP DNS cache refresh duration"}}},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"read_buffer_size":{"type":"integer","description":"gRPC client dial option read buffer size"},"timeout":{"type":"string","description":"gRPC client dial option timeout"},"write_buffer_size":{"type":"integer","description":"gRPC client dial option write buffer size"}}},"health_check_duration":{"type":"string","description":"gRPC client health check duration"},"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","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}},"wait_for_ready":{"type":"boolean"}}},"duration":{"type":"string","description":"refresh duration to discover"}}},"node_name":{"type":"string","description":"node name"}}},"initContainers":{"type":"array","description":"init containers","items":{"type":"object"}},"kind":{"type":"string","description":"deployment kind: Deployment or DaemonSet","enum":["Deployment","DaemonSet"]},"logging":{"type":"object","properties":{"format":{"type":"string","description":"logging format. logging format must be `raw` or `json`","enum":["raw","json"]},"level":{"type":"string","description":"logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.","enum":["debug","info","warn","error","fatal"]},"logger":{"type":"string","description":"logger name. currently logger must be `glg` or `zap`.","enum":["glg","zap"]}}},"maxUnavailable":{"type":"string","description":"maximum number of unavailable replicas"},"name":{"type":"string","description":"name of index manager deployment"},"nodeName":{"type":"string","description":"node name"},"nodeSelector":{"type":"object","description":"node selector"},"observability":{"type":"object","properties":{"enabled":{"type":"boolean","description":"observability features enabled"},"metrics":{"type":"object","properties":{"enable_cgo":{"type":"boolean","description":"CGO metrics enabled"},"enable_goroutine":{"type":"boolean","description":"goroutine metrics enabled"},"enable_memory":{"type":"boolean","description":"memory metrics enabled"},"enable_version_info":{"type":"boolean","description":"version info metrics enabled"},"version_info_labels":{"type":"array","description":"enabled label names of version info","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"]}}}},"otlp":{"type":"object","properties":{"attribute":{"type":"object","description":"default resource attribute","properties":{"namespace":{"type":"string","description":"namespace"},"node_name":{"type":"string","description":"node name"},"pod_name":{"type":"string","description":"pod name"},"service_name":{"type":"string","description":"service name"}}},"collector_endpoint":{"type":"string","description":"OpenTelemetry Collector endpoint"},"metrics_export_interval":{"type":"string","description":"metrics export interval"},"metrics_export_timeout":{"type":"string","description":"metrics export timeout"},"trace_batch_timeout":{"type":"string","description":"trace batch timeout"},"trace_export_timeout":{"type":"string","description":"trace export timeout"},"trace_max_export_batch_size":{"type":"integer","description":"trace maximum export batch size"},"trace_max_queue_size":{"type":"integer","description":"trace maximum queue size"}}},"trace":{"type":"object","properties":{"enabled":{"type":"boolean","description":"trace enabled"}}}}},"podAnnotations":{"type":"object","description":"pod annotations"},"podPriority":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gateway pod PriorityClass enabled"},"value":{"type":"integer","description":"gateway pod PriorityClass value"}}},"podSecurityContext":{"type":"object","description":"security context for pod"},"progressDeadlineSeconds":{"type":"integer","description":"progress deadline seconds"},"replicas":{"type":"integer","description":"number of replicas","minimum":0},"resources":{"type":"object","description":"compute resources","properties":{"limits":{"type":"object"},"requests":{"type":"object"}}},"revisionHistoryLimit":{"type":"integer","description":"number of old history to retain to allow rollback","minimum":0},"rollingUpdate":{"type":"object","properties":{"maxSurge":{"type":"string","description":"max surge of rolling update"},"maxUnavailable":{"type":"string","description":"max unavailable of rolling update"}}},"securityContext":{"type":"object","description":"security context for container"},"server_config":{"type":"object","properties":{"full_shutdown_duration":{"type":"string","description":"server full shutdown duration"},"healths":{"type":"object","properties":{"liveness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"liveness server enabled"},"host":{"type":"string","description":"liveness server host"},"livenessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"liveness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"liveness probe path"},"port":{"type":"string","description":"liveness probe port"},"scheme":{"type":"string","description":"liveness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"liveness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"liveness probe period seconds"},"successThreshold":{"type":"integer","description":"liveness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"liveness probe timeout seconds"}}},"port":{"type":"integer","description":"liveness server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"liveness server service port","maximum":65535,"minimum":0}}},"readiness":{"type":"object","properties":{"enabled":{"type":"boolean","description":"readiness server enabled"},"host":{"type":"string","description":"readiness server host"},"port":{"type":"integer","description":"readiness server port","maximum":65535,"minimum":0},"readinessProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"readiness probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"readiness probe path"},"port":{"type":"string","description":"readiness probe port"},"scheme":{"type":"string","description":"readiness probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"readiness probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"readiness probe period seconds"},"successThreshold":{"type":"integer","description":"readiness probe success threshold"},"timeoutSeconds":{"type":"integer","description":"readiness probe timeout seconds"}}},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"readiness server service port","maximum":65535,"minimum":0}}},"startup":{"type":"object","properties":{"enabled":{"type":"boolean","description":"startup server enabled"},"port":{"type":"integer","description":"startup server port","maximum":65535,"minimum":0},"startupProbe":{"type":"object","properties":{"failureThreshold":{"type":"integer","description":"startup probe failure threshold"},"httpGet":{"type":"object","properties":{"path":{"type":"string","description":"startup probe path"},"port":{"type":"string","description":"startup probe port"},"scheme":{"type":"string","description":"startup probe scheme"}}},"initialDelaySeconds":{"type":"integer","description":"startup probe initial delay seconds"},"periodSeconds":{"type":"integer","description":"startup probe period seconds"},"successThreshold":{"type":"integer","description":"startup probe success threshold"},"timeoutSeconds":{"type":"integer","description":"startup probe timeout seconds"}}}}}}},"metrics":{"type":"object","properties":{"pprof":{"type":"object","properties":{"enabled":{"type":"boolean","description":"pprof server enabled"},"host":{"type":"string","description":"pprof server host"},"port":{"type":"integer","description":"pprof server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"pprof server service port","maximum":65535,"minimum":0}}}}},"servers":{"type":"object","properties":{"grpc":{"type":"object","properties":{"enabled":{"type":"boolean","description":"gRPC server enabled"},"host":{"type":"string","description":"gRPC server host"},"port":{"type":"integer","description":"gRPC server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"grpc":{"type":"object","properties":{"bidirectional_stream_concurrency":{"type":"integer","description":"gRPC server bidirectional stream concurrency"},"connection_timeout":{"type":"string","description":"gRPC server connection timeout"},"enable_reflection":{"type":"boolean","description":"gRPC server reflection option"},"header_table_size":{"type":"integer","description":"gRPC server header table size"},"initial_conn_window_size":{"type":"integer","description":"gRPC server initial connection window size"},"initial_window_size":{"type":"integer","description":"gRPC server initial window size"},"interceptors":{"type":"array","description":"gRPC server interceptors","items":{"type":"string","enum":["RecoverInterceptor","AccessLogInterceptor","TraceInterceptor","MetricInterceptor"]}},"keepalive":{"type":"object","properties":{"max_conn_age":{"type":"string","description":"gRPC server keep alive max connection age"},"max_conn_age_grace":{"type":"string","description":"gRPC server keep alive max connection age grace"},"max_conn_idle":{"type":"string","description":"gRPC server keep alive max connection idle"},"min_time":{"type":"string","description":"gRPC server keep alive min_time"},"permit_without_stream":{"type":"boolean","description":"gRPC server keep alive permit_without_stream"},"time":{"type":"string","description":"gRPC server keep alive time"},"timeout":{"type":"string","description":"gRPC server keep alive timeout"}}},"max_header_list_size":{"type":"integer","description":"gRPC server max header list size"},"max_receive_message_size":{"type":"integer","description":"gRPC server max receive message size"},"max_send_message_size":{"type":"integer","description":"gRPC server max send message size"},"read_buffer_size":{"type":"integer","description":"gRPC server read buffer size"},"write_buffer_size":{"type":"integer","description":"gRPC server write buffer size"}}},"mode":{"type":"string","description":"gRPC server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"gRPC server probe wait time"},"restart":{"type":"boolean","description":"gRPC server restart"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"gRPC server service port","maximum":65535,"minimum":0}}},"rest":{"type":"object","properties":{"enabled":{"type":"boolean","description":"REST server enabled"},"host":{"type":"string","description":"REST server host"},"port":{"type":"integer","description":"REST server port","maximum":65535,"minimum":0},"server":{"type":"object","properties":{"http":{"type":"object","properties":{"handler_timeout":{"type":"string","description":"REST server handler timeout"},"idle_timeout":{"type":"string","description":"REST server idle timeout"},"read_header_timeout":{"type":"string","description":"REST server read header timeout"},"read_timeout":{"type":"string","description":"REST server read timeout"},"shutdown_duration":{"type":"string","description":"REST server shutdown duration"},"write_timeout":{"type":"string","description":"REST server write timeout"}}},"mode":{"type":"string","description":"REST server server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"REST server probe wait time"},"socket_option":{"type":"object","properties":{"ip_recover_destination_addr":{"type":"boolean","description":"server listen socket option for ip_recover_destination_addr functionality"},"ip_transparent":{"type":"boolean","description":"server listen socket option for ip_transparent functionality"},"reuse_addr":{"type":"boolean","description":"server listen socket option for reuse_addr functionality"},"reuse_port":{"type":"boolean","description":"server listen socket option for reuse_port functionality"},"tcp_cork":{"type":"boolean","description":"server listen socket option for tcp_cork functionality"},"tcp_defer_accept":{"type":"boolean","description":"server listen socket option for tcp_defer_accept functionality"},"tcp_fast_open":{"type":"boolean","description":"server listen socket option for tcp_fast_open functionality"},"tcp_no_delay":{"type":"boolean","description":"server listen socket option for tcp_no_delay functionality"},"tcp_quick_ack":{"type":"boolean","description":"server listen socket option for tcp_quick_ack functionality"}}},"socket_path":{"type":"string","description":"mysql socket_path"}}},"servicePort":{"type":"integer","description":"REST server service port","maximum":65535,"minimum":0}}}}},"tls":{"type":"object","properties":{"ca":{"type":"string","description":"TLS ca path"},"cert":{"type":"string","description":"TLS cert path"},"enabled":{"type":"boolean","description":"TLS enabled"},"insecure_skip_verify":{"type":"boolean","description":"enable/disable skip SSL certificate verification"},"key":{"type":"string","description":"TLS key path"}}}}},"service":{"type":"object","properties":{"annotations":{"type":"object","description":"service annotations"},"labels":{"type":"object","description":"service labels"}}},"serviceType":{"type":"string","description":"service type: ClusterIP, LoadBalancer or NodePort","enum":["ClusterIP","LoadBalancer","NodePort"]},"terminationGracePeriodSeconds":{"type":"integer","description":"duration in seconds pod needs to terminate gracefully","minimum":0},"time_zone":{"type":"string","description":"Time zone"},"tolerations":{"type":"array","description":"tolerations","items":{"type":"object"}},"topologySpreadConstraints":{"type":"array","description":"topology spread constraints of gateway pods","items":{"type":"object"}},"version":{"type":"string","description":"version of gateway config","pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]$"},"volumeMounts":{"type":"array","description":"volume mounts","items":{"type":"object"}},"volumes":{"type":"array","description":"volumes","items":{"type":"object"}}}}}}}}
+{
+ "$schema": "https://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",
+ "description": "node affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "object",
+ "properties": {
+ "nodeSelectorTerms": {
+ "type": "array",
+ "description": "node affinity required node selectors",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ },
+ "podAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod affinity required scheduling terms",
+ "items": { "type": "object" }
+ }
+ }
+ },
+ "podAntiAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod anti-affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod anti-affinity required scheduling terms",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ },
+ "annotations": {
+ "type": "object",
+ "description": "deployment annotations"
+ },
+ "enabled": { "type": "boolean", "description": "agent enabled" },
+ "env": {
+ "type": "array",
+ "description": "environment variables",
+ "items": { "type": "object" }
+ },
+ "externalTrafficPolicy": {
+ "type": "string",
+ "description": "external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"
+ },
+ "hpa": {
+ "type": "object",
+ "properties": {
+ "enabled": { "type": "boolean", "description": "HPA enabled" },
+ "targetCPUUtilizationPercentage": {
+ "type": "integer",
+ "description": "HPA CPU utilization percentage"
+ }
+ }
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "pullPolicy": {
+ "type": "string",
+ "description": "image pull policy",
+ "enum": ["Always", "Never", "IfNotPresent"]
+ },
+ "repository": {
+ "type": "string",
+ "description": "image repository"
+ },
+ "tag": {
+ "type": "string",
+ "description": "image tag (overrides defaults.image.tag)"
+ }
+ }
+ },
+ "initContainers": {
+ "type": "array",
+ "description": "init containers",
+ "items": { "type": "object" }
+ },
+ "kind": {
+ "type": "string",
+ "description": "deployment kind: Deployment, DaemonSet or StatefulSet",
+ "enum": ["StatefulSet", "Deployment", "DaemonSet"]
+ },
+ "logging": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "logging format. logging format must be `raw` or `json`",
+ "enum": ["raw", "json"]
+ },
+ "level": {
+ "type": "string",
+ "description": "logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.",
+ "enum": ["debug", "info", "warn", "error", "fatal"]
+ },
+ "logger": {
+ "type": "string",
+ "description": "logger name. currently logger must be `glg` or `zap`.",
+ "enum": ["glg", "zap"]
+ }
+ }
+ },
+ "maxReplicas": {
+ "type": "integer",
+ "description": "maximum number of replicas. if HPA is disabled, this value will be ignored.",
+ "minimum": 0
+ },
+ "maxUnavailable": {
+ "type": "string",
+ "description": "maximum number of unavailable replicas"
+ },
+ "minReplicas": {
+ "type": "integer",
+ "description": "minimum number of replicas. if HPA is disabled, the replicas will be set to this value",
+ "minimum": 0
+ },
+ "name": { "type": "string", "description": "name of agent deployment" },
+ "ngt": {
+ "type": "object",
+ "properties": {
+ "auto_create_index_pool_size": {
+ "type": "integer",
+ "description": "batch process pool size of automatic create index operation"
+ },
+ "auto_index_check_duration": {
+ "type": "string",
+ "description": "check duration of automatic indexing"
+ },
+ "auto_index_duration_limit": {
+ "type": "string",
+ "description": "limit duration of automatic indexing"
+ },
+ "auto_index_length": {
+ "type": "integer",
+ "description": "number of cache to trigger automatic indexing"
+ },
+ "auto_save_index_duration": {
+ "type": "string",
+ "description": "duration of automatic save index"
+ },
+ "broken_index_history_limit": {
+ "type": "integer",
+ "description": "maximum number of broken index generations to backup",
+ "minimum": 0
+ },
+ "bulk_insert_chunk_size": {
+ "type": "integer",
+ "description": "bulk insert chunk size"
+ },
+ "creation_edge_size": {
+ "type": "integer",
+ "description": "creation edge size"
+ },
+ "default_epsilon": {
+ "type": "number",
+ "description": "default epsilon used for search"
+ },
+ "default_pool_size": {
+ "type": "integer",
+ "description": "default create index batch pool size"
+ },
+ "default_radius": {
+ "type": "number",
+ "description": "default radius used for search"
+ },
+ "dimension": {
+ "type": "integer",
+ "description": "vector dimension",
+ "minimum": 1
+ },
+ "distance_type": {
+ "type": "string",
+ "description": "distance type. it should be `l1`, `l2`, `angle`, `hamming`, `cosine`,`poincare`, `lorentz`, `jaccard`, `sparsejaccard`, `normalizedangle` or `normalizedcosine`. for further details about NGT libraries supported distance is https://github.com/yahoojapan/NGT/wiki/Command-Quick-Reference and vald agent's supported NGT distance type is https://pkg.go.dev/github.com/vdaas/vald/internal/core/algorithm/ngt#pkg-constants",
+ "enum": [
+ "l1",
+ "l2",
+ "ang",
+ "angle",
+ "ham",
+ "hamming",
+ "cos",
+ "cosine",
+ "poincare",
+ "poinc",
+ "lorentz",
+ "loren",
+ "jac",
+ "jaccard",
+ "spjac",
+ "sparsejaccard",
+ "norml2",
+ "normalizedl2",
+ "normang",
+ "normalizedangle",
+ "normcos",
+ "normalizedcosine"
+ ]
+ },
+ "enable_copy_on_write": {
+ "type": "boolean",
+ "description": "enable copy on write saving for more stable backup"
+ },
+ "enable_in_memory_mode": {
+ "type": "boolean",
+ "description": "in-memory mode enabled"
+ },
+ "enable_proactive_gc": {
+ "type": "boolean",
+ "description": "enable proactive GC call for reducing heap memory allocation"
+ },
+ "index_path": {
+ "type": "string",
+ "description": "path to index data"
+ },
+ "initial_delay_max_duration": {
+ "type": "string",
+ "description": "maximum duration for initial delay"
+ },
+ "kvsdb": {
+ "type": "object",
+ "properties": {
+ "concurrency": {
+ "type": "integer",
+ "description": "kvsdb processing concurrency"
+ }
+ }
+ },
+ "load_index_timeout_factor": {
+ "type": "string",
+ "description": "a factor of load index timeout. timeout duration will be calculated by (index count to be loaded) * (factor)."
+ },
+ "max_load_index_timeout": {
+ "type": "string",
+ "description": "maximum duration of load index timeout"
+ },
+ "min_load_index_timeout": {
+ "type": "string",
+ "description": "minimum duration of load index timeout"
+ },
+ "object_type": {
+ "type": "string",
+ "description": "object type. it should be `float` or `uint8` or `float16`. for further details: https://github.com/yahoojapan/NGT/wiki/Command-Quick-Reference",
+ "enum": ["float", "float16", "uint8"]
+ },
+ "search_edge_size": {
+ "type": "integer",
+ "description": "search edge size"
+ },
+ "vqueue": {
+ "type": "object",
+ "properties": {
+ "delete_buffer_pool_size": {
+ "type": "integer",
+ "description": "delete slice pool buffer size"
+ },
+ "insert_buffer_pool_size": {
+ "type": "integer",
+ "description": "insert slice pool buffer size"
+ }
+ }
+ }
+ }
+ },
+ "nodeName": { "type": "string", "description": "node name" },
+ "nodeSelector": { "type": "object", "description": "node selector" },
+ "observability": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "observability features enabled"
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "enable_cgo": {
+ "type": "boolean",
+ "description": "CGO metrics enabled"
+ },
+ "enable_goroutine": {
+ "type": "boolean",
+ "description": "goroutine metrics enabled"
+ },
+ "enable_memory": {
+ "type": "boolean",
+ "description": "memory metrics enabled"
+ },
+ "enable_version_info": {
+ "type": "boolean",
+ "description": "version info metrics enabled"
+ },
+ "version_info_labels": {
+ "type": "array",
+ "description": "enabled label names of version info",
+ "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"
+ ]
+ }
+ }
+ }
+ },
+ "otlp": {
+ "type": "object",
+ "properties": {
+ "attribute": {
+ "type": "object",
+ "description": "default resource attribute",
+ "properties": {
+ "namespace": {
+ "type": "string",
+ "description": "namespace"
+ },
+ "node_name": {
+ "type": "string",
+ "description": "node name"
+ },
+ "pod_name": { "type": "string", "description": "pod name" },
+ "service_name": {
+ "type": "string",
+ "description": "service name"
+ }
+ }
+ },
+ "collector_endpoint": {
+ "type": "string",
+ "description": "OpenTelemetry Collector endpoint"
+ },
+ "metrics_export_interval": {
+ "type": "string",
+ "description": "metrics export interval"
+ },
+ "metrics_export_timeout": {
+ "type": "string",
+ "description": "metrics export timeout"
+ },
+ "trace_batch_timeout": {
+ "type": "string",
+ "description": "trace batch timeout"
+ },
+ "trace_export_timeout": {
+ "type": "string",
+ "description": "trace export timeout"
+ },
+ "trace_max_export_batch_size": {
+ "type": "integer",
+ "description": "trace maximum export batch size"
+ },
+ "trace_max_queue_size": {
+ "type": "integer",
+ "description": "trace maximum queue size"
+ }
+ }
+ },
+ "trace": {
+ "type": "object",
+ "properties": {
+ "enabled": { "type": "boolean", "description": "trace enabled" }
+ }
+ }
+ }
+ },
+ "persistentVolume": {
+ "type": "object",
+ "properties": {
+ "accessMode": {
+ "type": "string",
+ "description": "agent pod storage accessMode"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "enables PVC. It is required to enable if agent pod's file store functionality is enabled with non in-memory mode"
+ },
+ "mountPropagation": {
+ "type": "string",
+ "description": "agent pod storage mountPropagation"
+ },
+ "size": {
+ "type": "string",
+ "description": "size of agent pod volume"
+ },
+ "storageClass": {
+ "type": "string",
+ "description": "storageClass name for agent pod volume"
+ }
+ }
+ },
+ "podAnnotations": {
+ "type": "object",
+ "description": "pod annotations"
+ },
+ "podManagementPolicy": {
+ "type": "string",
+ "description": "pod management policy: OrderedReady or Parallel",
+ "enum": ["OrderedReady", "Parallel"]
+ },
+ "podPriority": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gateway pod PriorityClass enabled"
+ },
+ "value": {
+ "type": "integer",
+ "description": "gateway pod PriorityClass value"
+ }
+ }
+ },
+ "podSecurityContext": {
+ "type": "object",
+ "description": "security context for pod"
+ },
+ "progressDeadlineSeconds": {
+ "type": "integer",
+ "description": "progress deadline seconds"
+ },
+ "resources": {
+ "type": "object",
+ "description": "compute resources",
+ "properties": {
+ "limits": { "type": "object" },
+ "requests": { "type": "object" }
+ }
+ },
+ "revisionHistoryLimit": {
+ "type": "integer",
+ "description": "number of old history to retain to allow rollback",
+ "minimum": 0
+ },
+ "rollingUpdate": {
+ "type": "object",
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "description": "max surge of rolling update"
+ },
+ "maxUnavailable": {
+ "type": "string",
+ "description": "max unavailable of rolling update"
+ },
+ "partition": {
+ "type": "integer",
+ "description": "StatefulSet partition"
+ }
+ }
+ },
+ "securityContext": {
+ "type": "object",
+ "description": "security context for container"
+ },
+ "server_config": {
+ "type": "object",
+ "properties": {
+ "full_shutdown_duration": {
+ "type": "string",
+ "description": "server full shutdown duration"
+ },
+ "healths": {
+ "type": "object",
+ "properties": {
+ "liveness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "liveness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "liveness server host"
+ },
+ "livenessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "liveness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "liveness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "liveness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "liveness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "liveness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "liveness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "liveness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "liveness probe timeout seconds"
+ }
+ }
+ },
+ "port": {
+ "type": "integer",
+ "description": "liveness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "liveness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "readiness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "readiness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "readiness server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "readiness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "readinessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "readiness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "readiness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "readiness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "readiness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "readiness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "readiness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "readiness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "readiness probe timeout seconds"
+ }
+ }
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "readiness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "startup": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "startup server enabled"
+ },
+ "port": {
+ "type": "integer",
+ "description": "startup server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "startupProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "startup probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "startup probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "startup probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "startup probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "startup probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "startup probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "startup probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "startup probe timeout seconds"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "pprof": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "pprof server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "pprof server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "pprof server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "pprof server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "servers": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gRPC server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "gRPC server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "gRPC server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "bidirectional_stream_concurrency": {
+ "type": "integer",
+ "description": "gRPC server bidirectional stream concurrency"
+ },
+ "connection_timeout": {
+ "type": "string",
+ "description": "gRPC server connection timeout"
+ },
+ "enable_reflection": {
+ "type": "boolean",
+ "description": "gRPC server reflection option"
+ },
+ "header_table_size": {
+ "type": "integer",
+ "description": "gRPC server header table size"
+ },
+ "initial_conn_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial window size"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC server interceptors",
+ "items": {
+ "type": "string",
+ "enum": [
+ "RecoverInterceptor",
+ "AccessLogInterceptor",
+ "TraceInterceptor",
+ "MetricInterceptor"
+ ]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "max_conn_age": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age"
+ },
+ "max_conn_age_grace": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age grace"
+ },
+ "max_conn_idle": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection idle"
+ },
+ "min_time": {
+ "type": "string",
+ "description": "gRPC server keep alive min_time"
+ },
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC server keep alive permit_without_stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC server keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC server keep alive timeout"
+ }
+ }
+ },
+ "max_header_list_size": {
+ "type": "integer",
+ "description": "gRPC server max header list size"
+ },
+ "max_receive_message_size": {
+ "type": "integer",
+ "description": "gRPC server max receive message size"
+ },
+ "max_send_message_size": {
+ "type": "integer",
+ "description": "gRPC server max send message size"
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server read buffer size"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server write buffer size"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "gRPC server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "gRPC server probe wait time"
+ },
+ "restart": {
+ "type": "boolean",
+ "description": "gRPC server restart"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "gRPC server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "REST server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "REST server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "REST server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "REST server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": { "type": "string", "description": "TLS ca path" },
+ "cert": { "type": "string", "description": "TLS cert path" },
+ "enabled": { "type": "boolean", "description": "TLS enabled" },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": { "type": "string", "description": "TLS key path" }
+ }
+ }
+ }
+ },
+ "service": {
+ "type": "object",
+ "properties": {
+ "annotations": {
+ "type": "object",
+ "description": "service annotations"
+ },
+ "labels": { "type": "object", "description": "service labels" }
+ }
+ },
+ "serviceType": {
+ "type": "string",
+ "description": "service type: ClusterIP, LoadBalancer or NodePort",
+ "enum": ["ClusterIP", "LoadBalancer", "NodePort"]
+ },
+ "sidecar": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "auto_backup_duration": {
+ "type": "string",
+ "description": "auto backup duration"
+ },
+ "auto_backup_enabled": {
+ "type": "boolean",
+ "description": "auto backup triggered by timer is enabled"
+ },
+ "blob_storage": {
+ "type": "object",
+ "properties": {
+ "bucket": {
+ "type": "string",
+ "description": "bucket name"
+ },
+ "cloud_storage": {
+ "type": "object",
+ "properties": {
+ "client": {
+ "type": "object",
+ "properties": {
+ "credentials_file_path": {
+ "type": "string",
+ "description": "credentials file path"
+ },
+ "credentials_json": {
+ "type": "string",
+ "description": "credentials json"
+ }
+ }
+ },
+ "url": {
+ "type": "string",
+ "description": "cloud storage url"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "bytes of the chunks for upload"
+ },
+ "write_cache_control": {
+ "type": "string",
+ "description": "Cache-Control of HTTP Header"
+ },
+ "write_content_disposition": {
+ "type": "string",
+ "description": "Content-Disposition of HTTP Header"
+ },
+ "write_content_encoding": {
+ "type": "string",
+ "description": "the encoding of the blob's content"
+ },
+ "write_content_language": {
+ "type": "string",
+ "description": "the language of blob's content"
+ },
+ "write_content_type": {
+ "type": "string",
+ "description": "MIME type of the blob"
+ }
+ }
+ },
+ "s3": {
+ "type": "object",
+ "properties": {
+ "access_key": {
+ "type": "string",
+ "description": "s3 access key"
+ },
+ "enable_100_continue": {
+ "type": "boolean",
+ "description": "enable AWS SDK adding the 'Expect: 100-Continue' header to PUT requests over 2MB of content."
+ },
+ "enable_content_md5_validation": {
+ "type": "boolean",
+ "description": "enable the S3 client to add MD5 checksum to upload API calls."
+ },
+ "enable_endpoint_discovery": {
+ "type": "boolean",
+ "description": "enable endpoint discovery"
+ },
+ "enable_endpoint_host_prefix": {
+ "type": "boolean",
+ "description": "enable prefixing request endpoint hosts with modeled information"
+ },
+ "enable_param_validation": {
+ "type": "boolean",
+ "description": "enables semantic parameter validation"
+ },
+ "enable_ssl": {
+ "type": "boolean",
+ "description": "enable ssl for s3 session"
+ },
+ "endpoint": {
+ "type": "string",
+ "description": "s3 endpoint"
+ },
+ "force_path_style": {
+ "type": "boolean",
+ "description": "use path-style addressing"
+ },
+ "max_chunk_size": {
+ "type": "string",
+ "description": "s3 download max chunk size",
+ "pattern": "^[0-9]+(kb|mb|gb)$"
+ },
+ "max_part_size": {
+ "type": "string",
+ "description": "s3 multipart upload max part size",
+ "pattern": "^[0-9]+(kb|mb|gb)$"
+ },
+ "max_retries": {
+ "type": "integer",
+ "description": "maximum number of retries of s3 client"
+ },
+ "region": {
+ "type": "string",
+ "description": "s3 region"
+ },
+ "secret_access_key": {
+ "type": "string",
+ "description": "s3 secret access key"
+ },
+ "token": {
+ "type": "string",
+ "description": "s3 token"
+ },
+ "use_accelerate": {
+ "type": "boolean",
+ "description": "enable s3 accelerate feature"
+ },
+ "use_arn_region": {
+ "type": "boolean",
+ "description": "s3 service client to use the region specified in the ARN"
+ },
+ "use_dual_stack": {
+ "type": "boolean",
+ "description": "use dual stack"
+ }
+ }
+ },
+ "storage_type": {
+ "type": "string",
+ "description": "storage type",
+ "enum": ["s3", "cloud_storage"]
+ }
+ }
+ },
+ "client": {
+ "type": "object",
+ "properties": {
+ "net": {
+ "type": "object",
+ "properties": {
+ "dialer": {
+ "type": "object",
+ "properties": {
+ "dual_stack_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP dialer dual stack enabled"
+ },
+ "keepalive": {
+ "type": "string",
+ "description": "gRPC client TCP dialer keep alive"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client TCP dialer timeout"
+ }
+ }
+ },
+ "dns": {
+ "type": "object",
+ "properties": {
+ "cache_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP DNS cache enabled"
+ },
+ "cache_expiration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache expiration"
+ },
+ "refresh_duration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache refresh duration"
+ }
+ }
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": {
+ "type": "string",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ }
+ }
+ },
+ "transport": {
+ "type": "object",
+ "properties": {
+ "backoff": {
+ "type": "object",
+ "properties": {
+ "backoff_factor": {
+ "type": "number",
+ "description": "gRPC client backoff factor"
+ },
+ "backoff_time_limit": {
+ "type": "string",
+ "description": "gRPC client backoff time limit"
+ },
+ "enable_error_log": {
+ "type": "boolean",
+ "description": "gRPC client backoff log enabled"
+ },
+ "initial_duration": {
+ "type": "string",
+ "description": "gRPC client backoff initial duration"
+ },
+ "jitter_limit": {
+ "type": "string",
+ "description": "gRPC client backoff jitter limit"
+ },
+ "maximum_duration": {
+ "type": "string",
+ "description": "gRPC client backoff maximum duration"
+ },
+ "retry_count": {
+ "type": "integer",
+ "description": "gRPC client backoff retry count"
+ }
+ }
+ },
+ "round_tripper": {
+ "type": "object",
+ "properties": {
+ "expect_continue_timeout": {
+ "type": "string",
+ "description": "expect continue timeout"
+ },
+ "force_attempt_http_2": {
+ "type": "boolean",
+ "description": "force attempt HTTP2"
+ },
+ "idle_conn_timeout": {
+ "type": "string",
+ "description": "timeout for idle connections"
+ },
+ "max_conns_per_host": {
+ "type": "integer",
+ "description": "maximum count of connections per host"
+ },
+ "max_idle_conns": {
+ "type": "integer",
+ "description": "maximum count of idle connections"
+ },
+ "max_idle_conns_per_host": {
+ "type": "integer",
+ "description": "maximum count of idle connections per host"
+ },
+ "max_response_header_size": {
+ "type": "integer",
+ "description": "maximum response header size"
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "read buffer size"
+ },
+ "response_header_timeout": {
+ "type": "string",
+ "description": "timeout for response header"
+ },
+ "tls_handshake_timeout": {
+ "type": "string",
+ "description": "TLS handshake timeout"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "write buffer size"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "compress": {
+ "type": "object",
+ "properties": {
+ "compress_algorithm": {
+ "type": "string",
+ "description": "compression algorithm. must be `gob`, `gzip`, `lz4` or `zstd`",
+ "enum": ["gob", "gzip", "lz4", "zstd"]
+ },
+ "compression_level": {
+ "type": "integer",
+ "description": "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`: \u003e= 0, higher is better compression. `zstd`: 1 (fastest) to 22 (best), however implementation relies on klauspost/compress."
+ }
+ }
+ },
+ "filename": {
+ "type": "string",
+ "description": "backup filename"
+ },
+ "filename_suffix": {
+ "type": "string",
+ "description": "suffix for backup filename"
+ },
+ "post_stop_timeout": {
+ "type": "string",
+ "description": "timeout for observing file changes during post stop"
+ },
+ "restore_backoff": {
+ "type": "object",
+ "properties": {
+ "backoff_factor": {
+ "type": "number",
+ "description": "gRPC client backoff factor"
+ },
+ "backoff_time_limit": {
+ "type": "string",
+ "description": "gRPC client backoff time limit"
+ },
+ "enable_error_log": {
+ "type": "boolean",
+ "description": "gRPC client backoff log enabled"
+ },
+ "initial_duration": {
+ "type": "string",
+ "description": "gRPC client backoff initial duration"
+ },
+ "jitter_limit": {
+ "type": "string",
+ "description": "gRPC client backoff jitter limit"
+ },
+ "maximum_duration": {
+ "type": "string",
+ "description": "gRPC client backoff maximum duration"
+ },
+ "retry_count": {
+ "type": "integer",
+ "description": "gRPC client backoff retry count"
+ }
+ }
+ },
+ "restore_backoff_enabled": {
+ "type": "boolean",
+ "description": "restore backoff enabled"
+ },
+ "watch_enabled": {
+ "type": "boolean",
+ "description": "auto backup triggered by file changes is enabled"
+ }
+ }
+ },
+ "enabled": { "type": "boolean", "description": "sidecar enabled" },
+ "env": {
+ "type": "array",
+ "description": "environment variables",
+ "items": { "type": "object" }
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "pullPolicy": {
+ "type": "string",
+ "description": "image pull policy",
+ "enum": ["Always", "Never", "IfNotPresent"]
+ },
+ "repository": {
+ "type": "string",
+ "description": "image repository"
+ },
+ "tag": {
+ "type": "string",
+ "description": "image tag (overrides defaults.image.tag)"
+ }
+ }
+ },
+ "initContainerEnabled": {
+ "type": "boolean",
+ "description": "sidecar on initContainer mode enabled."
+ },
+ "logging": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "logging format. logging format must be `raw` or `json`",
+ "enum": ["raw", "json"]
+ },
+ "level": {
+ "type": "string",
+ "description": "logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.",
+ "enum": ["debug", "info", "warn", "error", "fatal"]
+ },
+ "logger": {
+ "type": "string",
+ "description": "logger name. currently logger must be `glg` or `zap`.",
+ "enum": ["glg", "zap"]
+ }
+ }
+ },
+ "name": {
+ "type": "string",
+ "description": "name of agent sidecar"
+ },
+ "observability": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "observability features enabled"
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "enable_cgo": {
+ "type": "boolean",
+ "description": "CGO metrics enabled"
+ },
+ "enable_goroutine": {
+ "type": "boolean",
+ "description": "goroutine metrics enabled"
+ },
+ "enable_memory": {
+ "type": "boolean",
+ "description": "memory metrics enabled"
+ },
+ "enable_version_info": {
+ "type": "boolean",
+ "description": "version info metrics enabled"
+ },
+ "version_info_labels": {
+ "type": "array",
+ "description": "enabled label names of version info",
+ "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"
+ ]
+ }
+ }
+ }
+ },
+ "otlp": {
+ "type": "object",
+ "properties": {
+ "attribute": {
+ "type": "object",
+ "description": "default resource attribute",
+ "properties": {
+ "namespace": {
+ "type": "string",
+ "description": "namespace"
+ },
+ "node_name": {
+ "type": "string",
+ "description": "node name"
+ },
+ "pod_name": {
+ "type": "string",
+ "description": "pod name"
+ },
+ "service_name": {
+ "type": "string",
+ "description": "service name"
+ }
+ }
+ },
+ "collector_endpoint": {
+ "type": "string",
+ "description": "OpenTelemetry Collector endpoint"
+ },
+ "metrics_export_interval": {
+ "type": "string",
+ "description": "metrics export interval"
+ },
+ "metrics_export_timeout": {
+ "type": "string",
+ "description": "metrics export timeout"
+ },
+ "trace_batch_timeout": {
+ "type": "string",
+ "description": "trace batch timeout"
+ },
+ "trace_export_timeout": {
+ "type": "string",
+ "description": "trace export timeout"
+ },
+ "trace_max_export_batch_size": {
+ "type": "integer",
+ "description": "trace maximum export batch size"
+ },
+ "trace_max_queue_size": {
+ "type": "integer",
+ "description": "trace maximum queue size"
+ }
+ }
+ },
+ "trace": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "trace enabled"
+ }
+ }
+ }
+ }
+ },
+ "resources": {
+ "type": "object",
+ "description": "compute resources",
+ "properties": {
+ "limits": { "type": "object" },
+ "requests": { "type": "object" }
+ }
+ },
+ "server_config": {
+ "type": "object",
+ "properties": {
+ "full_shutdown_duration": {
+ "type": "string",
+ "description": "server full shutdown duration"
+ },
+ "healths": {
+ "type": "object",
+ "properties": {
+ "liveness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "liveness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "liveness server host"
+ },
+ "livenessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "liveness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "liveness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "liveness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "liveness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "liveness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "liveness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "liveness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "liveness probe timeout seconds"
+ }
+ }
+ },
+ "port": {
+ "type": "integer",
+ "description": "liveness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "liveness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "readiness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "readiness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "readiness server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "readiness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "readinessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "readiness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "readiness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "readiness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "readiness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "readiness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "readiness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "readiness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "readiness probe timeout seconds"
+ }
+ }
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "readiness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "startup": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "startup server enabled"
+ },
+ "port": {
+ "type": "integer",
+ "description": "startup server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "startupProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "startup probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "startup probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "startup probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "startup probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "startup probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "startup probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "startup probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "startup probe timeout seconds"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "pprof": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "pprof server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "pprof server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "pprof server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "pprof server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "servers": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gRPC server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "gRPC server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "gRPC server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "bidirectional_stream_concurrency": {
+ "type": "integer",
+ "description": "gRPC server bidirectional stream concurrency"
+ },
+ "connection_timeout": {
+ "type": "string",
+ "description": "gRPC server connection timeout"
+ },
+ "enable_reflection": {
+ "type": "boolean",
+ "description": "gRPC server reflection option"
+ },
+ "header_table_size": {
+ "type": "integer",
+ "description": "gRPC server header table size"
+ },
+ "initial_conn_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial window size"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC server interceptors",
+ "items": {
+ "type": "string",
+ "enum": [
+ "RecoverInterceptor",
+ "AccessLogInterceptor",
+ "TraceInterceptor",
+ "MetricInterceptor"
+ ]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "max_conn_age": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age"
+ },
+ "max_conn_age_grace": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age grace"
+ },
+ "max_conn_idle": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection idle"
+ },
+ "min_time": {
+ "type": "string",
+ "description": "gRPC server keep alive min_time"
+ },
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC server keep alive permit_without_stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC server keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC server keep alive timeout"
+ }
+ }
+ },
+ "max_header_list_size": {
+ "type": "integer",
+ "description": "gRPC server max header list size"
+ },
+ "max_receive_message_size": {
+ "type": "integer",
+ "description": "gRPC server max receive message size"
+ },
+ "max_send_message_size": {
+ "type": "integer",
+ "description": "gRPC server max send message size"
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server read buffer size"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server write buffer size"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "gRPC server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "gRPC server probe wait time"
+ },
+ "restart": {
+ "type": "boolean",
+ "description": "gRPC server restart"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "gRPC server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "REST server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "REST server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "REST server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "REST server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": { "type": "string", "description": "TLS ca path" },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": { "type": "string", "description": "TLS key path" }
+ }
+ }
+ }
+ },
+ "service": {
+ "type": "object",
+ "properties": {
+ "annotations": {
+ "type": "object",
+ "description": "agent sidecar service annotations"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "agent sidecar service enabled"
+ },
+ "externalTrafficPolicy": {
+ "type": "string",
+ "description": "external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"
+ },
+ "labels": {
+ "type": "object",
+ "description": "agent sidecar service labels"
+ },
+ "type": {
+ "type": "string",
+ "description": "service type: ClusterIP, LoadBalancer or NodePort",
+ "enum": ["ClusterIP", "LoadBalancer", "NodePort"]
+ }
+ }
+ },
+ "time_zone": { "type": "string", "description": "Time zone" },
+ "version": {
+ "type": "string",
+ "description": "version of gateway config",
+ "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$"
+ }
+ }
+ },
+ "terminationGracePeriodSeconds": {
+ "type": "integer",
+ "description": "duration in seconds pod needs to terminate gracefully",
+ "minimum": 0
+ },
+ "time_zone": { "type": "string", "description": "Time zone" },
+ "tolerations": {
+ "type": "array",
+ "description": "tolerations",
+ "items": { "type": "object" }
+ },
+ "topologySpreadConstraints": {
+ "type": "array",
+ "description": "topology spread constraints of gateway pods",
+ "items": { "type": "object" }
+ },
+ "version": {
+ "type": "string",
+ "description": "version of gateway config",
+ "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$"
+ },
+ "volumeMounts": {
+ "type": "array",
+ "description": "volume mounts",
+ "items": { "type": "object" }
+ },
+ "volumes": {
+ "type": "array",
+ "description": "volumes",
+ "items": { "type": "object" }
+ }
+ }
+ },
+ "defaults": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "client": {
+ "type": "object",
+ "properties": {
+ "addrs": {
+ "type": "array",
+ "description": "gRPC client addresses",
+ "items": { "type": "string" }
+ },
+ "backoff": {
+ "type": "object",
+ "properties": {
+ "backoff_factor": {
+ "type": "number",
+ "description": "gRPC client backoff factor"
+ },
+ "backoff_time_limit": {
+ "type": "string",
+ "description": "gRPC client backoff time limit"
+ },
+ "enable_error_log": {
+ "type": "boolean",
+ "description": "gRPC client backoff log enabled"
+ },
+ "initial_duration": {
+ "type": "string",
+ "description": "gRPC client backoff initial duration"
+ },
+ "jitter_limit": {
+ "type": "string",
+ "description": "gRPC client backoff jitter limit"
+ },
+ "maximum_duration": {
+ "type": "string",
+ "description": "gRPC client backoff maximum duration"
+ },
+ "retry_count": {
+ "type": "integer",
+ "description": "gRPC client backoff retry count"
+ }
+ }
+ },
+ "call_option": { "type": "object" },
+ "circuit_breaker": {
+ "type": "object",
+ "properties": {
+ "closed_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker closed error rate"
+ },
+ "closed_refresh_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker closed refresh timeout"
+ },
+ "half_open_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker half-open error rate"
+ },
+ "min_samples": {
+ "type": "integer",
+ "description": "gRPC client circuitbreaker minimum sampling count"
+ },
+ "open_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker open timeout"
+ }
+ }
+ },
+ "connection_pool": {
+ "type": "object",
+ "properties": {
+ "enable_dns_resolver": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"
+ },
+ "enable_rebalance": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool rebalance"
+ },
+ "old_conn_close_duration": {
+ "type": "string",
+ "description": "makes delay before gRPC client connection closing during connection pool rebalance"
+ },
+ "rebalance_duration": {
+ "type": "string",
+ "description": "gRPC client connection pool rebalance duration"
+ },
+ "size": {
+ "type": "integer",
+ "description": "gRPC client connection pool size"
+ }
+ }
+ },
+ "dial_option": {
+ "type": "object",
+ "properties": {
+ "backoff_base_delay": {
+ "type": "string",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_jitter": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_max_delay": {
+ "type": "string",
+ "description": "gRPC client dial option max backoff delay"
+ },
+ "backoff_multiplier": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "enable_backoff": {
+ "type": "boolean",
+ "description": "gRPC client dial option backoff enabled"
+ },
+ "initial_connection_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial window size"
+ },
+ "insecure": {
+ "type": "boolean",
+ "description": "gRPC client dial option insecure enabled"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC client interceptors",
+ "items": {
+ "type": "string",
+ "enum": ["TraceInterceptor"]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC client keep alive permit without stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC client keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client keep alive timeout"
+ }
+ }
+ },
+ "max_msg_size": {
+ "type": "integer",
+ "description": "gRPC client dial option max message size"
+ },
+ "min_connection_timeout": {
+ "type": "string",
+ "description": "gRPC client dial option minimum connection timeout"
+ },
+ "net": {
+ "type": "object",
+ "properties": {
+ "dialer": {
+ "type": "object",
+ "properties": {
+ "dual_stack_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP dialer dual stack enabled"
+ },
+ "keepalive": {
+ "type": "string",
+ "description": "gRPC client TCP dialer keep alive"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client TCP dialer timeout"
+ }
+ }
+ },
+ "dns": {
+ "type": "object",
+ "properties": {
+ "cache_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP DNS cache enabled"
+ },
+ "cache_expiration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache expiration"
+ },
+ "refresh_duration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache refresh duration"
+ }
+ }
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": {
+ "type": "string",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ }
+ }
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option read buffer size"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client dial option timeout"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option write buffer size"
+ }
+ }
+ },
+ "health_check_duration": {
+ "type": "string",
+ "description": "gRPC client health check duration"
+ },
+ "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", "description": "TLS ca path" },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": { "type": "string", "description": "TLS key path" }
+ }
+ },
+ "wait_for_ready": { "type": "boolean" }
+ }
+ }
+ }
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "tag": { "type": "string", "description": "docker image tag" }
+ }
+ },
+ "logging": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "logging format. logging format must be `raw` or `json`",
+ "enum": ["raw", "json"]
+ },
+ "level": {
+ "type": "string",
+ "description": "logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.",
+ "enum": ["debug", "info", "warn", "error", "fatal"]
+ },
+ "logger": {
+ "type": "string",
+ "description": "logger name. currently logger must be `glg` or `zap`.",
+ "enum": ["glg", "zap"]
+ }
+ }
+ },
+ "networkPolicy": {
+ "type": "object",
+ "properties": {
+ "custom": {
+ "type": "object",
+ "description": "custom network policies that a user can add",
+ "properties": {
+ "egress": {
+ "type": "object",
+ "description": "custom egress network policies that a user can add"
+ },
+ "ingress": {
+ "type": "object",
+ "description": "custom ingress network policies that a user can add"
+ }
+ }
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "if network policy enabled"
+ }
+ }
+ },
+ "observability": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "observability features enabled"
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "enable_cgo": {
+ "type": "boolean",
+ "description": "CGO metrics enabled"
+ },
+ "enable_goroutine": {
+ "type": "boolean",
+ "description": "goroutine metrics enabled"
+ },
+ "enable_memory": {
+ "type": "boolean",
+ "description": "memory metrics enabled"
+ },
+ "enable_version_info": {
+ "type": "boolean",
+ "description": "version info metrics enabled"
+ },
+ "version_info_labels": {
+ "type": "array",
+ "description": "enabled label names of version info",
+ "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"
+ ]
+ }
+ }
+ }
+ },
+ "otlp": {
+ "type": "object",
+ "properties": {
+ "attribute": {
+ "type": "object",
+ "description": "default resource attribute",
+ "properties": {
+ "namespace": {
+ "type": "string",
+ "description": "namespace"
+ },
+ "node_name": {
+ "type": "string",
+ "description": "node name"
+ },
+ "pod_name": { "type": "string", "description": "pod name" },
+ "service_name": {
+ "type": "string",
+ "description": "service name"
+ }
+ }
+ },
+ "collector_endpoint": {
+ "type": "string",
+ "description": "OpenTelemetry Collector endpoint"
+ },
+ "metrics_export_interval": {
+ "type": "string",
+ "description": "metrics export interval"
+ },
+ "metrics_export_timeout": {
+ "type": "string",
+ "description": "metrics export timeout"
+ },
+ "trace_batch_timeout": {
+ "type": "string",
+ "description": "trace batch timeout"
+ },
+ "trace_export_timeout": {
+ "type": "string",
+ "description": "trace export timeout"
+ },
+ "trace_max_export_batch_size": {
+ "type": "integer",
+ "description": "trace maximum export batch size"
+ },
+ "trace_max_queue_size": {
+ "type": "integer",
+ "description": "trace maximum queue size"
+ }
+ }
+ },
+ "trace": {
+ "type": "object",
+ "properties": {
+ "enabled": { "type": "boolean", "description": "trace enabled" }
+ }
+ }
+ }
+ },
+ "server_config": {
+ "type": "object",
+ "properties": {
+ "full_shutdown_duration": {
+ "type": "string",
+ "description": "server full shutdown duration"
+ },
+ "healths": {
+ "type": "object",
+ "properties": {
+ "liveness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "liveness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "liveness server host"
+ },
+ "livenessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "liveness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "liveness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "liveness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "liveness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "liveness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "liveness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "liveness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "liveness probe timeout seconds"
+ }
+ }
+ },
+ "port": {
+ "type": "integer",
+ "description": "liveness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "liveness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "readiness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "readiness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "readiness server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "readiness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "readinessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "readiness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "readiness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "readiness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "readiness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "readiness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "readiness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "readiness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "readiness probe timeout seconds"
+ }
+ }
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "readiness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "startup": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "startup server enabled"
+ },
+ "port": {
+ "type": "integer",
+ "description": "startup server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "startupProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "startup probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "startup probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "startup probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "startup probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "startup probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "startup probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "startup probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "startup probe timeout seconds"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "pprof": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "pprof server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "pprof server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "pprof server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "pprof server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "servers": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gRPC server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "gRPC server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "gRPC server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "bidirectional_stream_concurrency": {
+ "type": "integer",
+ "description": "gRPC server bidirectional stream concurrency"
+ },
+ "connection_timeout": {
+ "type": "string",
+ "description": "gRPC server connection timeout"
+ },
+ "enable_reflection": {
+ "type": "boolean",
+ "description": "gRPC server reflection option"
+ },
+ "header_table_size": {
+ "type": "integer",
+ "description": "gRPC server header table size"
+ },
+ "initial_conn_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial window size"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC server interceptors",
+ "items": {
+ "type": "string",
+ "enum": [
+ "RecoverInterceptor",
+ "AccessLogInterceptor",
+ "TraceInterceptor",
+ "MetricInterceptor"
+ ]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "max_conn_age": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age"
+ },
+ "max_conn_age_grace": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age grace"
+ },
+ "max_conn_idle": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection idle"
+ },
+ "min_time": {
+ "type": "string",
+ "description": "gRPC server keep alive min_time"
+ },
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC server keep alive permit_without_stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC server keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC server keep alive timeout"
+ }
+ }
+ },
+ "max_header_list_size": {
+ "type": "integer",
+ "description": "gRPC server max header list size"
+ },
+ "max_receive_message_size": {
+ "type": "integer",
+ "description": "gRPC server max receive message size"
+ },
+ "max_send_message_size": {
+ "type": "integer",
+ "description": "gRPC server max send message size"
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server read buffer size"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server write buffer size"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "gRPC server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "gRPC server probe wait time"
+ },
+ "restart": {
+ "type": "boolean",
+ "description": "gRPC server restart"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "gRPC server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "REST server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "REST server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "REST server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "REST server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": { "type": "string", "description": "TLS ca path" },
+ "cert": { "type": "string", "description": "TLS cert path" },
+ "enabled": { "type": "boolean", "description": "TLS enabled" },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": { "type": "string", "description": "TLS key path" }
+ }
+ }
+ }
+ },
+ "time_zone": { "type": "string", "description": "Time zone" }
+ }
+ },
+ "discoverer": {
+ "type": "object",
+ "properties": {
+ "affinity": {
+ "type": "object",
+ "properties": {
+ "nodeAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "node affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "object",
+ "properties": {
+ "nodeSelectorTerms": {
+ "type": "array",
+ "description": "node affinity required node selectors",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ },
+ "podAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod affinity required scheduling terms",
+ "items": { "type": "object" }
+ }
+ }
+ },
+ "podAntiAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod anti-affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod anti-affinity required scheduling terms",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ },
+ "annotations": {
+ "type": "object",
+ "description": "deployment annotations"
+ },
+ "clusterRole": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "creates clusterRole resource"
+ },
+ "name": { "type": "string", "description": "name of clusterRole" }
+ }
+ },
+ "clusterRoleBinding": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "creates clusterRoleBinding resource"
+ },
+ "name": {
+ "type": "string",
+ "description": "name of clusterRoleBinding"
+ }
+ }
+ },
+ "discoverer": {
+ "type": "object",
+ "properties": {
+ "discovery_duration": {
+ "type": "string",
+ "description": "duration to discovery"
+ },
+ "name": { "type": "string", "description": "name to discovery" },
+ "namespace": {
+ "type": "string",
+ "description": "namespace to discovery"
+ },
+ "net": {
+ "type": "object",
+ "properties": {
+ "dialer": {
+ "type": "object",
+ "properties": {
+ "dual_stack_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP dialer dual stack enabled"
+ },
+ "keepalive": {
+ "type": "string",
+ "description": "gRPC client TCP dialer keep alive"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client TCP dialer timeout"
+ }
+ }
+ },
+ "dns": {
+ "type": "object",
+ "properties": {
+ "cache_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP DNS cache enabled"
+ },
+ "cache_expiration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache expiration"
+ },
+ "refresh_duration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache refresh duration"
+ }
+ }
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": { "type": "string", "description": "TLS ca path" },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": { "type": "string", "description": "TLS key path" }
+ }
+ }
+ }
+ },
+ "selectors": {
+ "type": "object",
+ "description": "k8s resource selectors",
+ "properties": {
+ "node": {
+ "type": "object",
+ "description": "k8s resource selectors for node discovery",
+ "properties": {
+ "fields": {
+ "type": "object",
+ "description": "k8s field selectors for node discovery"
+ },
+ "labels": {
+ "type": "object",
+ "description": "k8s label selectors for node discovery"
+ }
+ }
+ },
+ "node_metrics": {
+ "type": "object",
+ "description": "k8s resource selectors for node_metrics discovery",
+ "properties": {
+ "fields": {
+ "type": "object",
+ "description": "k8s field selectors for node_metrics discovery"
+ },
+ "labels": {
+ "type": "object",
+ "description": "k8s label selectors for node_metrics discovery"
+ }
+ }
+ },
+ "pod": {
+ "type": "object",
+ "description": "k8s resource selectors for pod discovery",
+ "properties": {
+ "fields": {
+ "type": "object",
+ "description": "k8s field selectors for pod discovery"
+ },
+ "labels": {
+ "type": "object",
+ "description": "k8s label selectors for pod discovery"
+ }
+ }
+ },
+ "pod_metrics": {
+ "type": "object",
+ "description": "k8s resource selectors for pod_metrics discovery",
+ "properties": {
+ "fields": {
+ "type": "object",
+ "description": "k8s field selectors for pod_metrics discovery"
+ },
+ "labels": {
+ "type": "object",
+ "description": "k8s label selectors for pod_metrics discovery"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "enabled": { "type": "boolean", "description": "discoverer enabled" },
+ "env": {
+ "type": "array",
+ "description": "environment variables",
+ "items": { "type": "object" }
+ },
+ "externalTrafficPolicy": {
+ "type": "string",
+ "description": "external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"
+ },
+ "hpa": {
+ "type": "object",
+ "properties": {
+ "enabled": { "type": "boolean", "description": "HPA enabled" },
+ "targetCPUUtilizationPercentage": {
+ "type": "integer",
+ "description": "HPA CPU utilization percentage"
+ }
+ }
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "pullPolicy": {
+ "type": "string",
+ "description": "image pull policy",
+ "enum": ["Always", "Never", "IfNotPresent"]
+ },
+ "repository": {
+ "type": "string",
+ "description": "image repository"
+ },
+ "tag": {
+ "type": "string",
+ "description": "image tag (overrides defaults.image.tag)"
+ }
+ }
+ },
+ "initContainers": {
+ "type": "array",
+ "description": "init containers",
+ "items": { "type": "object" }
+ },
+ "internalTrafficPolicy": {
+ "type": "string",
+ "description": "internal traffic policy : Cluster or Local"
+ },
+ "kind": {
+ "type": "string",
+ "description": "deployment kind: Deployment or DaemonSet",
+ "enum": ["Deployment", "DaemonSet"]
+ },
+ "logging": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "logging format. logging format must be `raw` or `json`",
+ "enum": ["raw", "json"]
+ },
+ "level": {
+ "type": "string",
+ "description": "logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.",
+ "enum": ["debug", "info", "warn", "error", "fatal"]
+ },
+ "logger": {
+ "type": "string",
+ "description": "logger name. currently logger must be `glg` or `zap`.",
+ "enum": ["glg", "zap"]
+ }
+ }
+ },
+ "maxReplicas": {
+ "type": "integer",
+ "description": "maximum number of replicas. if HPA is disabled, this value will be ignored.",
+ "minimum": 0
+ },
+ "maxUnavailable": {
+ "type": "string",
+ "description": "maximum number of unavailable replicas"
+ },
+ "minReplicas": {
+ "type": "integer",
+ "description": "minimum number of replicas. if HPA is disabled, the replicas will be set to this value",
+ "minimum": 0
+ },
+ "name": {
+ "type": "string",
+ "description": "name of discoverer deployment"
+ },
+ "nodeName": { "type": "string", "description": "node name" },
+ "nodeSelector": { "type": "object", "description": "node selector" },
+ "observability": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "observability features enabled"
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "enable_cgo": {
+ "type": "boolean",
+ "description": "CGO metrics enabled"
+ },
+ "enable_goroutine": {
+ "type": "boolean",
+ "description": "goroutine metrics enabled"
+ },
+ "enable_memory": {
+ "type": "boolean",
+ "description": "memory metrics enabled"
+ },
+ "enable_version_info": {
+ "type": "boolean",
+ "description": "version info metrics enabled"
+ },
+ "version_info_labels": {
+ "type": "array",
+ "description": "enabled label names of version info",
+ "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"
+ ]
+ }
+ }
+ }
+ },
+ "otlp": {
+ "type": "object",
+ "properties": {
+ "attribute": {
+ "type": "object",
+ "description": "default resource attribute",
+ "properties": {
+ "namespace": {
+ "type": "string",
+ "description": "namespace"
+ },
+ "node_name": {
+ "type": "string",
+ "description": "node name"
+ },
+ "pod_name": { "type": "string", "description": "pod name" },
+ "service_name": {
+ "type": "string",
+ "description": "service name"
+ }
+ }
+ },
+ "collector_endpoint": {
+ "type": "string",
+ "description": "OpenTelemetry Collector endpoint"
+ },
+ "metrics_export_interval": {
+ "type": "string",
+ "description": "metrics export interval"
+ },
+ "metrics_export_timeout": {
+ "type": "string",
+ "description": "metrics export timeout"
+ },
+ "trace_batch_timeout": {
+ "type": "string",
+ "description": "trace batch timeout"
+ },
+ "trace_export_timeout": {
+ "type": "string",
+ "description": "trace export timeout"
+ },
+ "trace_max_export_batch_size": {
+ "type": "integer",
+ "description": "trace maximum export batch size"
+ },
+ "trace_max_queue_size": {
+ "type": "integer",
+ "description": "trace maximum queue size"
+ }
+ }
+ },
+ "trace": {
+ "type": "object",
+ "properties": {
+ "enabled": { "type": "boolean", "description": "trace enabled" }
+ }
+ }
+ }
+ },
+ "podAnnotations": {
+ "type": "object",
+ "description": "pod annotations"
+ },
+ "podPriority": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gateway pod PriorityClass enabled"
+ },
+ "value": {
+ "type": "integer",
+ "description": "gateway pod PriorityClass value"
+ }
+ }
+ },
+ "podSecurityContext": {
+ "type": "object",
+ "description": "security context for pod"
+ },
+ "progressDeadlineSeconds": {
+ "type": "integer",
+ "description": "progress deadline seconds"
+ },
+ "resources": {
+ "type": "object",
+ "description": "compute resources",
+ "properties": {
+ "limits": { "type": "object" },
+ "requests": { "type": "object" }
+ }
+ },
+ "revisionHistoryLimit": {
+ "type": "integer",
+ "description": "number of old history to retain to allow rollback",
+ "minimum": 0
+ },
+ "rollingUpdate": {
+ "type": "object",
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "description": "max surge of rolling update"
+ },
+ "maxUnavailable": {
+ "type": "string",
+ "description": "max unavailable of rolling update"
+ }
+ }
+ },
+ "securityContext": {
+ "type": "object",
+ "description": "security context for container"
+ },
+ "server_config": {
+ "type": "object",
+ "properties": {
+ "full_shutdown_duration": {
+ "type": "string",
+ "description": "server full shutdown duration"
+ },
+ "healths": {
+ "type": "object",
+ "properties": {
+ "liveness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "liveness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "liveness server host"
+ },
+ "livenessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "liveness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "liveness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "liveness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "liveness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "liveness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "liveness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "liveness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "liveness probe timeout seconds"
+ }
+ }
+ },
+ "port": {
+ "type": "integer",
+ "description": "liveness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "liveness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "readiness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "readiness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "readiness server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "readiness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "readinessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "readiness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "readiness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "readiness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "readiness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "readiness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "readiness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "readiness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "readiness probe timeout seconds"
+ }
+ }
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "readiness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "startup": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "startup server enabled"
+ },
+ "port": {
+ "type": "integer",
+ "description": "startup server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "startupProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "startup probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "startup probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "startup probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "startup probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "startup probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "startup probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "startup probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "startup probe timeout seconds"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "pprof": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "pprof server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "pprof server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "pprof server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "pprof server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "servers": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gRPC server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "gRPC server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "gRPC server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "bidirectional_stream_concurrency": {
+ "type": "integer",
+ "description": "gRPC server bidirectional stream concurrency"
+ },
+ "connection_timeout": {
+ "type": "string",
+ "description": "gRPC server connection timeout"
+ },
+ "enable_reflection": {
+ "type": "boolean",
+ "description": "gRPC server reflection option"
+ },
+ "header_table_size": {
+ "type": "integer",
+ "description": "gRPC server header table size"
+ },
+ "initial_conn_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial window size"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC server interceptors",
+ "items": {
+ "type": "string",
+ "enum": [
+ "RecoverInterceptor",
+ "AccessLogInterceptor",
+ "TraceInterceptor",
+ "MetricInterceptor"
+ ]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "max_conn_age": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age"
+ },
+ "max_conn_age_grace": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age grace"
+ },
+ "max_conn_idle": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection idle"
+ },
+ "min_time": {
+ "type": "string",
+ "description": "gRPC server keep alive min_time"
+ },
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC server keep alive permit_without_stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC server keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC server keep alive timeout"
+ }
+ }
+ },
+ "max_header_list_size": {
+ "type": "integer",
+ "description": "gRPC server max header list size"
+ },
+ "max_receive_message_size": {
+ "type": "integer",
+ "description": "gRPC server max receive message size"
+ },
+ "max_send_message_size": {
+ "type": "integer",
+ "description": "gRPC server max send message size"
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server read buffer size"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server write buffer size"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "gRPC server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "gRPC server probe wait time"
+ },
+ "restart": {
+ "type": "boolean",
+ "description": "gRPC server restart"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "gRPC server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "REST server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "REST server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "REST server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "REST server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": { "type": "string", "description": "TLS ca path" },
+ "cert": { "type": "string", "description": "TLS cert path" },
+ "enabled": { "type": "boolean", "description": "TLS enabled" },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": { "type": "string", "description": "TLS key path" }
+ }
+ }
+ }
+ },
+ "service": {
+ "type": "object",
+ "properties": {
+ "annotations": {
+ "type": "object",
+ "description": "service annotations"
+ },
+ "labels": { "type": "object", "description": "service labels" }
+ }
+ },
+ "serviceAccount": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "creates service account"
+ },
+ "name": {
+ "type": "string",
+ "description": "name of service account"
+ }
+ }
+ },
+ "serviceType": {
+ "type": "string",
+ "description": "service type: ClusterIP, LoadBalancer or NodePort",
+ "enum": ["ClusterIP", "LoadBalancer", "NodePort"]
+ },
+ "terminationGracePeriodSeconds": {
+ "type": "integer",
+ "description": "duration in seconds pod needs to terminate gracefully",
+ "minimum": 0
+ },
+ "time_zone": { "type": "string", "description": "Time zone" },
+ "tolerations": {
+ "type": "array",
+ "description": "tolerations",
+ "items": { "type": "object" }
+ },
+ "topologySpreadConstraints": {
+ "type": "array",
+ "description": "topology spread constraints of gateway pods",
+ "items": { "type": "object" }
+ },
+ "version": {
+ "type": "string",
+ "description": "version of gateway config",
+ "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$"
+ },
+ "volumeMounts": {
+ "type": "array",
+ "description": "volume mounts",
+ "items": { "type": "object" }
+ },
+ "volumes": {
+ "type": "array",
+ "description": "volumes",
+ "items": { "type": "object" }
+ }
+ }
+ },
+ "gateway": {
+ "type": "object",
+ "properties": {
+ "filter": {
+ "type": "object",
+ "properties": {
+ "affinity": {
+ "type": "object",
+ "properties": {
+ "nodeAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "node affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "object",
+ "properties": {
+ "nodeSelectorTerms": {
+ "type": "array",
+ "description": "node affinity required node selectors",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ },
+ "podAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod affinity required scheduling terms",
+ "items": { "type": "object" }
+ }
+ }
+ },
+ "podAntiAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod anti-affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod anti-affinity required scheduling terms",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ },
+ "annotations": {
+ "type": "object",
+ "description": "deployment annotations"
+ },
+ "enabled": { "type": "boolean", "description": "gateway enabled" },
+ "env": {
+ "type": "array",
+ "description": "environment variables",
+ "items": { "type": "object" }
+ },
+ "externalTrafficPolicy": {
+ "type": "string",
+ "description": "external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"
+ },
+ "gateway_config": {
+ "type": "object",
+ "properties": {
+ "egress_filter": {
+ "type": "object",
+ "description": "gRPC client config for egress filter",
+ "properties": {
+ "client": {
+ "type": "object",
+ "properties": {
+ "addrs": {
+ "type": "array",
+ "description": "gRPC client addresses",
+ "items": { "type": "string" }
+ },
+ "backoff": {
+ "type": "object",
+ "properties": {
+ "backoff_factor": {
+ "type": "number",
+ "description": "gRPC client backoff factor"
+ },
+ "backoff_time_limit": {
+ "type": "string",
+ "description": "gRPC client backoff time limit"
+ },
+ "enable_error_log": {
+ "type": "boolean",
+ "description": "gRPC client backoff log enabled"
+ },
+ "initial_duration": {
+ "type": "string",
+ "description": "gRPC client backoff initial duration"
+ },
+ "jitter_limit": {
+ "type": "string",
+ "description": "gRPC client backoff jitter limit"
+ },
+ "maximum_duration": {
+ "type": "string",
+ "description": "gRPC client backoff maximum duration"
+ },
+ "retry_count": {
+ "type": "integer",
+ "description": "gRPC client backoff retry count"
+ }
+ }
+ },
+ "call_option": { "type": "object" },
+ "circuit_breaker": {
+ "type": "object",
+ "properties": {
+ "closed_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker closed error rate"
+ },
+ "closed_refresh_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker closed refresh timeout"
+ },
+ "half_open_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker half-open error rate"
+ },
+ "min_samples": {
+ "type": "integer",
+ "description": "gRPC client circuitbreaker minimum sampling count"
+ },
+ "open_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker open timeout"
+ }
+ }
+ },
+ "connection_pool": {
+ "type": "object",
+ "properties": {
+ "enable_dns_resolver": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"
+ },
+ "enable_rebalance": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool rebalance"
+ },
+ "old_conn_close_duration": {
+ "type": "string",
+ "description": "makes delay before gRPC client connection closing during connection pool rebalance"
+ },
+ "rebalance_duration": {
+ "type": "string",
+ "description": "gRPC client connection pool rebalance duration"
+ },
+ "size": {
+ "type": "integer",
+ "description": "gRPC client connection pool size"
+ }
+ }
+ },
+ "dial_option": {
+ "type": "object",
+ "properties": {
+ "backoff_base_delay": {
+ "type": "string",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_jitter": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_max_delay": {
+ "type": "string",
+ "description": "gRPC client dial option max backoff delay"
+ },
+ "backoff_multiplier": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "enable_backoff": {
+ "type": "boolean",
+ "description": "gRPC client dial option backoff enabled"
+ },
+ "initial_connection_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial window size"
+ },
+ "insecure": {
+ "type": "boolean",
+ "description": "gRPC client dial option insecure enabled"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC client interceptors",
+ "items": {
+ "type": "string",
+ "enum": ["TraceInterceptor"]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC client keep alive permit without stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC client keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client keep alive timeout"
+ }
+ }
+ },
+ "max_msg_size": {
+ "type": "integer",
+ "description": "gRPC client dial option max message size"
+ },
+ "min_connection_timeout": {
+ "type": "string",
+ "description": "gRPC client dial option minimum connection timeout"
+ },
+ "net": {
+ "type": "object",
+ "properties": {
+ "dialer": {
+ "type": "object",
+ "properties": {
+ "dual_stack_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP dialer dual stack enabled"
+ },
+ "keepalive": {
+ "type": "string",
+ "description": "gRPC client TCP dialer keep alive"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client TCP dialer timeout"
+ }
+ }
+ },
+ "dns": {
+ "type": "object",
+ "properties": {
+ "cache_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP DNS cache enabled"
+ },
+ "cache_expiration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache expiration"
+ },
+ "refresh_duration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache refresh duration"
+ }
+ }
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": {
+ "type": "string",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ }
+ }
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option read buffer size"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client dial option timeout"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option write buffer size"
+ }
+ }
+ },
+ "health_check_duration": {
+ "type": "string",
+ "description": "gRPC client health check duration"
+ },
+ "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",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ },
+ "wait_for_ready": { "type": "boolean" }
+ }
+ },
+ "distance_filters": {
+ "type": "array",
+ "description": "distance egress vector filter targets",
+ "items": { "type": "string" }
+ },
+ "object_filters": {
+ "type": "array",
+ "description": "object egress vector filter targets",
+ "items": { "type": "string" }
+ }
+ }
+ },
+ "gateway_client": {
+ "type": "object",
+ "properties": {
+ "addrs": {
+ "type": "array",
+ "description": "gRPC client addresses",
+ "items": { "type": "string" }
+ },
+ "backoff": {
+ "type": "object",
+ "properties": {
+ "backoff_factor": {
+ "type": "number",
+ "description": "gRPC client backoff factor"
+ },
+ "backoff_time_limit": {
+ "type": "string",
+ "description": "gRPC client backoff time limit"
+ },
+ "enable_error_log": {
+ "type": "boolean",
+ "description": "gRPC client backoff log enabled"
+ },
+ "initial_duration": {
+ "type": "string",
+ "description": "gRPC client backoff initial duration"
+ },
+ "jitter_limit": {
+ "type": "string",
+ "description": "gRPC client backoff jitter limit"
+ },
+ "maximum_duration": {
+ "type": "string",
+ "description": "gRPC client backoff maximum duration"
+ },
+ "retry_count": {
+ "type": "integer",
+ "description": "gRPC client backoff retry count"
+ }
+ }
+ },
+ "call_option": { "type": "object" },
+ "circuit_breaker": {
+ "type": "object",
+ "properties": {
+ "closed_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker closed error rate"
+ },
+ "closed_refresh_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker closed refresh timeout"
+ },
+ "half_open_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker half-open error rate"
+ },
+ "min_samples": {
+ "type": "integer",
+ "description": "gRPC client circuitbreaker minimum sampling count"
+ },
+ "open_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker open timeout"
+ }
+ }
+ },
+ "connection_pool": {
+ "type": "object",
+ "properties": {
+ "enable_dns_resolver": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"
+ },
+ "enable_rebalance": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool rebalance"
+ },
+ "old_conn_close_duration": {
+ "type": "string",
+ "description": "makes delay before gRPC client connection closing during connection pool rebalance"
+ },
+ "rebalance_duration": {
+ "type": "string",
+ "description": "gRPC client connection pool rebalance duration"
+ },
+ "size": {
+ "type": "integer",
+ "description": "gRPC client connection pool size"
+ }
+ }
+ },
+ "dial_option": {
+ "type": "object",
+ "properties": {
+ "backoff_base_delay": {
+ "type": "string",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_jitter": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_max_delay": {
+ "type": "string",
+ "description": "gRPC client dial option max backoff delay"
+ },
+ "backoff_multiplier": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "enable_backoff": {
+ "type": "boolean",
+ "description": "gRPC client dial option backoff enabled"
+ },
+ "initial_connection_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial window size"
+ },
+ "insecure": {
+ "type": "boolean",
+ "description": "gRPC client dial option insecure enabled"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC client interceptors",
+ "items": {
+ "type": "string",
+ "enum": ["TraceInterceptor"]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC client keep alive permit without stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC client keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client keep alive timeout"
+ }
+ }
+ },
+ "max_msg_size": {
+ "type": "integer",
+ "description": "gRPC client dial option max message size"
+ },
+ "min_connection_timeout": {
+ "type": "string",
+ "description": "gRPC client dial option minimum connection timeout"
+ },
+ "net": {
+ "type": "object",
+ "properties": {
+ "dialer": {
+ "type": "object",
+ "properties": {
+ "dual_stack_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP dialer dual stack enabled"
+ },
+ "keepalive": {
+ "type": "string",
+ "description": "gRPC client TCP dialer keep alive"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client TCP dialer timeout"
+ }
+ }
+ },
+ "dns": {
+ "type": "object",
+ "properties": {
+ "cache_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP DNS cache enabled"
+ },
+ "cache_expiration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache expiration"
+ },
+ "refresh_duration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache refresh duration"
+ }
+ }
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": {
+ "type": "string",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ }
+ }
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option read buffer size"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client dial option timeout"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option write buffer size"
+ }
+ }
+ },
+ "health_check_duration": {
+ "type": "string",
+ "description": "gRPC client health check duration"
+ },
+ "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",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ },
+ "wait_for_ready": { "type": "boolean" }
+ }
+ },
+ "ingress_filter": {
+ "type": "object",
+ "description": "gRPC client config for ingress filter",
+ "properties": {
+ "client": {
+ "type": "object",
+ "properties": {
+ "addrs": {
+ "type": "array",
+ "description": "gRPC client addresses",
+ "items": { "type": "string" }
+ },
+ "backoff": {
+ "type": "object",
+ "properties": {
+ "backoff_factor": {
+ "type": "number",
+ "description": "gRPC client backoff factor"
+ },
+ "backoff_time_limit": {
+ "type": "string",
+ "description": "gRPC client backoff time limit"
+ },
+ "enable_error_log": {
+ "type": "boolean",
+ "description": "gRPC client backoff log enabled"
+ },
+ "initial_duration": {
+ "type": "string",
+ "description": "gRPC client backoff initial duration"
+ },
+ "jitter_limit": {
+ "type": "string",
+ "description": "gRPC client backoff jitter limit"
+ },
+ "maximum_duration": {
+ "type": "string",
+ "description": "gRPC client backoff maximum duration"
+ },
+ "retry_count": {
+ "type": "integer",
+ "description": "gRPC client backoff retry count"
+ }
+ }
+ },
+ "call_option": { "type": "object" },
+ "circuit_breaker": {
+ "type": "object",
+ "properties": {
+ "closed_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker closed error rate"
+ },
+ "closed_refresh_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker closed refresh timeout"
+ },
+ "half_open_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker half-open error rate"
+ },
+ "min_samples": {
+ "type": "integer",
+ "description": "gRPC client circuitbreaker minimum sampling count"
+ },
+ "open_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker open timeout"
+ }
+ }
+ },
+ "connection_pool": {
+ "type": "object",
+ "properties": {
+ "enable_dns_resolver": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"
+ },
+ "enable_rebalance": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool rebalance"
+ },
+ "old_conn_close_duration": {
+ "type": "string",
+ "description": "makes delay before gRPC client connection closing during connection pool rebalance"
+ },
+ "rebalance_duration": {
+ "type": "string",
+ "description": "gRPC client connection pool rebalance duration"
+ },
+ "size": {
+ "type": "integer",
+ "description": "gRPC client connection pool size"
+ }
+ }
+ },
+ "dial_option": {
+ "type": "object",
+ "properties": {
+ "backoff_base_delay": {
+ "type": "string",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_jitter": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_max_delay": {
+ "type": "string",
+ "description": "gRPC client dial option max backoff delay"
+ },
+ "backoff_multiplier": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "enable_backoff": {
+ "type": "boolean",
+ "description": "gRPC client dial option backoff enabled"
+ },
+ "initial_connection_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial window size"
+ },
+ "insecure": {
+ "type": "boolean",
+ "description": "gRPC client dial option insecure enabled"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC client interceptors",
+ "items": {
+ "type": "string",
+ "enum": ["TraceInterceptor"]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC client keep alive permit without stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC client keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client keep alive timeout"
+ }
+ }
+ },
+ "max_msg_size": {
+ "type": "integer",
+ "description": "gRPC client dial option max message size"
+ },
+ "min_connection_timeout": {
+ "type": "string",
+ "description": "gRPC client dial option minimum connection timeout"
+ },
+ "net": {
+ "type": "object",
+ "properties": {
+ "dialer": {
+ "type": "object",
+ "properties": {
+ "dual_stack_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP dialer dual stack enabled"
+ },
+ "keepalive": {
+ "type": "string",
+ "description": "gRPC client TCP dialer keep alive"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client TCP dialer timeout"
+ }
+ }
+ },
+ "dns": {
+ "type": "object",
+ "properties": {
+ "cache_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP DNS cache enabled"
+ },
+ "cache_expiration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache expiration"
+ },
+ "refresh_duration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache refresh duration"
+ }
+ }
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": {
+ "type": "string",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ }
+ }
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option read buffer size"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client dial option timeout"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option write buffer size"
+ }
+ }
+ },
+ "health_check_duration": {
+ "type": "string",
+ "description": "gRPC client health check duration"
+ },
+ "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",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ },
+ "wait_for_ready": { "type": "boolean" }
+ }
+ },
+ "insert_filters": {
+ "type": "array",
+ "description": "insert ingress vector filter targets",
+ "items": { "type": "string" }
+ },
+ "search_filters": {
+ "type": "array",
+ "description": "search ingress vector filter targets",
+ "items": { "type": "string" }
+ },
+ "update_filters": {
+ "type": "array",
+ "description": "update ingress vector filter targets",
+ "items": { "type": "string" }
+ },
+ "upsert_filters": {
+ "type": "array",
+ "description": "upsert ingress vector filter targets",
+ "items": { "type": "string" }
+ },
+ "vectorizer": {
+ "type": "string",
+ "description": "object ingress vectorize filter targets"
+ }
+ }
+ }
+ }
+ },
+ "hpa": {
+ "type": "object",
+ "properties": {
+ "enabled": { "type": "boolean", "description": "HPA enabled" },
+ "targetCPUUtilizationPercentage": {
+ "type": "integer",
+ "description": "HPA CPU utilization percentage"
+ }
+ }
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "pullPolicy": {
+ "type": "string",
+ "description": "image pull policy",
+ "enum": ["Always", "Never", "IfNotPresent"]
+ },
+ "repository": {
+ "type": "string",
+ "description": "image repository"
+ },
+ "tag": {
+ "type": "string",
+ "description": "image tag (overrides defaults.image.tag)"
+ }
+ }
+ },
+ "ingress": {
+ "type": "object",
+ "properties": {
+ "annotations": {
+ "type": "object",
+ "description": "annotations for ingress"
+ },
+ "defaultBackend": {
+ "type": "object",
+ "description": "defaultBackend config",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gateway ingress defaultBackend enabled"
+ }
+ }
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "gateway ingress enabled"
+ },
+ "host": { "type": "string", "description": "ingress hostname" },
+ "pathType": {
+ "type": "string",
+ "description": "gateway ingress pathType"
+ },
+ "servicePort": {
+ "type": "string",
+ "description": "service port to be exposed by ingress"
+ }
+ }
+ },
+ "initContainers": {
+ "type": "array",
+ "description": "init containers",
+ "items": { "type": "object" }
+ },
+ "internalTrafficPolicy": {
+ "type": "string",
+ "description": "internal traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"
+ },
+ "kind": {
+ "type": "string",
+ "description": "deployment kind: Deployment or DaemonSet",
+ "enum": ["Deployment", "DaemonSet"]
+ },
+ "logging": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "logging format. logging format must be `raw` or `json`",
+ "enum": ["raw", "json"]
+ },
+ "level": {
+ "type": "string",
+ "description": "logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.",
+ "enum": ["debug", "info", "warn", "error", "fatal"]
+ },
+ "logger": {
+ "type": "string",
+ "description": "logger name. currently logger must be `glg` or `zap`.",
+ "enum": ["glg", "zap"]
+ }
+ }
+ },
+ "maxReplicas": {
+ "type": "integer",
+ "description": "maximum number of replicas. if HPA is disabled, this value will be ignored.",
+ "minimum": 0
+ },
+ "maxUnavailable": {
+ "type": "string",
+ "description": "maximum number of unavailable replicas"
+ },
+ "minReplicas": {
+ "type": "integer",
+ "description": "minimum number of replicas. if HPA is disabled, the replicas will be set to this value",
+ "minimum": 0
+ },
+ "name": {
+ "type": "string",
+ "description": "name of filter gateway deployment"
+ },
+ "nodeName": { "type": "string", "description": "node name" },
+ "nodeSelector": {
+ "type": "object",
+ "description": "node selector"
+ },
+ "observability": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "observability features enabled"
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "enable_cgo": {
+ "type": "boolean",
+ "description": "CGO metrics enabled"
+ },
+ "enable_goroutine": {
+ "type": "boolean",
+ "description": "goroutine metrics enabled"
+ },
+ "enable_memory": {
+ "type": "boolean",
+ "description": "memory metrics enabled"
+ },
+ "enable_version_info": {
+ "type": "boolean",
+ "description": "version info metrics enabled"
+ },
+ "version_info_labels": {
+ "type": "array",
+ "description": "enabled label names of version info",
+ "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"
+ ]
+ }
+ }
+ }
+ },
+ "otlp": {
+ "type": "object",
+ "properties": {
+ "attribute": {
+ "type": "object",
+ "description": "default resource attribute",
+ "properties": {
+ "namespace": {
+ "type": "string",
+ "description": "namespace"
+ },
+ "node_name": {
+ "type": "string",
+ "description": "node name"
+ },
+ "pod_name": {
+ "type": "string",
+ "description": "pod name"
+ },
+ "service_name": {
+ "type": "string",
+ "description": "service name"
+ }
+ }
+ },
+ "collector_endpoint": {
+ "type": "string",
+ "description": "OpenTelemetry Collector endpoint"
+ },
+ "metrics_export_interval": {
+ "type": "string",
+ "description": "metrics export interval"
+ },
+ "metrics_export_timeout": {
+ "type": "string",
+ "description": "metrics export timeout"
+ },
+ "trace_batch_timeout": {
+ "type": "string",
+ "description": "trace batch timeout"
+ },
+ "trace_export_timeout": {
+ "type": "string",
+ "description": "trace export timeout"
+ },
+ "trace_max_export_batch_size": {
+ "type": "integer",
+ "description": "trace maximum export batch size"
+ },
+ "trace_max_queue_size": {
+ "type": "integer",
+ "description": "trace maximum queue size"
+ }
+ }
+ },
+ "trace": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "trace enabled"
+ }
+ }
+ }
+ }
+ },
+ "podAnnotations": {
+ "type": "object",
+ "description": "pod annotations"
+ },
+ "podPriority": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gateway pod PriorityClass enabled"
+ },
+ "value": {
+ "type": "integer",
+ "description": "gateway pod PriorityClass value"
+ }
+ }
+ },
+ "podSecurityContext": {
+ "type": "object",
+ "description": "security context for pod"
+ },
+ "progressDeadlineSeconds": {
+ "type": "integer",
+ "description": "progress deadline seconds"
+ },
+ "resources": {
+ "type": "object",
+ "description": "compute resources",
+ "properties": {
+ "limits": { "type": "object" },
+ "requests": { "type": "object" }
+ }
+ },
+ "revisionHistoryLimit": {
+ "type": "integer",
+ "description": "number of old history to retain to allow rollback",
+ "minimum": 0
+ },
+ "rollingUpdate": {
+ "type": "object",
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "description": "max surge of rolling update"
+ },
+ "maxUnavailable": {
+ "type": "string",
+ "description": "max unavailable of rolling update"
+ }
+ }
+ },
+ "securityContext": {
+ "type": "object",
+ "description": "security context for container"
+ },
+ "server_config": {
+ "type": "object",
+ "properties": {
+ "full_shutdown_duration": {
+ "type": "string",
+ "description": "server full shutdown duration"
+ },
+ "healths": {
+ "type": "object",
+ "properties": {
+ "liveness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "liveness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "liveness server host"
+ },
+ "livenessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "liveness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "liveness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "liveness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "liveness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "liveness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "liveness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "liveness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "liveness probe timeout seconds"
+ }
+ }
+ },
+ "port": {
+ "type": "integer",
+ "description": "liveness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "liveness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "readiness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "readiness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "readiness server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "readiness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "readinessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "readiness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "readiness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "readiness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "readiness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "readiness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "readiness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "readiness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "readiness probe timeout seconds"
+ }
+ }
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "readiness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "startup": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "startup server enabled"
+ },
+ "port": {
+ "type": "integer",
+ "description": "startup server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "startupProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "startup probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "startup probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "startup probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "startup probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "startup probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "startup probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "startup probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "startup probe timeout seconds"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "pprof": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "pprof server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "pprof server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "pprof server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "pprof server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "servers": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gRPC server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "gRPC server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "gRPC server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "bidirectional_stream_concurrency": {
+ "type": "integer",
+ "description": "gRPC server bidirectional stream concurrency"
+ },
+ "connection_timeout": {
+ "type": "string",
+ "description": "gRPC server connection timeout"
+ },
+ "enable_reflection": {
+ "type": "boolean",
+ "description": "gRPC server reflection option"
+ },
+ "header_table_size": {
+ "type": "integer",
+ "description": "gRPC server header table size"
+ },
+ "initial_conn_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial window size"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC server interceptors",
+ "items": {
+ "type": "string",
+ "enum": [
+ "RecoverInterceptor",
+ "AccessLogInterceptor",
+ "TraceInterceptor",
+ "MetricInterceptor"
+ ]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "max_conn_age": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age"
+ },
+ "max_conn_age_grace": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age grace"
+ },
+ "max_conn_idle": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection idle"
+ },
+ "min_time": {
+ "type": "string",
+ "description": "gRPC server keep alive min_time"
+ },
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC server keep alive permit_without_stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC server keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC server keep alive timeout"
+ }
+ }
+ },
+ "max_header_list_size": {
+ "type": "integer",
+ "description": "gRPC server max header list size"
+ },
+ "max_receive_message_size": {
+ "type": "integer",
+ "description": "gRPC server max receive message size"
+ },
+ "max_send_message_size": {
+ "type": "integer",
+ "description": "gRPC server max send message size"
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server read buffer size"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server write buffer size"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "gRPC server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "gRPC server probe wait time"
+ },
+ "restart": {
+ "type": "boolean",
+ "description": "gRPC server restart"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "gRPC server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "REST server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "REST server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "REST server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "REST server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": { "type": "string", "description": "TLS ca path" },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": { "type": "string", "description": "TLS key path" }
+ }
+ }
+ }
+ },
+ "service": {
+ "type": "object",
+ "properties": {
+ "annotations": {
+ "type": "object",
+ "description": "service annotations"
+ },
+ "labels": { "type": "object", "description": "service labels" }
+ }
+ },
+ "serviceType": {
+ "type": "string",
+ "description": "service type: ClusterIP, LoadBalancer or NodePort",
+ "enum": ["ClusterIP", "LoadBalancer", "NodePort"]
+ },
+ "terminationGracePeriodSeconds": {
+ "type": "integer",
+ "description": "duration in seconds pod needs to terminate gracefully",
+ "minimum": 0
+ },
+ "time_zone": { "type": "string", "description": "Time zone" },
+ "tolerations": {
+ "type": "array",
+ "description": "tolerations",
+ "items": { "type": "object" }
+ },
+ "topologySpreadConstraints": {
+ "type": "array",
+ "description": "topology spread constraints of gateway pods",
+ "items": { "type": "object" }
+ },
+ "version": {
+ "type": "string",
+ "description": "version of gateway config",
+ "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$"
+ },
+ "volumeMounts": {
+ "type": "array",
+ "description": "volume mounts",
+ "items": { "type": "object" }
+ },
+ "volumes": {
+ "type": "array",
+ "description": "volumes",
+ "items": { "type": "object" }
+ }
+ }
+ },
+ "lb": {
+ "type": "object",
+ "properties": {
+ "affinity": {
+ "type": "object",
+ "properties": {
+ "nodeAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "node affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "object",
+ "properties": {
+ "nodeSelectorTerms": {
+ "type": "array",
+ "description": "node affinity required node selectors",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ },
+ "podAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod affinity required scheduling terms",
+ "items": { "type": "object" }
+ }
+ }
+ },
+ "podAntiAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod anti-affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod anti-affinity required scheduling terms",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ },
+ "annotations": {
+ "type": "object",
+ "description": "deployment annotations"
+ },
+ "enabled": { "type": "boolean", "description": "gateway enabled" },
+ "env": {
+ "type": "array",
+ "description": "environment variables",
+ "items": { "type": "object" }
+ },
+ "externalTrafficPolicy": {
+ "type": "string",
+ "description": "external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"
+ },
+ "gateway_config": {
+ "type": "object",
+ "properties": {
+ "agent_namespace": {
+ "type": "string",
+ "description": "agent namespace"
+ },
+ "discoverer": {
+ "type": "object",
+ "properties": {
+ "agent_client_options": {
+ "type": "object",
+ "properties": {
+ "addrs": {
+ "type": "array",
+ "description": "gRPC client addresses",
+ "items": { "type": "string" }
+ },
+ "backoff": {
+ "type": "object",
+ "properties": {
+ "backoff_factor": {
+ "type": "number",
+ "description": "gRPC client backoff factor"
+ },
+ "backoff_time_limit": {
+ "type": "string",
+ "description": "gRPC client backoff time limit"
+ },
+ "enable_error_log": {
+ "type": "boolean",
+ "description": "gRPC client backoff log enabled"
+ },
+ "initial_duration": {
+ "type": "string",
+ "description": "gRPC client backoff initial duration"
+ },
+ "jitter_limit": {
+ "type": "string",
+ "description": "gRPC client backoff jitter limit"
+ },
+ "maximum_duration": {
+ "type": "string",
+ "description": "gRPC client backoff maximum duration"
+ },
+ "retry_count": {
+ "type": "integer",
+ "description": "gRPC client backoff retry count"
+ }
+ }
+ },
+ "call_option": { "type": "object" },
+ "circuit_breaker": {
+ "type": "object",
+ "properties": {
+ "closed_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker closed error rate"
+ },
+ "closed_refresh_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker closed refresh timeout"
+ },
+ "half_open_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker half-open error rate"
+ },
+ "min_samples": {
+ "type": "integer",
+ "description": "gRPC client circuitbreaker minimum sampling count"
+ },
+ "open_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker open timeout"
+ }
+ }
+ },
+ "connection_pool": {
+ "type": "object",
+ "properties": {
+ "enable_dns_resolver": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"
+ },
+ "enable_rebalance": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool rebalance"
+ },
+ "old_conn_close_duration": {
+ "type": "string",
+ "description": "makes delay before gRPC client connection closing during connection pool rebalance"
+ },
+ "rebalance_duration": {
+ "type": "string",
+ "description": "gRPC client connection pool rebalance duration"
+ },
+ "size": {
+ "type": "integer",
+ "description": "gRPC client connection pool size"
+ }
+ }
+ },
+ "dial_option": {
+ "type": "object",
+ "properties": {
+ "backoff_base_delay": {
+ "type": "string",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_jitter": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_max_delay": {
+ "type": "string",
+ "description": "gRPC client dial option max backoff delay"
+ },
+ "backoff_multiplier": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "enable_backoff": {
+ "type": "boolean",
+ "description": "gRPC client dial option backoff enabled"
+ },
+ "initial_connection_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial window size"
+ },
+ "insecure": {
+ "type": "boolean",
+ "description": "gRPC client dial option insecure enabled"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC client interceptors",
+ "items": {
+ "type": "string",
+ "enum": ["TraceInterceptor"]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC client keep alive permit without stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC client keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client keep alive timeout"
+ }
+ }
+ },
+ "max_msg_size": {
+ "type": "integer",
+ "description": "gRPC client dial option max message size"
+ },
+ "min_connection_timeout": {
+ "type": "string",
+ "description": "gRPC client dial option minimum connection timeout"
+ },
+ "net": {
+ "type": "object",
+ "properties": {
+ "dialer": {
+ "type": "object",
+ "properties": {
+ "dual_stack_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP dialer dual stack enabled"
+ },
+ "keepalive": {
+ "type": "string",
+ "description": "gRPC client TCP dialer keep alive"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client TCP dialer timeout"
+ }
+ }
+ },
+ "dns": {
+ "type": "object",
+ "properties": {
+ "cache_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP DNS cache enabled"
+ },
+ "cache_expiration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache expiration"
+ },
+ "refresh_duration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache refresh duration"
+ }
+ }
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": {
+ "type": "string",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ }
+ }
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option read buffer size"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client dial option timeout"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option write buffer size"
+ }
+ }
+ },
+ "health_check_duration": {
+ "type": "string",
+ "description": "gRPC client health check duration"
+ },
+ "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",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ },
+ "wait_for_ready": { "type": "boolean" }
+ }
+ },
+ "client": {
+ "type": "object",
+ "properties": {
+ "addrs": {
+ "type": "array",
+ "description": "gRPC client addresses",
+ "items": { "type": "string" }
+ },
+ "backoff": {
+ "type": "object",
+ "properties": {
+ "backoff_factor": {
+ "type": "number",
+ "description": "gRPC client backoff factor"
+ },
+ "backoff_time_limit": {
+ "type": "string",
+ "description": "gRPC client backoff time limit"
+ },
+ "enable_error_log": {
+ "type": "boolean",
+ "description": "gRPC client backoff log enabled"
+ },
+ "initial_duration": {
+ "type": "string",
+ "description": "gRPC client backoff initial duration"
+ },
+ "jitter_limit": {
+ "type": "string",
+ "description": "gRPC client backoff jitter limit"
+ },
+ "maximum_duration": {
+ "type": "string",
+ "description": "gRPC client backoff maximum duration"
+ },
+ "retry_count": {
+ "type": "integer",
+ "description": "gRPC client backoff retry count"
+ }
+ }
+ },
+ "call_option": { "type": "object" },
+ "circuit_breaker": {
+ "type": "object",
+ "properties": {
+ "closed_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker closed error rate"
+ },
+ "closed_refresh_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker closed refresh timeout"
+ },
+ "half_open_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker half-open error rate"
+ },
+ "min_samples": {
+ "type": "integer",
+ "description": "gRPC client circuitbreaker minimum sampling count"
+ },
+ "open_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker open timeout"
+ }
+ }
+ },
+ "connection_pool": {
+ "type": "object",
+ "properties": {
+ "enable_dns_resolver": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"
+ },
+ "enable_rebalance": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool rebalance"
+ },
+ "old_conn_close_duration": {
+ "type": "string",
+ "description": "makes delay before gRPC client connection closing during connection pool rebalance"
+ },
+ "rebalance_duration": {
+ "type": "string",
+ "description": "gRPC client connection pool rebalance duration"
+ },
+ "size": {
+ "type": "integer",
+ "description": "gRPC client connection pool size"
+ }
+ }
+ },
+ "dial_option": {
+ "type": "object",
+ "properties": {
+ "backoff_base_delay": {
+ "type": "string",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_jitter": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_max_delay": {
+ "type": "string",
+ "description": "gRPC client dial option max backoff delay"
+ },
+ "backoff_multiplier": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "enable_backoff": {
+ "type": "boolean",
+ "description": "gRPC client dial option backoff enabled"
+ },
+ "initial_connection_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial window size"
+ },
+ "insecure": {
+ "type": "boolean",
+ "description": "gRPC client dial option insecure enabled"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC client interceptors",
+ "items": {
+ "type": "string",
+ "enum": ["TraceInterceptor"]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC client keep alive permit without stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC client keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client keep alive timeout"
+ }
+ }
+ },
+ "max_msg_size": {
+ "type": "integer",
+ "description": "gRPC client dial option max message size"
+ },
+ "min_connection_timeout": {
+ "type": "string",
+ "description": "gRPC client dial option minimum connection timeout"
+ },
+ "net": {
+ "type": "object",
+ "properties": {
+ "dialer": {
+ "type": "object",
+ "properties": {
+ "dual_stack_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP dialer dual stack enabled"
+ },
+ "keepalive": {
+ "type": "string",
+ "description": "gRPC client TCP dialer keep alive"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client TCP dialer timeout"
+ }
+ }
+ },
+ "dns": {
+ "type": "object",
+ "properties": {
+ "cache_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP DNS cache enabled"
+ },
+ "cache_expiration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache expiration"
+ },
+ "refresh_duration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache refresh duration"
+ }
+ }
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": {
+ "type": "string",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ }
+ }
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option read buffer size"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client dial option timeout"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option write buffer size"
+ }
+ }
+ },
+ "health_check_duration": {
+ "type": "string",
+ "description": "gRPC client health check duration"
+ },
+ "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",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ },
+ "wait_for_ready": { "type": "boolean" }
+ }
+ },
+ "duration": { "type": "string" }
+ }
+ },
+ "index_replica": {
+ "type": "integer",
+ "description": "number of index replica",
+ "minimum": 1
+ },
+ "multi_operation_concurrency": {
+ "type": "integer",
+ "description": "number of concurrency of multiXXX api's operation",
+ "minimum": 2
+ },
+ "node_name": { "type": "string", "description": "node name" }
+ }
+ },
+ "hpa": {
+ "type": "object",
+ "properties": {
+ "enabled": { "type": "boolean", "description": "HPA enabled" },
+ "targetCPUUtilizationPercentage": {
+ "type": "integer",
+ "description": "HPA CPU utilization percentage"
+ }
+ }
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "pullPolicy": {
+ "type": "string",
+ "description": "image pull policy",
+ "enum": ["Always", "Never", "IfNotPresent"]
+ },
+ "repository": {
+ "type": "string",
+ "description": "image repository"
+ },
+ "tag": {
+ "type": "string",
+ "description": "image tag (overrides defaults.image.tag)"
+ }
+ }
+ },
+ "ingress": {
+ "type": "object",
+ "properties": {
+ "annotations": {
+ "type": "object",
+ "description": "annotations for ingress"
+ },
+ "defaultBackend": {
+ "type": "object",
+ "description": "defaultBackend config",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gateway ingress defaultBackend enabled"
+ }
+ }
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "gateway ingress enabled"
+ },
+ "host": { "type": "string", "description": "ingress hostname" },
+ "pathType": {
+ "type": "string",
+ "description": "gateway ingress pathType"
+ },
+ "servicePort": {
+ "type": "string",
+ "description": "service port to be exposed by ingress"
+ }
+ }
+ },
+ "initContainers": {
+ "type": "array",
+ "description": "init containers",
+ "items": { "type": "object" }
+ },
+ "internalTrafficPolicy": {
+ "type": "string",
+ "description": "internal traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"
+ },
+ "kind": {
+ "type": "string",
+ "description": "deployment kind: Deployment or DaemonSet",
+ "enum": ["Deployment", "DaemonSet"]
+ },
+ "logging": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "logging format. logging format must be `raw` or `json`",
+ "enum": ["raw", "json"]
+ },
+ "level": {
+ "type": "string",
+ "description": "logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.",
+ "enum": ["debug", "info", "warn", "error", "fatal"]
+ },
+ "logger": {
+ "type": "string",
+ "description": "logger name. currently logger must be `glg` or `zap`.",
+ "enum": ["glg", "zap"]
+ }
+ }
+ },
+ "maxReplicas": {
+ "type": "integer",
+ "description": "maximum number of replicas. if HPA is disabled, this value will be ignored.",
+ "minimum": 0
+ },
+ "maxUnavailable": {
+ "type": "string",
+ "description": "maximum number of unavailable replicas"
+ },
+ "minReplicas": {
+ "type": "integer",
+ "description": "minimum number of replicas. if HPA is disabled, the replicas will be set to this value",
+ "minimum": 0
+ },
+ "name": {
+ "type": "string",
+ "description": "name of gateway deployment"
+ },
+ "nodeName": { "type": "string", "description": "node name" },
+ "nodeSelector": {
+ "type": "object",
+ "description": "node selector"
+ },
+ "observability": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "observability features enabled"
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "enable_cgo": {
+ "type": "boolean",
+ "description": "CGO metrics enabled"
+ },
+ "enable_goroutine": {
+ "type": "boolean",
+ "description": "goroutine metrics enabled"
+ },
+ "enable_memory": {
+ "type": "boolean",
+ "description": "memory metrics enabled"
+ },
+ "enable_version_info": {
+ "type": "boolean",
+ "description": "version info metrics enabled"
+ },
+ "version_info_labels": {
+ "type": "array",
+ "description": "enabled label names of version info",
+ "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"
+ ]
+ }
+ }
+ }
+ },
+ "otlp": {
+ "type": "object",
+ "properties": {
+ "attribute": {
+ "type": "object",
+ "description": "default resource attribute",
+ "properties": {
+ "namespace": {
+ "type": "string",
+ "description": "namespace"
+ },
+ "node_name": {
+ "type": "string",
+ "description": "node name"
+ },
+ "pod_name": {
+ "type": "string",
+ "description": "pod name"
+ },
+ "service_name": {
+ "type": "string",
+ "description": "service name"
+ }
+ }
+ },
+ "collector_endpoint": {
+ "type": "string",
+ "description": "OpenTelemetry Collector endpoint"
+ },
+ "metrics_export_interval": {
+ "type": "string",
+ "description": "metrics export interval"
+ },
+ "metrics_export_timeout": {
+ "type": "string",
+ "description": "metrics export timeout"
+ },
+ "trace_batch_timeout": {
+ "type": "string",
+ "description": "trace batch timeout"
+ },
+ "trace_export_timeout": {
+ "type": "string",
+ "description": "trace export timeout"
+ },
+ "trace_max_export_batch_size": {
+ "type": "integer",
+ "description": "trace maximum export batch size"
+ },
+ "trace_max_queue_size": {
+ "type": "integer",
+ "description": "trace maximum queue size"
+ }
+ }
+ },
+ "trace": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "trace enabled"
+ }
+ }
+ }
+ }
+ },
+ "podAnnotations": {
+ "type": "object",
+ "description": "pod annotations"
+ },
+ "podPriority": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gateway pod PriorityClass enabled"
+ },
+ "value": {
+ "type": "integer",
+ "description": "gateway pod PriorityClass value"
+ }
+ }
+ },
+ "podSecurityContext": {
+ "type": "object",
+ "description": "security context for pod"
+ },
+ "progressDeadlineSeconds": {
+ "type": "integer",
+ "description": "progress deadline seconds"
+ },
+ "resources": {
+ "type": "object",
+ "description": "compute resources",
+ "properties": {
+ "limits": { "type": "object" },
+ "requests": { "type": "object" }
+ }
+ },
+ "revisionHistoryLimit": {
+ "type": "integer",
+ "description": "number of old history to retain to allow rollback",
+ "minimum": 0
+ },
+ "rollingUpdate": {
+ "type": "object",
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "description": "max surge of rolling update"
+ },
+ "maxUnavailable": {
+ "type": "string",
+ "description": "max unavailable of rolling update"
+ }
+ }
+ },
+ "securityContext": {
+ "type": "object",
+ "description": "security context for container"
+ },
+ "server_config": {
+ "type": "object",
+ "properties": {
+ "full_shutdown_duration": {
+ "type": "string",
+ "description": "server full shutdown duration"
+ },
+ "healths": {
+ "type": "object",
+ "properties": {
+ "liveness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "liveness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "liveness server host"
+ },
+ "livenessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "liveness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "liveness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "liveness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "liveness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "liveness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "liveness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "liveness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "liveness probe timeout seconds"
+ }
+ }
+ },
+ "port": {
+ "type": "integer",
+ "description": "liveness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "liveness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "readiness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "readiness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "readiness server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "readiness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "readinessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "readiness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "readiness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "readiness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "readiness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "readiness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "readiness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "readiness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "readiness probe timeout seconds"
+ }
+ }
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "readiness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "startup": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "startup server enabled"
+ },
+ "port": {
+ "type": "integer",
+ "description": "startup server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "startupProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "startup probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "startup probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "startup probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "startup probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "startup probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "startup probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "startup probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "startup probe timeout seconds"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "pprof": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "pprof server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "pprof server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "pprof server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "pprof server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "servers": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gRPC server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "gRPC server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "gRPC server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "bidirectional_stream_concurrency": {
+ "type": "integer",
+ "description": "gRPC server bidirectional stream concurrency"
+ },
+ "connection_timeout": {
+ "type": "string",
+ "description": "gRPC server connection timeout"
+ },
+ "enable_reflection": {
+ "type": "boolean",
+ "description": "gRPC server reflection option"
+ },
+ "header_table_size": {
+ "type": "integer",
+ "description": "gRPC server header table size"
+ },
+ "initial_conn_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial window size"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC server interceptors",
+ "items": {
+ "type": "string",
+ "enum": [
+ "RecoverInterceptor",
+ "AccessLogInterceptor",
+ "TraceInterceptor",
+ "MetricInterceptor"
+ ]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "max_conn_age": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age"
+ },
+ "max_conn_age_grace": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age grace"
+ },
+ "max_conn_idle": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection idle"
+ },
+ "min_time": {
+ "type": "string",
+ "description": "gRPC server keep alive min_time"
+ },
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC server keep alive permit_without_stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC server keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC server keep alive timeout"
+ }
+ }
+ },
+ "max_header_list_size": {
+ "type": "integer",
+ "description": "gRPC server max header list size"
+ },
+ "max_receive_message_size": {
+ "type": "integer",
+ "description": "gRPC server max receive message size"
+ },
+ "max_send_message_size": {
+ "type": "integer",
+ "description": "gRPC server max send message size"
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server read buffer size"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server write buffer size"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "gRPC server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "gRPC server probe wait time"
+ },
+ "restart": {
+ "type": "boolean",
+ "description": "gRPC server restart"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "gRPC server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "REST server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "REST server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "REST server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "REST server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": { "type": "string", "description": "TLS ca path" },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": { "type": "string", "description": "TLS key path" }
+ }
+ }
+ }
+ },
+ "service": {
+ "type": "object",
+ "properties": {
+ "annotations": {
+ "type": "object",
+ "description": "service annotations"
+ },
+ "labels": { "type": "object", "description": "service labels" }
+ }
+ },
+ "serviceType": {
+ "type": "string",
+ "description": "service type: ClusterIP, LoadBalancer or NodePort",
+ "enum": ["ClusterIP", "LoadBalancer", "NodePort"]
+ },
+ "terminationGracePeriodSeconds": {
+ "type": "integer",
+ "description": "duration in seconds pod needs to terminate gracefully",
+ "minimum": 0
+ },
+ "time_zone": { "type": "string", "description": "Time zone" },
+ "tolerations": {
+ "type": "array",
+ "description": "tolerations",
+ "items": { "type": "object" }
+ },
+ "topologySpreadConstraints": {
+ "type": "array",
+ "description": "topology spread constraints of gateway pods",
+ "items": { "type": "object" }
+ },
+ "version": {
+ "type": "string",
+ "description": "version of gateway config",
+ "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$"
+ },
+ "volumeMounts": {
+ "type": "array",
+ "description": "volume mounts",
+ "items": { "type": "object" }
+ },
+ "volumes": {
+ "type": "array",
+ "description": "volumes",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ },
+ "manager": {
+ "type": "object",
+ "properties": {
+ "index": {
+ "type": "object",
+ "properties": {
+ "affinity": {
+ "type": "object",
+ "properties": {
+ "nodeAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "node affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "object",
+ "properties": {
+ "nodeSelectorTerms": {
+ "type": "array",
+ "description": "node affinity required node selectors",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ },
+ "podAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod affinity required scheduling terms",
+ "items": { "type": "object" }
+ }
+ }
+ },
+ "podAntiAffinity": {
+ "type": "object",
+ "properties": {
+ "preferredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod anti-affinity preferred scheduling terms",
+ "items": { "type": "object" }
+ },
+ "requiredDuringSchedulingIgnoredDuringExecution": {
+ "type": "array",
+ "description": "pod anti-affinity required scheduling terms",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ },
+ "annotations": {
+ "type": "object",
+ "description": "deployment annotations"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "index manager enabled"
+ },
+ "env": {
+ "type": "array",
+ "description": "environment variables",
+ "items": { "type": "object" }
+ },
+ "externalTrafficPolicy": {
+ "type": "string",
+ "description": "external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local"
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "pullPolicy": {
+ "type": "string",
+ "description": "image pull policy",
+ "enum": ["Always", "Never", "IfNotPresent"]
+ },
+ "repository": {
+ "type": "string",
+ "description": "image repository"
+ },
+ "tag": {
+ "type": "string",
+ "description": "image tag (overrides defaults.image.tag)"
+ }
+ }
+ },
+ "indexer": {
+ "type": "object",
+ "properties": {
+ "agent_namespace": {
+ "type": "string",
+ "description": "namespace of agent pods to manage"
+ },
+ "auto_index_check_duration": {
+ "type": "string",
+ "description": "check duration of automatic indexing"
+ },
+ "auto_index_duration_limit": {
+ "type": "string",
+ "description": "limit duration of automatic indexing"
+ },
+ "auto_index_length": {
+ "type": "integer",
+ "description": "number of cache to trigger automatic indexing"
+ },
+ "auto_save_index_duration_limit": {
+ "type": "string",
+ "description": "limit duration of automatic index saving"
+ },
+ "auto_save_index_wait_duration": {
+ "type": "string",
+ "description": "duration of automatic index saving wait duration for next saving"
+ },
+ "concurrency": {
+ "type": "integer",
+ "description": "concurrency",
+ "minimum": 1
+ },
+ "creation_pool_size": {
+ "type": "integer",
+ "description": "number of pool size of create index processing"
+ },
+ "discoverer": {
+ "type": "object",
+ "properties": {
+ "agent_client_options": {
+ "type": "object",
+ "properties": {
+ "addrs": {
+ "type": "array",
+ "description": "gRPC client addresses",
+ "items": { "type": "string" }
+ },
+ "backoff": {
+ "type": "object",
+ "properties": {
+ "backoff_factor": {
+ "type": "number",
+ "description": "gRPC client backoff factor"
+ },
+ "backoff_time_limit": {
+ "type": "string",
+ "description": "gRPC client backoff time limit"
+ },
+ "enable_error_log": {
+ "type": "boolean",
+ "description": "gRPC client backoff log enabled"
+ },
+ "initial_duration": {
+ "type": "string",
+ "description": "gRPC client backoff initial duration"
+ },
+ "jitter_limit": {
+ "type": "string",
+ "description": "gRPC client backoff jitter limit"
+ },
+ "maximum_duration": {
+ "type": "string",
+ "description": "gRPC client backoff maximum duration"
+ },
+ "retry_count": {
+ "type": "integer",
+ "description": "gRPC client backoff retry count"
+ }
+ }
+ },
+ "call_option": { "type": "object" },
+ "circuit_breaker": {
+ "type": "object",
+ "properties": {
+ "closed_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker closed error rate"
+ },
+ "closed_refresh_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker closed refresh timeout"
+ },
+ "half_open_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker half-open error rate"
+ },
+ "min_samples": {
+ "type": "integer",
+ "description": "gRPC client circuitbreaker minimum sampling count"
+ },
+ "open_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker open timeout"
+ }
+ }
+ },
+ "connection_pool": {
+ "type": "object",
+ "properties": {
+ "enable_dns_resolver": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"
+ },
+ "enable_rebalance": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool rebalance"
+ },
+ "old_conn_close_duration": {
+ "type": "string",
+ "description": "makes delay before gRPC client connection closing during connection pool rebalance"
+ },
+ "rebalance_duration": {
+ "type": "string",
+ "description": "gRPC client connection pool rebalance duration"
+ },
+ "size": {
+ "type": "integer",
+ "description": "gRPC client connection pool size"
+ }
+ }
+ },
+ "dial_option": {
+ "type": "object",
+ "properties": {
+ "backoff_base_delay": {
+ "type": "string",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_jitter": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_max_delay": {
+ "type": "string",
+ "description": "gRPC client dial option max backoff delay"
+ },
+ "backoff_multiplier": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "enable_backoff": {
+ "type": "boolean",
+ "description": "gRPC client dial option backoff enabled"
+ },
+ "initial_connection_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial window size"
+ },
+ "insecure": {
+ "type": "boolean",
+ "description": "gRPC client dial option insecure enabled"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC client interceptors",
+ "items": {
+ "type": "string",
+ "enum": ["TraceInterceptor"]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC client keep alive permit without stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC client keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client keep alive timeout"
+ }
+ }
+ },
+ "max_msg_size": {
+ "type": "integer",
+ "description": "gRPC client dial option max message size"
+ },
+ "min_connection_timeout": {
+ "type": "string",
+ "description": "gRPC client dial option minimum connection timeout"
+ },
+ "net": {
+ "type": "object",
+ "properties": {
+ "dialer": {
+ "type": "object",
+ "properties": {
+ "dual_stack_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP dialer dual stack enabled"
+ },
+ "keepalive": {
+ "type": "string",
+ "description": "gRPC client TCP dialer keep alive"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client TCP dialer timeout"
+ }
+ }
+ },
+ "dns": {
+ "type": "object",
+ "properties": {
+ "cache_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP DNS cache enabled"
+ },
+ "cache_expiration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache expiration"
+ },
+ "refresh_duration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache refresh duration"
+ }
+ }
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": {
+ "type": "string",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ }
+ }
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option read buffer size"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client dial option timeout"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option write buffer size"
+ }
+ }
+ },
+ "health_check_duration": {
+ "type": "string",
+ "description": "gRPC client health check duration"
+ },
+ "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",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ },
+ "wait_for_ready": { "type": "boolean" }
+ }
+ },
+ "client": {
+ "type": "object",
+ "properties": {
+ "addrs": {
+ "type": "array",
+ "description": "gRPC client addresses",
+ "items": { "type": "string" }
+ },
+ "backoff": {
+ "type": "object",
+ "properties": {
+ "backoff_factor": {
+ "type": "number",
+ "description": "gRPC client backoff factor"
+ },
+ "backoff_time_limit": {
+ "type": "string",
+ "description": "gRPC client backoff time limit"
+ },
+ "enable_error_log": {
+ "type": "boolean",
+ "description": "gRPC client backoff log enabled"
+ },
+ "initial_duration": {
+ "type": "string",
+ "description": "gRPC client backoff initial duration"
+ },
+ "jitter_limit": {
+ "type": "string",
+ "description": "gRPC client backoff jitter limit"
+ },
+ "maximum_duration": {
+ "type": "string",
+ "description": "gRPC client backoff maximum duration"
+ },
+ "retry_count": {
+ "type": "integer",
+ "description": "gRPC client backoff retry count"
+ }
+ }
+ },
+ "call_option": { "type": "object" },
+ "circuit_breaker": {
+ "type": "object",
+ "properties": {
+ "closed_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker closed error rate"
+ },
+ "closed_refresh_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker closed refresh timeout"
+ },
+ "half_open_error_rate": {
+ "type": "number",
+ "description": "gRPC client circuitbreaker half-open error rate"
+ },
+ "min_samples": {
+ "type": "integer",
+ "description": "gRPC client circuitbreaker minimum sampling count"
+ },
+ "open_timeout": {
+ "type": "string",
+ "description": "gRPC client circuitbreaker open timeout"
+ }
+ }
+ },
+ "connection_pool": {
+ "type": "object",
+ "properties": {
+ "enable_dns_resolver": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance"
+ },
+ "enable_rebalance": {
+ "type": "boolean",
+ "description": "enables gRPC client connection pool rebalance"
+ },
+ "old_conn_close_duration": {
+ "type": "string",
+ "description": "makes delay before gRPC client connection closing during connection pool rebalance"
+ },
+ "rebalance_duration": {
+ "type": "string",
+ "description": "gRPC client connection pool rebalance duration"
+ },
+ "size": {
+ "type": "integer",
+ "description": "gRPC client connection pool size"
+ }
+ }
+ },
+ "dial_option": {
+ "type": "object",
+ "properties": {
+ "backoff_base_delay": {
+ "type": "string",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_jitter": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "backoff_max_delay": {
+ "type": "string",
+ "description": "gRPC client dial option max backoff delay"
+ },
+ "backoff_multiplier": {
+ "type": "number",
+ "description": "gRPC client dial option base backoff delay"
+ },
+ "enable_backoff": {
+ "type": "boolean",
+ "description": "gRPC client dial option backoff enabled"
+ },
+ "initial_connection_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC client dial option initial window size"
+ },
+ "insecure": {
+ "type": "boolean",
+ "description": "gRPC client dial option insecure enabled"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC client interceptors",
+ "items": {
+ "type": "string",
+ "enum": ["TraceInterceptor"]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC client keep alive permit without stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC client keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client keep alive timeout"
+ }
+ }
+ },
+ "max_msg_size": {
+ "type": "integer",
+ "description": "gRPC client dial option max message size"
+ },
+ "min_connection_timeout": {
+ "type": "string",
+ "description": "gRPC client dial option minimum connection timeout"
+ },
+ "net": {
+ "type": "object",
+ "properties": {
+ "dialer": {
+ "type": "object",
+ "properties": {
+ "dual_stack_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP dialer dual stack enabled"
+ },
+ "keepalive": {
+ "type": "string",
+ "description": "gRPC client TCP dialer keep alive"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client TCP dialer timeout"
+ }
+ }
+ },
+ "dns": {
+ "type": "object",
+ "properties": {
+ "cache_enabled": {
+ "type": "boolean",
+ "description": "gRPC client TCP DNS cache enabled"
+ },
+ "cache_expiration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache expiration"
+ },
+ "refresh_duration": {
+ "type": "string",
+ "description": "gRPC client TCP DNS cache refresh duration"
+ }
+ }
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": {
+ "type": "string",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ }
+ }
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option read buffer size"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC client dial option timeout"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC client dial option write buffer size"
+ }
+ }
+ },
+ "health_check_duration": {
+ "type": "string",
+ "description": "gRPC client health check duration"
+ },
+ "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",
+ "description": "TLS ca path"
+ },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": {
+ "type": "string",
+ "description": "TLS key path"
+ }
+ }
+ },
+ "wait_for_ready": { "type": "boolean" }
+ }
+ },
+ "duration": {
+ "type": "string",
+ "description": "refresh duration to discover"
+ }
+ }
+ },
+ "node_name": { "type": "string", "description": "node name" }
+ }
+ },
+ "initContainers": {
+ "type": "array",
+ "description": "init containers",
+ "items": { "type": "object" }
+ },
+ "kind": {
+ "type": "string",
+ "description": "deployment kind: Deployment or DaemonSet",
+ "enum": ["Deployment", "DaemonSet"]
+ },
+ "logging": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "logging format. logging format must be `raw` or `json`",
+ "enum": ["raw", "json"]
+ },
+ "level": {
+ "type": "string",
+ "description": "logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.",
+ "enum": ["debug", "info", "warn", "error", "fatal"]
+ },
+ "logger": {
+ "type": "string",
+ "description": "logger name. currently logger must be `glg` or `zap`.",
+ "enum": ["glg", "zap"]
+ }
+ }
+ },
+ "maxUnavailable": {
+ "type": "string",
+ "description": "maximum number of unavailable replicas"
+ },
+ "name": {
+ "type": "string",
+ "description": "name of index manager deployment"
+ },
+ "nodeName": { "type": "string", "description": "node name" },
+ "nodeSelector": {
+ "type": "object",
+ "description": "node selector"
+ },
+ "observability": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "observability features enabled"
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "enable_cgo": {
+ "type": "boolean",
+ "description": "CGO metrics enabled"
+ },
+ "enable_goroutine": {
+ "type": "boolean",
+ "description": "goroutine metrics enabled"
+ },
+ "enable_memory": {
+ "type": "boolean",
+ "description": "memory metrics enabled"
+ },
+ "enable_version_info": {
+ "type": "boolean",
+ "description": "version info metrics enabled"
+ },
+ "version_info_labels": {
+ "type": "array",
+ "description": "enabled label names of version info",
+ "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"
+ ]
+ }
+ }
+ }
+ },
+ "otlp": {
+ "type": "object",
+ "properties": {
+ "attribute": {
+ "type": "object",
+ "description": "default resource attribute",
+ "properties": {
+ "namespace": {
+ "type": "string",
+ "description": "namespace"
+ },
+ "node_name": {
+ "type": "string",
+ "description": "node name"
+ },
+ "pod_name": {
+ "type": "string",
+ "description": "pod name"
+ },
+ "service_name": {
+ "type": "string",
+ "description": "service name"
+ }
+ }
+ },
+ "collector_endpoint": {
+ "type": "string",
+ "description": "OpenTelemetry Collector endpoint"
+ },
+ "metrics_export_interval": {
+ "type": "string",
+ "description": "metrics export interval"
+ },
+ "metrics_export_timeout": {
+ "type": "string",
+ "description": "metrics export timeout"
+ },
+ "trace_batch_timeout": {
+ "type": "string",
+ "description": "trace batch timeout"
+ },
+ "trace_export_timeout": {
+ "type": "string",
+ "description": "trace export timeout"
+ },
+ "trace_max_export_batch_size": {
+ "type": "integer",
+ "description": "trace maximum export batch size"
+ },
+ "trace_max_queue_size": {
+ "type": "integer",
+ "description": "trace maximum queue size"
+ }
+ }
+ },
+ "trace": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "trace enabled"
+ }
+ }
+ }
+ }
+ },
+ "podAnnotations": {
+ "type": "object",
+ "description": "pod annotations"
+ },
+ "podPriority": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gateway pod PriorityClass enabled"
+ },
+ "value": {
+ "type": "integer",
+ "description": "gateway pod PriorityClass value"
+ }
+ }
+ },
+ "podSecurityContext": {
+ "type": "object",
+ "description": "security context for pod"
+ },
+ "progressDeadlineSeconds": {
+ "type": "integer",
+ "description": "progress deadline seconds"
+ },
+ "replicas": {
+ "type": "integer",
+ "description": "number of replicas",
+ "minimum": 0
+ },
+ "resources": {
+ "type": "object",
+ "description": "compute resources",
+ "properties": {
+ "limits": { "type": "object" },
+ "requests": { "type": "object" }
+ }
+ },
+ "revisionHistoryLimit": {
+ "type": "integer",
+ "description": "number of old history to retain to allow rollback",
+ "minimum": 0
+ },
+ "rollingUpdate": {
+ "type": "object",
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "description": "max surge of rolling update"
+ },
+ "maxUnavailable": {
+ "type": "string",
+ "description": "max unavailable of rolling update"
+ }
+ }
+ },
+ "securityContext": {
+ "type": "object",
+ "description": "security context for container"
+ },
+ "server_config": {
+ "type": "object",
+ "properties": {
+ "full_shutdown_duration": {
+ "type": "string",
+ "description": "server full shutdown duration"
+ },
+ "healths": {
+ "type": "object",
+ "properties": {
+ "liveness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "liveness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "liveness server host"
+ },
+ "livenessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "liveness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "liveness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "liveness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "liveness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "liveness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "liveness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "liveness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "liveness probe timeout seconds"
+ }
+ }
+ },
+ "port": {
+ "type": "integer",
+ "description": "liveness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "liveness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "readiness": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "readiness server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "readiness server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "readiness server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "readinessProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "readiness probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "readiness probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "readiness probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "readiness probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "readiness probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "readiness probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "readiness probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "readiness probe timeout seconds"
+ }
+ }
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "readiness server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "startup": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "startup server enabled"
+ },
+ "port": {
+ "type": "integer",
+ "description": "startup server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "startupProbe": {
+ "type": "object",
+ "properties": {
+ "failureThreshold": {
+ "type": "integer",
+ "description": "startup probe failure threshold"
+ },
+ "httpGet": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "startup probe path"
+ },
+ "port": {
+ "type": "string",
+ "description": "startup probe port"
+ },
+ "scheme": {
+ "type": "string",
+ "description": "startup probe scheme"
+ }
+ }
+ },
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "startup probe initial delay seconds"
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "startup probe period seconds"
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "startup probe success threshold"
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "startup probe timeout seconds"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "pprof": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "pprof server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "pprof server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "pprof server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "pprof server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "servers": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "gRPC server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "gRPC server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "gRPC server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "grpc": {
+ "type": "object",
+ "properties": {
+ "bidirectional_stream_concurrency": {
+ "type": "integer",
+ "description": "gRPC server bidirectional stream concurrency"
+ },
+ "connection_timeout": {
+ "type": "string",
+ "description": "gRPC server connection timeout"
+ },
+ "enable_reflection": {
+ "type": "boolean",
+ "description": "gRPC server reflection option"
+ },
+ "header_table_size": {
+ "type": "integer",
+ "description": "gRPC server header table size"
+ },
+ "initial_conn_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial connection window size"
+ },
+ "initial_window_size": {
+ "type": "integer",
+ "description": "gRPC server initial window size"
+ },
+ "interceptors": {
+ "type": "array",
+ "description": "gRPC server interceptors",
+ "items": {
+ "type": "string",
+ "enum": [
+ "RecoverInterceptor",
+ "AccessLogInterceptor",
+ "TraceInterceptor",
+ "MetricInterceptor"
+ ]
+ }
+ },
+ "keepalive": {
+ "type": "object",
+ "properties": {
+ "max_conn_age": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age"
+ },
+ "max_conn_age_grace": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection age grace"
+ },
+ "max_conn_idle": {
+ "type": "string",
+ "description": "gRPC server keep alive max connection idle"
+ },
+ "min_time": {
+ "type": "string",
+ "description": "gRPC server keep alive min_time"
+ },
+ "permit_without_stream": {
+ "type": "boolean",
+ "description": "gRPC server keep alive permit_without_stream"
+ },
+ "time": {
+ "type": "string",
+ "description": "gRPC server keep alive time"
+ },
+ "timeout": {
+ "type": "string",
+ "description": "gRPC server keep alive timeout"
+ }
+ }
+ },
+ "max_header_list_size": {
+ "type": "integer",
+ "description": "gRPC server max header list size"
+ },
+ "max_receive_message_size": {
+ "type": "integer",
+ "description": "gRPC server max receive message size"
+ },
+ "max_send_message_size": {
+ "type": "integer",
+ "description": "gRPC server max send message size"
+ },
+ "read_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server read buffer size"
+ },
+ "write_buffer_size": {
+ "type": "integer",
+ "description": "gRPC server write buffer size"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "gRPC server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "gRPC server probe wait time"
+ },
+ "restart": {
+ "type": "boolean",
+ "description": "gRPC server restart"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "gRPC server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "REST server enabled"
+ },
+ "host": {
+ "type": "string",
+ "description": "REST server host"
+ },
+ "port": {
+ "type": "integer",
+ "description": "REST server port",
+ "maximum": 65535,
+ "minimum": 0
+ },
+ "server": {
+ "type": "object",
+ "properties": {
+ "http": {
+ "type": "object",
+ "properties": {
+ "handler_timeout": {
+ "type": "string",
+ "description": "REST server handler timeout"
+ },
+ "idle_timeout": {
+ "type": "string",
+ "description": "REST server idle timeout"
+ },
+ "read_header_timeout": {
+ "type": "string",
+ "description": "REST server read header timeout"
+ },
+ "read_timeout": {
+ "type": "string",
+ "description": "REST server read timeout"
+ },
+ "shutdown_duration": {
+ "type": "string",
+ "description": "REST server shutdown duration"
+ },
+ "write_timeout": {
+ "type": "string",
+ "description": "REST server write timeout"
+ }
+ }
+ },
+ "mode": {
+ "type": "string",
+ "description": "REST server server mode"
+ },
+ "network": {
+ "type": "string",
+ "description": "mysql network",
+ "enum": [
+ "tcp",
+ "tcp4",
+ "tcp6",
+ "udp",
+ "udp4",
+ "udp6",
+ "unix",
+ "unixgram",
+ "unixpacket"
+ ]
+ },
+ "probe_wait_time": {
+ "type": "string",
+ "description": "REST server probe wait time"
+ },
+ "socket_option": {
+ "type": "object",
+ "properties": {
+ "ip_recover_destination_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_recover_destination_addr functionality"
+ },
+ "ip_transparent": {
+ "type": "boolean",
+ "description": "server listen socket option for ip_transparent functionality"
+ },
+ "reuse_addr": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_addr functionality"
+ },
+ "reuse_port": {
+ "type": "boolean",
+ "description": "server listen socket option for reuse_port functionality"
+ },
+ "tcp_cork": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_cork functionality"
+ },
+ "tcp_defer_accept": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_defer_accept functionality"
+ },
+ "tcp_fast_open": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_fast_open functionality"
+ },
+ "tcp_no_delay": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_no_delay functionality"
+ },
+ "tcp_quick_ack": {
+ "type": "boolean",
+ "description": "server listen socket option for tcp_quick_ack functionality"
+ }
+ }
+ },
+ "socket_path": {
+ "type": "string",
+ "description": "mysql socket_path"
+ }
+ }
+ },
+ "servicePort": {
+ "type": "integer",
+ "description": "REST server service port",
+ "maximum": 65535,
+ "minimum": 0
+ }
+ }
+ }
+ }
+ },
+ "tls": {
+ "type": "object",
+ "properties": {
+ "ca": { "type": "string", "description": "TLS ca path" },
+ "cert": {
+ "type": "string",
+ "description": "TLS cert path"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "TLS enabled"
+ },
+ "insecure_skip_verify": {
+ "type": "boolean",
+ "description": "enable/disable skip SSL certificate verification"
+ },
+ "key": { "type": "string", "description": "TLS key path" }
+ }
+ }
+ }
+ },
+ "service": {
+ "type": "object",
+ "properties": {
+ "annotations": {
+ "type": "object",
+ "description": "service annotations"
+ },
+ "labels": { "type": "object", "description": "service labels" }
+ }
+ },
+ "serviceType": {
+ "type": "string",
+ "description": "service type: ClusterIP, LoadBalancer or NodePort",
+ "enum": ["ClusterIP", "LoadBalancer", "NodePort"]
+ },
+ "terminationGracePeriodSeconds": {
+ "type": "integer",
+ "description": "duration in seconds pod needs to terminate gracefully",
+ "minimum": 0
+ },
+ "time_zone": { "type": "string", "description": "Time zone" },
+ "tolerations": {
+ "type": "array",
+ "description": "tolerations",
+ "items": { "type": "object" }
+ },
+ "topologySpreadConstraints": {
+ "type": "array",
+ "description": "topology spread constraints of gateway pods",
+ "items": { "type": "object" }
+ },
+ "version": {
+ "type": "string",
+ "description": "version of gateway config",
+ "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$"
+ },
+ "volumeMounts": {
+ "type": "array",
+ "description": "volume mounts",
+ "items": { "type": "object" }
+ },
+ "volumes": {
+ "type": "array",
+ "description": "volumes",
+ "items": { "type": "object" }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/charts/vald/values.yaml b/charts/vald/values.yaml
index a1221ee74e..58aa50e43d 100644
--- a/charts/vald/values.yaml
+++ b/charts/vald/values.yaml
@@ -38,7 +38,7 @@ defaults:
image:
# @schema {"name": "defaults.image.tag", "type": "string"}
# defaults.image.tag -- docker image tag
- tag: v1.7.7
+ tag: v1.7.6
# @schema {"name": "defaults.server_config", "type": "object", "anchor": "server_config"}
server_config:
# @schema {"name": "defaults.server_config.servers", "type": "object"}
diff --git a/versions/VALD_VERSION b/versions/VALD_VERSION
index f0b77c1973..12751ca7b0 100644
--- a/versions/VALD_VERSION
+++ b/versions/VALD_VERSION
@@ -1 +1 @@
-v1.7.7
+v1.7.6