From 5838dfea9c8fe7ae732520212375a745cf657d06 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Wed, 7 Dec 2022 02:38:24 +0000 Subject: [PATCH 1/3] Format code with prettier and gofumpt This commit fixes the style issues introduced in 4e10e17 according to the output from prettier and gofumpt. Details: https://deepsource.io/gh/vdaas/vald/transform/3468f768-127e-425d-9457-42cc8d2ef2b2/ --- .devcontainer/devcontainer.json | 2 +- CHANGELOG.md | 1990 +-- CODE_OF_CONDUCT.md | 26 +- apis/docs/v1/docs.md | 1480 +- .../proto/v1/agent/core/agent.swagger.json | 24 +- .../v1/agent/sidecar/sidecar.swagger.json | 8 +- .../v1/discoverer/discoverer.swagger.json | 16 +- .../filter/egress/egress_filter.swagger.json | 16 +- .../ingress/ingress_filter.swagger.json | 16 +- .../manager/index/index_manager.swagger.json | 12 +- .../proto/v1/payload/payload.swagger.json | 8 +- .../apis/proto/v1/vald/filter.swagger.json | 40 +- .../apis/proto/v1/vald/insert.swagger.json | 16 +- .../apis/proto/v1/vald/object.swagger.json | 16 +- .../apis/proto/v1/vald/remove.swagger.json | 16 +- .../apis/proto/v1/vald/search.swagger.json | 40 +- .../apis/proto/v1/vald/update.swagger.json | 16 +- .../apis/proto/v1/vald/upsert.swagger.json | 16 +- charts/vald-helm-operator/README.md | 132 +- .../crds/valdhelmoperatorrelease.yaml | 4 +- .../vald-helm-operator/crds/valdrelease.yaml | 4 +- charts/vald-helm-operator/values.schema.json | 228 +- charts/vald/README.md | 1428 +- charts/vald/values.schema.json | 11873 +++++++++++++++- charts/vald/values.yaml | 3 +- .../values/vald-backup-via-pv-and-s3.yaml | 2 +- charts/vald/values/vald-backup-via-pv.yaml | 2 +- charts/vald/values/vald-backup-via-s3.yaml | 2 +- .../values/vald-in-memory-mode-no-backup.yaml | 2 +- docs/api/README.md | 16 +- docs/api/build_proto.md | 4 +- docs/api/filter-gateway.md | 454 +- docs/contributing/coding-style.md | 4 +- docs/overview/about-vald.md | 40 +- docs/overview/architecture.md | 16 +- docs/overview/component/README.md | 1 + docs/overview/component/discoverer.md | 1 - docs/overview/component/filter-gateway.md | 7 +- docs/overview/component/index-manager.md | 1 + docs/support/contacts.md | 4 +- docs/support/faq.md | 1 + docs/troubleshooting/client-side.md | 12 +- docs/troubleshooting/provisioning.md | 1 - docs/tutorial/get-started.md | 30 +- .../vald-agent-standalone-on-docker.md | 253 +- docs/tutorial/vald-agent-standalone-on-k8s.md | 353 +- docs/usecase/usage-example.md | 42 +- docs/user-guides/client-api-config.md | 1 - docs/user-guides/cluster-role-binding.md | 36 +- docs/user-guides/configuration.md | 2 - docs/user-guides/deployment.md | 75 +- docs/user-guides/filtering-configuration.md | 84 +- docs/user-guides/operations.md | 19 +- hack/CHANGELOG.template.md | 1 + .../internal/db/nosql/cassandra/testdata.json | 244 +- k8s/metrics/otel/README.md | 44 +- k8s/metrics/pyroscope/README.md | 2 +- renovate.json | 4 +- tests/chaos/chart/README.md | 67 +- 59 files changed, 15361 insertions(+), 3896 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index a2bdc90026..606b4d0781 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,7 +1,7 @@ { "name": "Vald", "image": "vdaas/vald-dev-container:nightly", - "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], + "runArgs": ["--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"], "settings": { "terminal.integrated.shell.linux": "/bin/bash", diff --git a/CHANGELOG.md b/CHANGELOG.md index efe16d65c9..84ab14abd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,20 +56,24 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.6.3) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.6.3/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.6.3/charts/vald-helm-operator/README.md) ### Changes -🐛 Bugfix -- Bugfix Circuit Breaker half-open error handling [#1811](https://github.com/vdaas/vald/pull/1811) - -📝 Document fix -- Fix dead link [#1807](https://github.com/vdaas/vald/pull/1807) - -:arrow_up: Dependencies -- Update go modules and add small test for strings [#1812](https://github.com/vdaas/vald/pull/1812) +🐛 Bugfix + +- Bugfix Circuit Breaker half-open error handling [#1811](https://github.com/vdaas/vald/pull/1811) + +📝 Document fix + +- Fix dead link [#1807](https://github.com/vdaas/vald/pull/1807) + +:arrow_up: Dependencies + +- Update go modules and add small test for strings [#1812](https://github.com/vdaas/vald/pull/1812) ## v1.6.2 @@ -127,22 +131,26 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.6.2) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.6.2/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.6.2/charts/vald-helm-operator/README.md) ### Changes -🐛 Bugfix -- Bugfix success handling in the half-open and add flow control [#1805](https://github.com/vdaas/vald/pull/1805) -- Fix string concat buffer overflow [#1806](https://github.com/vdaas/vald/pull/1806) - -:white_check_mark: Test -- Implement pkg/agent/handler createAndSaveIndex test case [#1794](https://github.com/vdaas/vald/pull/1794) - -:pencil: Document -- Add cluster role document [#1796](https://github.com/vdaas/vald/pull/1796) -- Fix document format [#1804](https://github.com/vdaas/vald/pull/1804) +🐛 Bugfix + +- Bugfix success handling in the half-open and add flow control [#1805](https://github.com/vdaas/vald/pull/1805) +- Fix string concat buffer overflow [#1806](https://github.com/vdaas/vald/pull/1806) + +:white_check_mark: Test + +- Implement pkg/agent/handler createAndSaveIndex test case [#1794](https://github.com/vdaas/vald/pull/1794) + +:pencil: Document + +- Add cluster role document [#1796](https://github.com/vdaas/vald/pull/1796) +- Fix document format [#1804](https://github.com/vdaas/vald/pull/1804) ## v1.6.1 @@ -200,17 +208,20 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.6.1) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.6.1/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.6.1/charts/vald-helm-operator/README.md) ### Changes -🐛 Bugfix -- fix metrics bug [#1800](https://github.com/vdaas/vald/pull/1800) - -:white_check_mark: Test -- Add test for attributesFromError method [#1801](https://github.com/vdaas/vald/pull/1801) +🐛 Bugfix + +- fix metrics bug [#1800](https://github.com/vdaas/vald/pull/1800) + +:white_check_mark: Test + +- Add test for attributesFromError method [#1801](https://github.com/vdaas/vald/pull/1801) ## v1.6.0 @@ -268,53 +279,60 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.6.0) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.6.0/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.6.0/charts/vald-helm-operator/README.md) ### Changes -### Description: - -:sparkles: New feature + +### Description: + +:sparkles: New feature + - Introduce opentelemetry [#1778](https://github.com/vdaas/vald/pull/1778) - Change opencensus tracing to opentelemetry tracing [#1767](https://github.com/vdaas/vald/pull/1767) -- Add circuit breaker implementation [#1738](https://github.com/vdaas/vald/pull/1738) - -⬆️ Dependency update +- Add circuit breaker implementation [#1738](https://github.com/vdaas/vald/pull/1738) + +⬆️ Dependency update + - Deleted deprecated dependency for OTEL [#1795](https://github.com/vdaas/vald/pull/1795) -- Delete stackdriver dependencies [#1761](https://github.com/vdaas/vald/pull/1761) - -🐛 Bug fix +- Delete stackdriver dependencies [#1761](https://github.com/vdaas/vald/pull/1761) + +🐛 Bug fix + - Fix fossa workflow bug [#1787](https://github.com/vdaas/vald/pull/1787) -- Fix failed github workflow [#1745](https://github.com/vdaas/vald/pull/1745) +- Fix failed github workflow [#1745](https://github.com/vdaas/vald/pull/1745) - Add safe directory configuration [#1748](https://github.com/vdaas/vald/pull/1748) - -:recycle: Refactor -- Refactor internal package (net, file, logger) [#1768](https://github.com/vdaas/vald/pull/1768) + +:recycle: Refactor + +- Refactor internal package (net, file, logger) [#1768](https://github.com/vdaas/vald/pull/1768) - :recycle: Set default image tag as latest [#1766](https://github.com/vdaas/vald/pull/1766) - Upgrade ubuntu version [#1743](https://github.com/vdaas/vald/pull/1743) -- Deleted vald_ prefix of dashboard [#1785](https://github.com/vdaas/vald/pull/1785) +- Deleted vald\_ prefix of dashboard [#1785](https://github.com/vdaas/vald/pull/1785) - Use gotestfmt instead of tparse [#1788](https://github.com/vdaas/vald/pull/1788) - -✅ Test + +✅ Test + - Implement agent handler saveIndex test case [#1731](https://github.com/vdaas/vald/pull/1731) - Ignore gorules test [#1790](https://github.com/vdaas/vald/pull/1790) -- Fix chaos test [#1757](https://github.com/vdaas/vald/pull/1757) +- Fix chaos test [#1757](https://github.com/vdaas/vald/pull/1757) - Implement agent handler createIndex test case [#1710](https://github.com/vdaas/vald/pull/1710) -- Implement agent handler indexInfo test case [#1708](https://github.com/vdaas/vald/pull/1708) - -📝 Document +- Implement agent handler indexInfo test case [#1708](https://github.com/vdaas/vald/pull/1708) + +📝 Document + - Update testing guideline & template [#1791](https://github.com/vdaas/vald/pull/1791) - Add Client API Config document [#1783](https://github.com/vdaas/vald/pull/1783) - Add backup configuration document [#1754](https://github.com/vdaas/vald/pull/1754) - Add upgrade document [#1777](https://github.com/vdaas/vald/pull/1777) - Update document by feedback [#1773](https://github.com/vdaas/vald/pull/1733) -- Add filter config document [#1755](https://github.com/vdaas/vald/pull/1755) +- Add filter config document [#1755](https://github.com/vdaas/vald/pull/1755) - Add deployment document [#1758](https://github.com/vdaas/vald/pull/1758) -- Update the images of agent page [#1753](https://github.com/vdaas/vald/pull/1753) +- Update the images of agent page [#1753](https://github.com/vdaas/vald/pull/1753) - Update config document [#1751](https://github.com/vdaas/vald/pull/1751) - ## v1.5.6 ### Docker images @@ -371,29 +389,29 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.5.6) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.5.6/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.5.6/charts/vald-helm-operator/README.md) ### Changes -✨ Feature - -- Add distance type [#1732](https://github.com/vdaas/vald/pull/1732) -- Add vald-helm-operator E2E [#1722](https://github.com/vdaas/vald/pull/1722) - - -⬆️ update dependencies -- Delete tensorflow [#1723](https://github.com/vdaas/vald/pull/1723) -- Update deps [#1724](https://github.com/vdaas/vald/pull/1724) - -✏️ Documents - -- Add capacity planning document [#1714](https://github.com/vdaas/vald/pull/1714) -- Update filter gateway document [#1721](https://github.com/vdaas/vald/pull/1721) -- Fix capacity planning doc [#1736](https://github.com/vdaas/vald/pull/1736) -- Fix file name of capacity planning document [#1737](https://github.com/vdaas/vald/pull/1737) - +✨ Feature + +- Add distance type [#1732](https://github.com/vdaas/vald/pull/1732) +- Add vald-helm-operator E2E [#1722](https://github.com/vdaas/vald/pull/1722) + +⬆️ update dependencies + +- Delete tensorflow [#1723](https://github.com/vdaas/vald/pull/1723) +- Update deps [#1724](https://github.com/vdaas/vald/pull/1724) + +✏️ Documents + +- Add capacity planning document [#1714](https://github.com/vdaas/vald/pull/1714) +- Update filter gateway document [#1721](https://github.com/vdaas/vald/pull/1721) +- Fix capacity planning doc [#1736](https://github.com/vdaas/vald/pull/1736) +- Fix file name of capacity planning document [#1737](https://github.com/vdaas/vald/pull/1737) ## v1.5.5 @@ -451,41 +469,42 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.5.5) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.5.5/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.5.5/charts/vald-helm-operator/README.md) ### Changes -♻️ Refactor - -- Make format [#1717](https://github.com/vdaas/vald/pull/1717) -- Remove unnecessary import path on pkg test [#1712](https://github.com/vdaas/vald/pull/1712) -- Fix to get only backoff metrics of discover RPC [#1706](https://github.com/vdaas/vald/pull/1706) - -🐛 Bugfix - -- Return uuid when exits rpc called [#1709](https://github.com/vdaas/vald/pull/1709) - -✏️ Documents - -- Add textlint for document [#1715](https://github.com/vdaas/vald/pull/1715) -- Modified design of troubleshooting image [#1705](https://github.com/vdaas/vald/pull/1705) -- Update tutorial images [#1704](https://github.com/vdaas/vald/pull/1704) -- Add troubleshooting flow chart document [#1688](https://github.com/vdaas/vald/pull/1688) -- Update data-flow docs for new images and using remove instead of delete [#1693](https://github.com/vdaas/vald/pull/1693) - -:white_check_mark: Test - -- Implement agent handler getObject test case [#1707](https://github.com/vdaas/vald/pull/1707) -- Implement stream insert test case [#1697](https://github.com/vdaas/vald/pull/1697) -- Implement upsert test cases [#1685](https://github.com/vdaas/vald/pull/1685) - -⬆️ Update dependencies - -- Update deps [#1719](https://github.com/vdaas/vald/pull/1719) -- Update deps [#1702](https://github.com/vdaas/vald/pull/1702) -- Automatically update k8s manifests [#1701](https://github.com/vdaas/vald/pull/1701) +♻️ Refactor + +- Make format [#1717](https://github.com/vdaas/vald/pull/1717) +- Remove unnecessary import path on pkg test [#1712](https://github.com/vdaas/vald/pull/1712) +- Fix to get only backoff metrics of discover RPC [#1706](https://github.com/vdaas/vald/pull/1706) + +🐛 Bugfix + +- Return uuid when exits rpc called [#1709](https://github.com/vdaas/vald/pull/1709) + +✏️ Documents + +- Add textlint for document [#1715](https://github.com/vdaas/vald/pull/1715) +- Modified design of troubleshooting image [#1705](https://github.com/vdaas/vald/pull/1705) +- Update tutorial images [#1704](https://github.com/vdaas/vald/pull/1704) +- Add troubleshooting flow chart document [#1688](https://github.com/vdaas/vald/pull/1688) +- Update data-flow docs for new images and using remove instead of delete [#1693](https://github.com/vdaas/vald/pull/1693) + +:white_check_mark: Test + +- Implement agent handler getObject test case [#1707](https://github.com/vdaas/vald/pull/1707) +- Implement stream insert test case [#1697](https://github.com/vdaas/vald/pull/1697) +- Implement upsert test cases [#1685](https://github.com/vdaas/vald/pull/1685) + +⬆️ Update dependencies + +- Update deps [#1719](https://github.com/vdaas/vald/pull/1719) +- Update deps [#1702](https://github.com/vdaas/vald/pull/1702) +- Automatically update k8s manifests [#1701](https://github.com/vdaas/vald/pull/1701) ## v1.5.4 @@ -543,40 +562,40 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.5.4) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.5.4/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.5.4/charts/vald-helm-operator/README.md) ### Changes -✨ New features - -- Add backoff metrics panel [#1694](https://github.com/vdaas/vald/pull/1694) -- Add backoff metrics for grpc [#1684](https://github.com/vdaas/vald/pull/1684) -- Setup jaeger operator [#1682](https://github.com/vdaas/vald/pull/1682) - - -⬆️ update dependencies - -- Update deps [#1695](https://github.com/vdaas/vald/pull/1695) -- Update deps [#1699](https://github.com/vdaas/vald/pull/1699) - -♻️ Refactor - -- Split agent pkg handler implementation [#1690](https://github.com/vdaas/vald/pull/1690) -- Refactor pkg test helper functions [#1678](https://github.com/vdaas/vald/pull/1678) - -🐛 Bugfix - -- Fix error handling in readyForUpdate and return NotFound error when delete fails in multiUpdate [#1681](https://github.com/vdaas/vald/pull/1681) -- Fix race error of server package [#1689](https://github.com/vdaas/vald/pull/1689) - -✏️ Documents - -- Add API status code description [#1679](https://github.com/vdaas/vald/pull/1679) -- Modified data flow images [#1687](https://github.com/vdaas/vald/pull/1687) -- Correspond to update omission [#1686](https://github.com/vdaas/vald/pull/1686) -- Renew basic architecture image [#1680](https://github.com/vdaas/vald/pull/1680) +✨ New features + +- Add backoff metrics panel [#1694](https://github.com/vdaas/vald/pull/1694) +- Add backoff metrics for grpc [#1684](https://github.com/vdaas/vald/pull/1684) +- Setup jaeger operator [#1682](https://github.com/vdaas/vald/pull/1682) + +⬆️ update dependencies + +- Update deps [#1695](https://github.com/vdaas/vald/pull/1695) +- Update deps [#1699](https://github.com/vdaas/vald/pull/1699) + +♻️ Refactor + +- Split agent pkg handler implementation [#1690](https://github.com/vdaas/vald/pull/1690) +- Refactor pkg test helper functions [#1678](https://github.com/vdaas/vald/pull/1678) + +🐛 Bugfix + +- Fix error handling in readyForUpdate and return NotFound error when delete fails in multiUpdate [#1681](https://github.com/vdaas/vald/pull/1681) +- Fix race error of server package [#1689](https://github.com/vdaas/vald/pull/1689) + +✏️ Documents + +- Add API status code description [#1679](https://github.com/vdaas/vald/pull/1679) +- Modified data flow images [#1687](https://github.com/vdaas/vald/pull/1687) +- Correspond to update omission [#1686](https://github.com/vdaas/vald/pull/1686) +- Renew basic architecture image [#1680](https://github.com/vdaas/vald/pull/1680) ## v1.5.3 @@ -634,44 +653,53 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.5.3) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.5.3/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.5.3/charts/vald-helm-operator/README.md) ### Changes -:sparkles: Feature -- add invalid id argument handling [#1667](https://github.com/vdaas/vald/pull/1667) - -:bug: Bugfix -- fix update bug [#1660](https://github.com/vdaas/vald/pull/1660) -- fix typo argument in Makefile and Makefile.d/function.mk [#1673](https://github.com/vdaas/vald/pull/1673) - -:green_heart: CI -- fix chaos test temporarily [#1665](https://github.com/vdaas/vald/pull/1665) - -:memo: Document -- add search config details document [#1661](https://github.com/vdaas/vald/pull/1661) - -:white_check_mark: Test -- implement pkg handler exists test cases [#1628](https://github.com/vdaas/vald/pull/1628) -- implement multi insert test case for pkg agent handler [#1612](https://github.com/vdaas/vald/pull/1612) -- create investigation test of max dim for NGT [#1633](https://github.com/vdaas/vald/pull/1633) -- implement pkg handler remove test cases [#1644](https://github.com/vdaas/vald/pull/1644) -- add e2e test for maxDimensionTest [#1650](https://github.com/vdaas/vald/pull/1650) -- implement update handler test cases [#1657](https://github.com/vdaas/vald/pull/1657) - -:arrow_up: Update dependencies -- update manifests version [#1642](https://github.com/vdaas/vald/pull/1642) -- update go module [#1643](https://github.com/vdaas/vald/pull/1643) -- fix go tool installation [#1649](https://github.com/vdaas/vald/pull/1649) -- update kind version [#1668](https://github.com/vdaas/vald/pull/1668) - -:art: Design -- update dataflow image [#1647](https://github.com/vdaas/vald/pull/1647) - -:lock: Security -- fix CWE-285 [#1654](https://github.com/vdaas/vald/pull/1654) +:sparkles: Feature + +- add invalid id argument handling [#1667](https://github.com/vdaas/vald/pull/1667) + +:bug: Bugfix + +- fix update bug [#1660](https://github.com/vdaas/vald/pull/1660) +- fix typo argument in Makefile and Makefile.d/function.mk [#1673](https://github.com/vdaas/vald/pull/1673) + +:green_heart: CI + +- fix chaos test temporarily [#1665](https://github.com/vdaas/vald/pull/1665) + +:memo: Document + +- add search config details document [#1661](https://github.com/vdaas/vald/pull/1661) + +:white_check_mark: Test + +- implement pkg handler exists test cases [#1628](https://github.com/vdaas/vald/pull/1628) +- implement multi insert test case for pkg agent handler [#1612](https://github.com/vdaas/vald/pull/1612) +- create investigation test of max dim for NGT [#1633](https://github.com/vdaas/vald/pull/1633) +- implement pkg handler remove test cases [#1644](https://github.com/vdaas/vald/pull/1644) +- add e2e test for maxDimensionTest [#1650](https://github.com/vdaas/vald/pull/1650) +- implement update handler test cases [#1657](https://github.com/vdaas/vald/pull/1657) + +:arrow_up: Update dependencies + +- update manifests version [#1642](https://github.com/vdaas/vald/pull/1642) +- update go module [#1643](https://github.com/vdaas/vald/pull/1643) +- fix go tool installation [#1649](https://github.com/vdaas/vald/pull/1649) +- update kind version [#1668](https://github.com/vdaas/vald/pull/1668) + +:art: Design + +- update dataflow image [#1647](https://github.com/vdaas/vald/pull/1647) + +:lock: Security + +- fix CWE-285 [#1654](https://github.com/vdaas/vald/pull/1654) ## v1.5.2 @@ -729,41 +757,49 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.5.2) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.5.2/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.5.2/charts/vald-helm-operator/README.md) ### Changes -:arrow_up: update dependencies -- update libs version (#1636) -- update libs version (#1632) - -:sparkles: feature -- use ReadWriteOncePod instead of ReadWriteOnce and remove initializer (#1627) - -:recycle: refactor -- refactor: improve memory high usage of vald-agent (#1617) - -:lock: security -- security: fix vulnerability problem of helm operator (#1625) -- [Security] Fix vulnerability problem of helm operator (#1611) -- security fix Vulnerability due to usage of old golang.org/x:net in example depentency (#1641) - -:green_heart: ci -- ci: Fix CodeQL warning (#1629) -- fix fails actions job & update version (#1620) -- [CI] Allow e2e deploy action jobs to run in parallel (#1616) - -:white_check_mark: test -- fix superfluous response.WriteHeader call (#1631) -- implement search-by-id pkg test (#1624) - -:memo: document -- document: update formats (#1634) -- docs: add dotdc as a contributor for doc (#1623) -- doc: fixed architecture link in get-started.md (#1619) -- add FAQ and Troubleshooting document (#1591) +:arrow_up: update dependencies + +- update libs version (#1636) +- update libs version (#1632) + +:sparkles: feature + +- use ReadWriteOncePod instead of ReadWriteOnce and remove initializer (#1627) + +:recycle: refactor + +- refactor: improve memory high usage of vald-agent (#1617) + +:lock: security + +- security: fix vulnerability problem of helm operator (#1625) +- [Security] Fix vulnerability problem of helm operator (#1611) +- security fix Vulnerability due to usage of old golang.org/x:net in example depentency (#1641) + +:green_heart: ci + +- ci: Fix CodeQL warning (#1629) +- fix fails actions job & update version (#1620) +- [CI] Allow e2e deploy action jobs to run in parallel (#1616) + +:white_check_mark: test + +- fix superfluous response.WriteHeader call (#1631) +- implement search-by-id pkg test (#1624) + +:memo: document + +- document: update formats (#1634) +- docs: add dotdc as a contributor for doc (#1623) +- doc: fixed architecture link in get-started.md (#1619) +- add FAQ and Troubleshooting document (#1591) ## v1.5.1 @@ -821,34 +857,35 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.5.1) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.5.1/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.5.1/charts/vald-helm-operator/README.md) ### Changes -:arrow_up: update dependencies - -- Upgrade pyroscope version (#1605) - -:bug: bugfix - -- bugfix internal/file and add CreateTemp function and resolve go module failure (#1608) - -:white_check_mark: Test - -- fix search handler test (#1613) -- fix fails test of e2e chaos (#1603) -- Implement pkg ngt handler insert test (#1552) -- implement agent ngt handler search test (#1557) - -:memo: document - -- add vald users (#1601) -- update brand guidelines pdf (#1600) -- fix file name of search api (#1599) -- [ImgBot] Optimize images (#1598) -- cleanup document images (#1595) +:arrow_up: update dependencies + +- Upgrade pyroscope version (#1605) + +:bug: bugfix + +- bugfix internal/file and add CreateTemp function and resolve go module failure (#1608) + +:white_check_mark: Test + +- fix search handler test (#1613) +- fix fails test of e2e chaos (#1603) +- Implement pkg ngt handler insert test (#1552) +- implement agent ngt handler search test (#1557) + +:memo: document + +- add vald users (#1601) +- update brand guidelines pdf (#1600) +- fix file name of search api (#1599) +- [ImgBot] Optimize images (#1598) +- cleanup document images (#1595) ## v1.5.0 @@ -906,40 +943,46 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.5.0) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.5.0/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.5.0/charts/vald-helm-operator/README.md) ### Changes -:sparkles: New features -- Add values yaml for the back up the agent index data (#1566) -- Implement uniform/gaussian distributed random float32/uint8 vector generator (#1573) -- Add min_num in each search service api (#1576) -- Add copy on write (#1578) -- Add example values for using Pyroscope (#1582) - -:recycle: Refactor -- Deleted resource limits of agent ngt and added in memory mode example (#1571) -- Improve string conversion performace (#1577) -- Update dependencies version (#1593) - -:pencil2: Documents -- Add gateway component overview document (#1549) -- Update API docs and fix format (#1568) -- Update dataflow images (#1572) -- Add discoverer component overview document (#1574) -- Add index manager component overview document (#1575) -- Update README (#1584) - -:bug: Bugfix -- Add error handling when there is no data in google cloud storage. (#1556) -- Reviewdog markdown workflow (#1585) -- Fix invalid URL (#1589) - -:white_check_mark: Test -- Implement test for net/grpc codec,logger and server (#1530) -- Update test for go1.17 update & -race test (#1431) +:sparkles: New features + +- Add values yaml for the back up the agent index data (#1566) +- Implement uniform/gaussian distributed random float32/uint8 vector generator (#1573) +- Add min_num in each search service api (#1576) +- Add copy on write (#1578) +- Add example values for using Pyroscope (#1582) + +:recycle: Refactor + +- Deleted resource limits of agent ngt and added in memory mode example (#1571) +- Improve string conversion performace (#1577) +- Update dependencies version (#1593) + +:pencil2: Documents + +- Add gateway component overview document (#1549) +- Update API docs and fix format (#1568) +- Update dataflow images (#1572) +- Add discoverer component overview document (#1574) +- Add index manager component overview document (#1575) +- Update README (#1584) + +:bug: Bugfix + +- Add error handling when there is no data in google cloud storage. (#1556) +- Reviewdog markdown workflow (#1585) +- Fix invalid URL (#1589) + +:white_check_mark: Test + +- Implement test for net/grpc codec,logger and server (#1530) +- Update test for go1.17 update & -race test (#1431) ## v1.4.1 @@ -997,14 +1040,15 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.4.1) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.4.1/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.4.1/charts/vald-helm-operator/README.md) ### Changes -- [bugfix] fix miss param for fp16 (#1563) -- [bugfix] add missing empty dir mount for s3 backup without pvs (#1562) +- [bugfix] fix miss param for fp16 (#1563) +- [bugfix] add missing empty dir mount for s3 backup without pvs (#1562) ## v1.4.0 @@ -1062,63 +1106,70 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.4.0) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.4.0/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.4.0/charts/vald-helm-operator/README.md) ### Changes - -:sparkles: New features -- Add agent minnum field and support fp16 (#1558) -- Add pyroscope manifest running on persistent volume (#1551) -- Add settings for profiling with pyroscope (#1539) -- Add pyroscope manifest (#1520) -- Add linear search handler for gateway-lb / ingress-filter / agent-core-ngt (#1511) -- Add grpc custom codec (#1490) -- Update grpc codes (#1489) -- Add NGT linear search API (#1504) - -:recycle: Refactor -- Delete unsupported library sptag (#1559) -- Improved search operation (#1546) -- Add description timeout of search config (#1541) -- Update dependencies version (#1538) -- Happy new year (#1525) -- Update libs version (#1524) -- Add the missing go.sum (#1517) -- Update license headers / Format codes (#1514) -- Add .gitattributes (#1512) -- Update get started with using kubernetes ingress (#1510) -- Fix command template (#1508) -- Update dependencies version (#1501) -- modify .pb.go & swagger (#1493) -- Add reshape vector proto, remove meta/backup proto (#1492) - -:pencil2: Documents -- Add agent component overview document (#1544) -- Add build api proto document (#1540) -- Add remove/object api document (#1536) -- Add search api document (#1534) -- Add upsert api document (#1533) -- Add update api document (#1529) -- Add insert api document (#1516) - -:bug: Bugfix -- Fix vulnerability problem of helm-operator (#1535) - - -:white_check_mark: Test -- Implement internal/net/grpc metrics & proto & types test (#1507) -- Implement and modify internal/io tests (#1509) -- Implement internal/net net.go&dialer.go test (#1505) -- Implement internal/net/grpc/credentials and health test (#1502) -- Implement internal/net/control test (#1500) -- Remove unsupported feature from public document (#1497) - -:tada: Cellebration! -- Add liusy182 as a contributor for example (#1519) -- Add zchee as a contributor for a11y (#1513) + + +:sparkles: New features + +- Add agent minnum field and support fp16 (#1558) +- Add pyroscope manifest running on persistent volume (#1551) +- Add settings for profiling with pyroscope (#1539) +- Add pyroscope manifest (#1520) +- Add linear search handler for gateway-lb / ingress-filter / agent-core-ngt (#1511) +- Add grpc custom codec (#1490) +- Update grpc codes (#1489) +- Add NGT linear search API (#1504) + +:recycle: Refactor + +- Delete unsupported library sptag (#1559) +- Improved search operation (#1546) +- Add description timeout of search config (#1541) +- Update dependencies version (#1538) +- Happy new year (#1525) +- Update libs version (#1524) +- Add the missing go.sum (#1517) +- Update license headers / Format codes (#1514) +- Add .gitattributes (#1512) +- Update get started with using kubernetes ingress (#1510) +- Fix command template (#1508) +- Update dependencies version (#1501) +- modify .pb.go & swagger (#1493) +- Add reshape vector proto, remove meta/backup proto (#1492) + +:pencil2: Documents + +- Add agent component overview document (#1544) +- Add build api proto document (#1540) +- Add remove/object api document (#1536) +- Add search api document (#1534) +- Add upsert api document (#1533) +- Add update api document (#1529) +- Add insert api document (#1516) + +:bug: Bugfix + +- Fix vulnerability problem of helm-operator (#1535) + +:white_check_mark: Test + +- Implement internal/net/grpc metrics & proto & types test (#1507) +- Implement and modify internal/io tests (#1509) +- Implement internal/net net.go&dialer.go test (#1505) +- Implement internal/net/grpc/credentials and health test (#1502) +- Implement internal/net/control test (#1500) +- Remove unsupported feature from public document (#1497) + +:tada: Cellebration! + +- Add liusy182 as a contributor for example (#1519) +- Add zchee as a contributor for a11y (#1513) ## v1.3.1 @@ -1176,17 +1227,18 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.3.1) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.3.1/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.3.1/charts/vald-helm-operator/README.md) ### Changes -- Add documentation comments to proto files (#1452) -- Add ngt index count panel to agent grafana dashboard (#1483) -- add grpc keepalive EnforcementPolicy support (#1487) -- fix timing of removeInvalidIndex (#1481) -- [bugfix] add validation to agent service option InitialDelayMaxDuration (#1482) +- Add documentation comments to proto files (#1452) +- Add ngt index count panel to agent grafana dashboard (#1483) +- add grpc keepalive EnforcementPolicy support (#1487) +- fix timing of removeInvalidIndex (#1481) +- [bugfix] add validation to agent service option InitialDelayMaxDuration (#1482) ## v1.3.0 @@ -1244,14 +1296,15 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.3.0) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.3.0/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.3.0/charts/vald-helm-operator/README.md) ### Changes -- add startupProbe support (#1473) -- add label / field selectors for discoverer (#1472) +- add startupProbe support (#1473) +- add label / field selectors for discoverer (#1472) ## v1.2.4 @@ -1309,24 +1362,25 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.2.4) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.2.4/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.2.4/charts/vald-helm-operator/README.md) ### Changes -- update go patch version (#1464) -- [bugfix] sidecar e2e testing (#1465) -- update dependencies version including NGT (#1461) -- fix unlimited gorountine processing in kvsdb (#1458) -- Refactor hack pkg agent e2e benchmark (#1430) -- Remove non-exist components from doc and ci (#1450) -- :recycle: :pencil: add default_pool_size in example yml (#1457) -- reduce memory usage around ngt implementation & refactor agent/lb & auto-generate unit test (#1449) -- Remove rinx from several yamls (#1451) -- Add E2E scenario with SkipStrictExistCheck enabled (#1415) -- fix filter-gateway chart (#1454) -- Implement pkg/agent/core/ngt/service/option test (#1429) +- update go patch version (#1464) +- [bugfix] sidecar e2e testing (#1465) +- update dependencies version including NGT (#1461) +- fix unlimited gorountine processing in kvsdb (#1458) +- Refactor hack pkg agent e2e benchmark (#1430) +- Remove non-exist components from doc and ci (#1450) +- :recycle: :pencil: add default_pool_size in example yml (#1457) +- reduce memory usage around ngt implementation & refactor agent/lb & auto-generate unit test (#1449) +- Remove rinx from several yamls (#1451) +- Add E2E scenario with SkipStrictExistCheck enabled (#1415) +- fix filter-gateway chart (#1454) +- Implement pkg/agent/core/ngt/service/option test (#1429) ## v1.2.3 @@ -1413,20 +1467,21 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.2.3) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.2.3/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.2.3/charts/vald-helm-operator/README.md) ### Changes -- update go module dependencies & update go patch version to 1.17.1 (#1445) -- [bugfix] fix unknown status problems in search operation (#1439) -- Add tools.mk for installing CI tools (#1442) -- Fix icon image path in Chart.yaml (#1441) -- fix(Makefile): :bug: Remove components (#1440) -- Change golangci-lint version to the latest and Fix docker build error (#1435) -- Fix golangci-lint rule (#1380) -- Add vqueue test for Exists and GetVector method (#1425) +- update go module dependencies & update go patch version to 1.17.1 (#1445) +- [bugfix] fix unknown status problems in search operation (#1439) +- Add tools.mk for installing CI tools (#1442) +- Fix icon image path in Chart.yaml (#1441) +- fix(Makefile): :bug: Remove components (#1440) +- Change golangci-lint version to the latest and Fix docker build error (#1435) +- Fix golangci-lint rule (#1380) +- Add vqueue test for Exists and GetVector method (#1425) ## v1.2.2 @@ -1513,26 +1568,27 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.2.2) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.2.2/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.2.2/charts/vald-helm-operator/README.md) ### Changes -- Add stateful PBT for NGT service (#1384) -- add default logger when logger not initialized (#1424) -- feat: :sparkles: Add LB gateway dashboard (#1420) -- chore-deps: :arrow_up: Upgrade OSDK to v1.11.0 (#1422) -- change default epsilon value to 0.1 from 0.0.1 (#1421) -- add go vet for checking cpu compatibility and update deps and refactor small code (#1418) -- Delete insert and delete channel of vqueue (#1400) -- downgrade cloud.google.com/go to resolve runtime panic (#1413) -- [bugfix] resolve errgroup limitation channel close panic (#1412) -- Update PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE (#1409) -- update go version to 1.17 and update go module dependencies (#1404) -- refactor grpc logging and use os.PathSeparator instead of / (#1405) -- Remove schema of security contexts (#1406) -- change security context uid to distroless nonroot uid (#1402) +- Add stateful PBT for NGT service (#1384) +- add default logger when logger not initialized (#1424) +- feat: :sparkles: Add LB gateway dashboard (#1420) +- chore-deps: :arrow_up: Upgrade OSDK to v1.11.0 (#1422) +- change default epsilon value to 0.1 from 0.0.1 (#1421) +- add go vet for checking cpu compatibility and update deps and refactor small code (#1418) +- Delete insert and delete channel of vqueue (#1400) +- downgrade cloud.google.com/go to resolve runtime panic (#1413) +- [bugfix] resolve errgroup limitation channel close panic (#1412) +- Update PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE (#1409) +- update go version to 1.17 and update go module dependencies (#1404) +- refactor grpc logging and use os.PathSeparator instead of / (#1405) +- Remove schema of security contexts (#1406) +- change security context uid to distroless nonroot uid (#1402) ## v1.2.1 @@ -1619,29 +1675,30 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.2.1) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.2.1/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.2.1/charts/vald-helm-operator/README.md) ### Changes -- remove global errgroup from kvsdb goroutine limitation (#1398) -- add google grpc healthz & logger (#1394) -- fix e2e multi apis test code (#1397) -- :pencil: fix command in vald agent standalone on docker (#1393) -- add Makefile & Makefile.d to build kick rule (#1391) -- format codes (#1389) -- [proposal] add golines as vald default formatter (#1337) -- replace gogo protobuf to vt protobuf (#1378) -- refactor gateway request result location aggregation logic & use xxh3 for kvsdb hashing (#1376) -- Add E2E tests for multi-APIs (#1353) -- Add test for the function to get length of vqueue (#1382) -- remove unused path of format/yaml command (#1383) -- [Documentation] fix image filename (#1377) -- Vald moves to a vector search engine that enables more simple and high-speed retrieval. This is the first step of Simple-Vald. (#1365) -- Add e2e-profiling job (#1356) -- fix svg error on dataflow image (#1375) -- remove invalid gateway component reference from chart.NOTES (#1371) +- remove global errgroup from kvsdb goroutine limitation (#1398) +- add google grpc healthz & logger (#1394) +- fix e2e multi apis test code (#1397) +- :pencil: fix command in vald agent standalone on docker (#1393) +- add Makefile & Makefile.d to build kick rule (#1391) +- format codes (#1389) +- [proposal] add golines as vald default formatter (#1337) +- replace gogo protobuf to vt protobuf (#1378) +- refactor gateway request result location aggregation logic & use xxh3 for kvsdb hashing (#1376) +- Add E2E tests for multi-APIs (#1353) +- Add test for the function to get length of vqueue (#1382) +- remove unused path of format/yaml command (#1383) +- [Documentation] fix image filename (#1377) +- Vald moves to a vector search engine that enables more simple and high-speed retrieval. This is the first step of Simple-Vald. (#1365) +- Add e2e-profiling job (#1356) +- fix svg error on dataflow image (#1375) +- remove invalid gateway component reference from chart.NOTES (#1371) ## v1.2.0 @@ -1728,45 +1785,46 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.2.0) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.2.0/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.2.0/charts/vald-helm-operator/README.md) ### Changes -# Release Vald v1.2.0 - - -## Changes: -- fix build failure on arm cpu due to the xxh3 dependency version (#1368) -- Add core algorithm ngt test (#1364) -- add mote accurate directory detection logic for removing (#1366) -- remove meta backup compressor from charts (#1334) -- update go module version (#1363) -- Update architecture overview (#1304) -- Improve internal package tests (#1227) -- fix bug of bulkinsert when error occurs and refactor error message (#1361) -- change initial-index-directory removal logic (#1359) -- ci: :construction_worker: Add gnupg to ci-container (#1362) -- ci: :construction_worker: add condition to trigger importing gpg key (#1360) -- fix: :bug: Fix mount paths when using persistent volume claim template (#1358) -- ci: :construction_worker: Add Upsert operation tests (#1347) -- config: :gear: Use GPG key for signing commits (#1351) -- add time validation for vqueue (#1352) -- chore-deps: :arrow_up: Upgrade tools (#1355) -- comment out backup/meta/compressor build command in Makefile (#1346) -- remove: :heavy_minus_sign: Remove backup, meta components from CI (#1331) -- add line trace logging when log mode is glg and level is debug (#1348) -- update go version to 1.16.6 and update go module dependencies (#1345) -- [bugfix] agent createindex operation's time.Ticker purges too slow & buffer overflow due to the unnecessary error wrapping (#1343) -- [bugfix] change kvsdb and vqueue check order for Exists operation (#1341) -- update go module dependencies (#1336) -- bugfix nil pointer panic in agent's MultiUpsert operation (#1335) -- [bugfix] agent.GetObject API returns old indexed vector problem instead of vqueue's new data (#1333) -- add timestamp handler for agent timestamp controlled update (#1324) -- fix: :bug: Fix typo (#1330) -- remove owner and description info from resource info rich error for each grpc handler (#1327) -- Update documents: configurations (#1289 +# Release Vald v1.2.0 + +## Changes: + +- fix build failure on arm cpu due to the xxh3 dependency version (#1368) +- Add core algorithm ngt test (#1364) +- add mote accurate directory detection logic for removing (#1366) +- remove meta backup compressor from charts (#1334) +- update go module version (#1363) +- Update architecture overview (#1304) +- Improve internal package tests (#1227) +- fix bug of bulkinsert when error occurs and refactor error message (#1361) +- change initial-index-directory removal logic (#1359) +- ci: :construction_worker: Add gnupg to ci-container (#1362) +- ci: :construction_worker: add condition to trigger importing gpg key (#1360) +- fix: :bug: Fix mount paths when using persistent volume claim template (#1358) +- ci: :construction_worker: Add Upsert operation tests (#1347) +- config: :gear: Use GPG key for signing commits (#1351) +- add time validation for vqueue (#1352) +- chore-deps: :arrow_up: Upgrade tools (#1355) +- comment out backup/meta/compressor build command in Makefile (#1346) +- remove: :heavy_minus_sign: Remove backup, meta components from CI (#1331) +- add line trace logging when log mode is glg and level is debug (#1348) +- update go version to 1.16.6 and update go module dependencies (#1345) +- [bugfix] agent createindex operation's time.Ticker purges too slow & buffer overflow due to the unnecessary error wrapping (#1343) +- [bugfix] change kvsdb and vqueue check order for Exists operation (#1341) +- update go module dependencies (#1336) +- bugfix nil pointer panic in agent's MultiUpsert operation (#1335) +- [bugfix] agent.GetObject API returns old indexed vector problem instead of vqueue's new data (#1333) +- add timestamp handler for agent timestamp controlled update (#1324) +- fix: :bug: Fix typo (#1330) +- remove owner and description info from resource info rich error for each grpc handler (#1327) +- Update documents: configurations (#1289 ## v1.1.2 @@ -1853,34 +1911,35 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.1.2) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.1.2/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.1.2/charts/vald-helm-operator/README.md) ### Changes -- bugfix remove api return wrong error of non exsiting replicas (#1318) -- update go modules and update go version to 1.16.5 from 1.16.4 (#1306) -- Implement test for internal/core/alogrithm/ngt/option and refactor (#1251) -- fix build error due to e2e benchmark invalid creating new client (#1221) -- bugfix correct error backoff handling for lb gateway (#1309) -- Apply ruleguard fixes (#1302) -- Add ruleguard rules (#1301) -- bugfix add feature vector duplication checking for LB-GW Upsert operation. (#1303) -- fix fails race condition test (#1299) -- Update dashboards, add operator dashboard and several panels (#1280) -- Add composite actions for E2E tests (#1257) -- add save index wait duration to index-manager for multiple agent index upload delay (#1292) -- Bugfix index count problem of ngt (#1288) -- fix example/helm/values.yaml (#1290) -- Fix time condition of agent & lb gateway (#1285) -- Use gofumpt for format workflow (#1281) -- [bugfix] kvsdb: do not increment the counter if key exists (#1282) -- Revert ":art: Use gofumpt as a default formatter (#1278)" (#1279) -- :art: Use gofumpt as a default formatter (#1278) -- :pencil: fix some wrongs (#1274) -- Refactor E2E tests: split operations into a new package (#1220) -- :bug: Fix the chart: agent-sidecar initContainer mode (#1271) +- bugfix remove api return wrong error of non exsiting replicas (#1318) +- update go modules and update go version to 1.16.5 from 1.16.4 (#1306) +- Implement test for internal/core/alogrithm/ngt/option and refactor (#1251) +- fix build error due to e2e benchmark invalid creating new client (#1221) +- bugfix correct error backoff handling for lb gateway (#1309) +- Apply ruleguard fixes (#1302) +- Add ruleguard rules (#1301) +- bugfix add feature vector duplication checking for LB-GW Upsert operation. (#1303) +- fix fails race condition test (#1299) +- Update dashboards, add operator dashboard and several panels (#1280) +- Add composite actions for E2E tests (#1257) +- add save index wait duration to index-manager for multiple agent index upload delay (#1292) +- Bugfix index count problem of ngt (#1288) +- fix example/helm/values.yaml (#1290) +- Fix time condition of agent & lb gateway (#1285) +- Use gofumpt for format workflow (#1281) +- [bugfix] kvsdb: do not increment the counter if key exists (#1282) +- Revert ":art: Use gofumpt as a default formatter (#1278)" (#1279) +- :art: Use gofumpt as a default formatter (#1278) +- :pencil: fix some wrongs (#1274) +- Refactor E2E tests: split operations into a new package (#1220) +- :bug: Fix the chart: agent-sidecar initContainer mode (#1271) ## v1.1.1 @@ -1967,11 +2026,13 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.1.1) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.1.1/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.1.1/charts/vald-helm-operator/README.md) ### Changes + - [patch] release Vald v1.1.1 ([#1268](https://github.com/vdaas/vald/pull/1268)) - fix copy CI error ([#1269](https://github.com/vdaas/vald/pull/1269)) - bugfix nil internal/net/grpc.Client.Reconnect nil pointer fix ([#1270](https://github.com/vdaas/vald/pull/1270)) @@ -1994,7 +2055,6 @@ - :robot: Automatically update k8s manifests ([#1248](https://github.com/vdaas/vald/pull/1248)) - Fix path to the yq binary ([#1247](https://github.com/vdaas/vald/pull/1247)) - ## v1.1.0 ### Docker images @@ -2080,106 +2140,113 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.1.0) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.1.0/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.1.0/charts/vald-helm-operator/README.md) ### Changes -#### Feature -- add correct grpc status and error handling (#1224) -- Add Cloud Storage mode of Agent Sidecar. (#519) -- Add general info metrics package / Add NGT info metrics (#1195) -- improve internal/info implementation (#1177) -- Add saving flag to index.info payload (#1200) -- Fix mysql and cassandra schema definitions in initialize jobs (#1186) -- Remove values-xxx.yaml from Helm packages (#1107) -- Feature/internal net/use netaddr (#1154) -- Add Nop Logger for empty logger message (#1158) -- Remove arm64 build of filter-ingress-tf (#1153) -- add tensorflow filter (#951) -- Add OpenAPIv3 schema to CRDs (#1068) -- PR for review all logging statements (#1052) - -#### Bugfix -- bugfix gateway search result merging process (#1238) -- remove nil check in Error() method in internal/errors (#1185) -- Bug fix of parallel test and goleak (#1231) -- :rotating_light: Fix linting errors (#1179) -- Fix mutex deadlock when calling error occurred (#1225) -- fix nil pointer panic when err is nil in Is() (#1216) -- Fix typo & missed schema definition (#1156) -- :lock: Fix validation about zip slip (#1150) -- :lock: Fix security issue: Add validation about path of extracted file (#1145) -- fix: nil pointer bug when config is nil and refactor variable name (#1139) -- :bug: Fix gateway service selectors in Helm chart (#1109) -- Bugfix correct error handling for agent apis (#1144) - -#### Document -- separate tutorials into each document and add images (#1230) -- Update Tutotial/Get-Started (#1203) -- Update unit-test-guideline.md (#1213) -- create docs/user-guides/sdks (#1182) -- Fix typo in README. (#1163) - - -#### CI/CD -- Upgrade to GitHub-native Dependabot (#1211) -- Use kubectl create/replace for upgrading CRDs (#1199) -- :wrench: Fix scylla deploy task (#1159) - -#### Test Code -- Add config agent core ngt test (#1219) -- implement pkg/agent/core/ngt/router test & refactor router implementation (#1214) -- Implement pkg/agent/core/ngt/handler/grpc/option test (#1215) -- refactor config error handling (#1190) -- Implement pkg/agent/core/ngt/router/option test (#1206) -- Implement safety bench code (#1171) -- create internal/config/redis test (#1147) -- Implement internal/config/transport test (#1172) -- Add internal/config/sidecar test (#1173) -- Add benchmark for internal/timeutil/time.go (#1086) -- Add internal/config/observability unit test (#1155) -- Add test for internal/config/mysql (#1151) -- create internal/config/cassandra test (#1117) -- create test for internal/config/server (#1175) -- Add internal/config/lb test (#1134) -- create internal/config/net test (#1140) -- :white_check_mark: create internal/config/meta test (#1133) -- Add internal/config/index test (#1129) -- :white_check_mark: create internal/config/backup test (#1132) -- delete internal/config/debug file (#1124) -- create internal/config/grpc test (#1130) -- Add internal/config/discoverer test (#1122) -- Add internal/config/filter.go test (#1125) -- create internal/config/gateway test (#1128) -- Implement internal/info/info.go benchmark (#1093) -- Add internal/config/client.go test (#1121) -- Implement internal/timeutil/location/loc.go benchmark test (#1091) -- :white_check_mark: remove unused variable from mysql test (#1120) -- feat: add blob test and comment (#1114) -- create bench code for internal/rand (#1089) -- Add test internal/config/compress.go (#1097) -- create internal/config/backoff test (#1104) -- change params for passing test of internal/backoff (#1108) -- remove unnecessary tests and update test (#1061) -- add internal backoff test (#1085) -- Add internal/core/algorithm/ngt/util.go test (#1066) -- Fix hack/tools/metrics failed builds (#1094) -- make timeouts for e2e and chaos tests longer (#1092) - -#### Dependencies -- update go version to 1.16.4 (#1239) -- :arrow_up: Upgrade helm, valdcli, kubelinter and osdk (#1181) -- update codecov version for vulnerability (#1207) - -#### Others -- update go modules (#1242) -- [ImgBot] Optimize images (#1241) -- Update license headers / Format codes (#1212) -- remove ngt version in filter-ingress-tensorflow (#1157) -- remove license from bot config json (#1164) -- improve internal/timeutil/location implementation (#1176) +#### Feature + +- add correct grpc status and error handling (#1224) +- Add Cloud Storage mode of Agent Sidecar. (#519) +- Add general info metrics package / Add NGT info metrics (#1195) +- improve internal/info implementation (#1177) +- Add saving flag to index.info payload (#1200) +- Fix mysql and cassandra schema definitions in initialize jobs (#1186) +- Remove values-xxx.yaml from Helm packages (#1107) +- Feature/internal net/use netaddr (#1154) +- Add Nop Logger for empty logger message (#1158) +- Remove arm64 build of filter-ingress-tf (#1153) +- add tensorflow filter (#951) +- Add OpenAPIv3 schema to CRDs (#1068) +- PR for review all logging statements (#1052) + +#### Bugfix + +- bugfix gateway search result merging process (#1238) +- remove nil check in Error() method in internal/errors (#1185) +- Bug fix of parallel test and goleak (#1231) +- :rotating_light: Fix linting errors (#1179) +- Fix mutex deadlock when calling error occurred (#1225) +- fix nil pointer panic when err is nil in Is() (#1216) +- Fix typo & missed schema definition (#1156) +- :lock: Fix validation about zip slip (#1150) +- :lock: Fix security issue: Add validation about path of extracted file (#1145) +- fix: nil pointer bug when config is nil and refactor variable name (#1139) +- :bug: Fix gateway service selectors in Helm chart (#1109) +- Bugfix correct error handling for agent apis (#1144) + +#### Document + +- separate tutorials into each document and add images (#1230) +- Update Tutotial/Get-Started (#1203) +- Update unit-test-guideline.md (#1213) +- create docs/user-guides/sdks (#1182) +- Fix typo in README. (#1163) + +#### CI/CD + +- Upgrade to GitHub-native Dependabot (#1211) +- Use kubectl create/replace for upgrading CRDs (#1199) +- :wrench: Fix scylla deploy task (#1159) + +#### Test Code + +- Add config agent core ngt test (#1219) +- implement pkg/agent/core/ngt/router test & refactor router implementation (#1214) +- Implement pkg/agent/core/ngt/handler/grpc/option test (#1215) +- refactor config error handling (#1190) +- Implement pkg/agent/core/ngt/router/option test (#1206) +- Implement safety bench code (#1171) +- create internal/config/redis test (#1147) +- Implement internal/config/transport test (#1172) +- Add internal/config/sidecar test (#1173) +- Add benchmark for internal/timeutil/time.go (#1086) +- Add internal/config/observability unit test (#1155) +- Add test for internal/config/mysql (#1151) +- create internal/config/cassandra test (#1117) +- create test for internal/config/server (#1175) +- Add internal/config/lb test (#1134) +- create internal/config/net test (#1140) +- :white_check_mark: create internal/config/meta test (#1133) +- Add internal/config/index test (#1129) +- :white_check_mark: create internal/config/backup test (#1132) +- delete internal/config/debug file (#1124) +- create internal/config/grpc test (#1130) +- Add internal/config/discoverer test (#1122) +- Add internal/config/filter.go test (#1125) +- create internal/config/gateway test (#1128) +- Implement internal/info/info.go benchmark (#1093) +- Add internal/config/client.go test (#1121) +- Implement internal/timeutil/location/loc.go benchmark test (#1091) +- :white_check_mark: remove unused variable from mysql test (#1120) +- feat: add blob test and comment (#1114) +- create bench code for internal/rand (#1089) +- Add test internal/config/compress.go (#1097) +- create internal/config/backoff test (#1104) +- change params for passing test of internal/backoff (#1108) +- remove unnecessary tests and update test (#1061) +- add internal backoff test (#1085) +- Add internal/core/algorithm/ngt/util.go test (#1066) +- Fix hack/tools/metrics failed builds (#1094) +- make timeouts for e2e and chaos tests longer (#1092) + +#### Dependencies + +- update go version to 1.16.4 (#1239) +- :arrow_up: Upgrade helm, valdcli, kubelinter and osdk (#1181) +- update codecov version for vulnerability (#1207) + +#### Others + +- update go modules (#1242) +- [ImgBot] Optimize images (#1241) +- Update license headers / Format codes (#1212) +- remove ngt version in filter-ingress-tensorflow (#1157) +- remove license from bot config json (#1164) +- improve internal/timeutil/location implementation (#1176) ## v1.0.4 @@ -2266,21 +2333,22 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.0.4) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.0.4/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.0.4/charts/vald-helm-operator/README.md) ### Changes -- Fix error handling of SearchByID API in lb gateway ([#1084](https://github.com/vdaas/vald/pull/1084)) -- Update Agent dashboard ([#1069](https://github.com/vdaas/vald/pull/1069)) -- Revise gRPC error statuses and details in meta (Redis/Cassandra) ([#1013](https://github.com/vdaas/vald/pull/1013)) -- add remove sample code for tutorial ([#1053](https://github.com/vdaas/vald/pull/1053)) -- add grpc reflection ([#1064](https://github.com/vdaas/vald/pull/1064)) -- remove vcache for vald agent due to vcache delete timing control failure and time ordered concurrent vector queue called vqueue ([#1028](https://github.com/vdaas/vald/pull/1028)) -- refactor discoverer client ([#1056](https://github.com/vdaas/vald/pull/1056)) -- bugfix nil pointer no target discovered ([#1055](https://github.com/vdaas/vald/pull/1055)) -- Upgrade Operator SDK version to v1.4.2 ([#1038](https://github.com/vdaas/vald/pull/1038)) +- Fix error handling of SearchByID API in lb gateway ([#1084](https://github.com/vdaas/vald/pull/1084)) +- Update Agent dashboard ([#1069](https://github.com/vdaas/vald/pull/1069)) +- Revise gRPC error statuses and details in meta (Redis/Cassandra) ([#1013](https://github.com/vdaas/vald/pull/1013)) +- add remove sample code for tutorial ([#1053](https://github.com/vdaas/vald/pull/1053)) +- add grpc reflection ([#1064](https://github.com/vdaas/vald/pull/1064)) +- remove vcache for vald agent due to vcache delete timing control failure and time ordered concurrent vector queue called vqueue ([#1028](https://github.com/vdaas/vald/pull/1028)) +- refactor discoverer client ([#1056](https://github.com/vdaas/vald/pull/1056)) +- bugfix nil pointer no target discovered ([#1055](https://github.com/vdaas/vald/pull/1055)) +- Upgrade Operator SDK version to v1.4.2 ([#1038](https://github.com/vdaas/vald/pull/1038)) ## v1.0.3 @@ -2367,6 +2435,7 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.0.3) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.0.3/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.0.3/charts/vald-helm-operator/README.md) @@ -2384,7 +2453,6 @@ - Fix invalid changelogs / update changelog workflows ([#1002](https://github.com/vdaas/vald/pull/1002)) - Add test case for internal/errors/observability.go ([#993](https://github.com/vdaas/vald/pull/993)) - ## v1.0.2 ### Docker images @@ -2474,11 +2542,13 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.0.2) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.0.2/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.0.2/charts/vald-helm-operator/README.md) ### Changes + - v1.0.2 Release ([#998](https://github.com/vdaas/vald/pull/998)) - :robot: Automatically update PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE ([#997](https://github.com/vdaas/vald/pull/997)) - Bug fix on StreamGetObject API and DNS cache expiration / refactor net connection ([#986](https://github.com/vdaas/vald/pull/986)) @@ -2492,7 +2562,6 @@ - update chatops permission ([#990](https://github.com/vdaas/vald/pull/990)) - :robot: Automatically update k8s manifests ([#981](https://github.com/vdaas/vald/pull/981)) - ## v1.0.1 ### Docker images @@ -2582,18 +2651,19 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.0.1) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.0.1/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.0.1/charts/vald-helm-operator/README.md) ### Changes + - bugfix lb-gateway's Insert rpc nil pointer panic ([#980](https://github.com/vdaas/vald/pull/980)) - Implement internal/errors/worker test ([#952](https://github.com/vdaas/vald/pull/952)) - create test for internal/errors/errors.go ([#929](https://github.com/vdaas/vald/pull/929)) - Add test case for internal/errors/net.go ([#969](https://github.com/vdaas/vald/pull/969)) - :robot: Automatically update k8s manifests ([#975](https://github.com/vdaas/vald/pull/975)) - ## v1.0.0 ### Docker images @@ -2683,11 +2753,13 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v1.0.0) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v1.0.0/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v1.0.0/charts/vald-helm-operator/README.md) ### Changes + - v1.0.0 Release ([#974](https://github.com/vdaas/vald/pull/974)) - Bug fix for gateway ([#963](https://github.com/vdaas/vald/pull/963)) - Add test case for internal/errors/ngt.go ([#936](https://github.com/vdaas/vald/pull/936)) @@ -2731,7 +2803,6 @@ - Vald V1 New Design APIs ([#826](https://github.com/vdaas/vald/pull/826)) - :robot: Automatically update k8s manifests ([#914](https://github.com/vdaas/vald/pull/914)) - ## v0.0.66 ### Docker images @@ -2821,11 +2892,13 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.66) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.66/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.66/charts/vald-helm-operator/README.md) ### Changes + - bugfix: do not create metadata file when create/append flag is not set for the agent/agent-sidecar ([#904](https://github.com/vdaas/vald/pull/904)) - :robot: Update license headers / Format Go codes and YAML files ([#913](https://github.com/vdaas/vald/pull/913)) - :green_heart: Add formatter for main branch ([#911](https://github.com/vdaas/vald/pull/911)) @@ -2834,7 +2907,6 @@ - Add test case for internal/errors/grpc.go ([#903](https://github.com/vdaas/vald/pull/903)) - :robot: Automatically update k8s manifests ([#906](https://github.com/vdaas/vald/pull/906)) - ## v0.0.65 ### Docker images @@ -2924,16 +2996,17 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.65) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.65/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.65/charts/vald-helm-operator/README.md) ### Changes + - Happy new year ([#905](https://github.com/vdaas/vald/pull/905)) - :white_check_mark: Add test case for internal/errors/file.go ([#893](https://github.com/vdaas/vald/pull/893)) - :robot: Automatically update k8s manifests ([#902](https://github.com/vdaas/vald/pull/902)) - ## v0.0.64 ### Docker images @@ -3023,11 +3096,13 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.64) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.64/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.64/charts/vald-helm-operator/README.md) ### Changes + - :wrench: Rename PriorityClass names to contain namespace ([#901](https://github.com/vdaas/vald/pull/901)) - :bug: Fix bug on updating status of VR & VHOR resources ([#892](https://github.com/vdaas/vald/pull/892)) - :white_check_mark: Implement internal/errors/blob test ([#888](https://github.com/vdaas/vald/pull/888)) @@ -3037,7 +3112,6 @@ - :white_check_mark: Add test for internal/errors/compressor.go ([#870](https://github.com/vdaas/vald/pull/870)) - :robot: Automatically update k8s manifests ([#887](https://github.com/vdaas/vald/pull/887)) - ## v0.0.63 ### Docker images @@ -3127,11 +3201,13 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.63) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.63/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.63/charts/vald-helm-operator/README.md) ### Changes + - Remove go mod tidy from base image / Add valid token to semver job ([#886](https://github.com/vdaas/vald/pull/886)) - bugfix agent duplicated data update execution ([#885](https://github.com/vdaas/vald/pull/885)) - :package: Build schemas when building helm-operator image ([#879](https://github.com/vdaas/vald/pull/879)) @@ -3151,7 +3227,6 @@ - :pencil: Fix coding guideline about constructor due to mock implementation ([#792](https://github.com/vdaas/vald/pull/792)) - :robot: Automatically update k8s manifests ([#781](https://github.com/vdaas/vald/pull/781)) - ## v0.0.62 ### Docker images @@ -3241,16 +3316,17 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.62) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.62/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.62/charts/vald-helm-operator/README.md) ### Changes + - add 3 new distance type support for agent-ngt ([#780](https://github.com/vdaas/vald/pull/780)) - upgrade KinD, Helm, valdcli, telepresence, tensorlfow, operator-sdk, helm-docs ([#776](https://github.com/vdaas/vald/pull/776)) - :robot: Automatically update k8s manifests ([#774](https://github.com/vdaas/vald/pull/774)) - ## v0.0.61 ### Docker images @@ -3340,15 +3416,16 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.61) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.61/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.61/charts/vald-helm-operator/README.md) ### Changes + - fix search result sorting codes ([#772](https://github.com/vdaas/vald/pull/772)) - :robot: Automatically update k8s manifests ([#771](https://github.com/vdaas/vald/pull/771)) - ## v0.0.60 ### Docker images @@ -3438,68 +3515,72 @@ ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.60) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.60/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.60/charts/vald-helm-operator/README.md) ### Changes + - Fix fails test for s3 reader ([#770](https://github.com/vdaas/vald/pull/770)) - CI: Make docker builds fast again ([#756](https://github.com/vdaas/vald/pull/756)) - :robot: Automatically update k8s manifests ([#769](https://github.com/vdaas/vald/pull/769)) - ## v0.0.59 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.59` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.59` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.59` -gateway | `docker pull vdaas/vald-gateway:v0.0.59` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.59` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.59` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.59` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.59` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.59` -index manager | `docker pull vdaas/vald-manager-index:v0.0.59` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.59` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.59` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.59` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.59` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.59` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.59` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.59` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.59` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.59` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.59` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.59` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.59` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.59) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.59/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.59/charts/vald-helm-operator/README.md) ### Changes + - bugfix gateway index out of bounds ([#768](https://github.com/vdaas/vald/pull/768)) - :robot: Automatically update k8s manifests ([#766](https://github.com/vdaas/vald/pull/766)) - ## v0.0.58 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.58` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.58` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.58` -gateway | `docker pull vdaas/vald-gateway:v0.0.58` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.58` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.58` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.58` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.58` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.58` -index manager | `docker pull vdaas/vald-manager-index:v0.0.58` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.58` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.58` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.58` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.58` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.58` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.58` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.58` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.58` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.58` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.58` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.58` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.58` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.58) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.58/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.58/charts/vald-helm-operator/README.md) ### Changes + - change gateway vald's mutex lock ([#765](https://github.com/vdaas/vald/pull/765)) - patch add more effective Close function for internal/core ([#764](https://github.com/vdaas/vald/pull/764)) - :white_check_mark: Fix mysql test failure ([#750](https://github.com/vdaas/vald/pull/750)) @@ -3514,31 +3595,32 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.58` - :fire: remove dependencies to gql proto ([#731](https://github.com/vdaas/vald/pull/731)) - :robot: Automatically update k8s manifests ([#730](https://github.com/vdaas/vald/pull/730)) - ## v0.0.57 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.57` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.57` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.57` -gateway | `docker pull vdaas/vald-gateway:v0.0.57` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.57` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.57` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.57` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.57` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.57` -index manager | `docker pull vdaas/vald-manager-index:v0.0.57` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.57` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.57` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.57` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.57` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.57` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.57` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.57` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.57` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.57` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.57` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.57` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.57` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.57) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.57/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.57/charts/vald-helm-operator/README.md) ### Changes + - fix duplicated search result ([#729](https://github.com/vdaas/vald/pull/729)) - :recycle: enable to inject only agent-sidecar on initContainer mode without enabling sidecar mode ([#726](https://github.com/vdaas/vald/pull/726)) - :sparkles: implement billion scale data ([#612](https://github.com/vdaas/vald/pull/612)) @@ -3547,31 +3629,32 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.57` - CI-container: upgrade dependencies of & remove workdir contents ([#711](https://github.com/vdaas/vald/pull/711)) - :robot: Automatically update k8s manifests ([#708](https://github.com/vdaas/vald/pull/708)) - ## v0.0.56 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.56` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.56` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.56` -gateway | `docker pull vdaas/vald-gateway:v0.0.56` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.56` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.56` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.56` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.56` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.56` -index manager | `docker pull vdaas/vald-manager-index:v0.0.56` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.56` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.56` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.56` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.56` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.56` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.56` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.56` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.56` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.56` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.56` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.56` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.56` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.56) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.56/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.56/charts/vald-helm-operator/README.md) ### Changes + - add C.free & delete ivc before core.BulkInsert C' function executing for reducing memory usage ([#701](https://github.com/vdaas/vald/pull/701)) - Add cassandra option test ([#644](https://github.com/vdaas/vald/pull/644)) - :memo: build single artifact from pbdocs task ([#699](https://github.com/vdaas/vald/pull/699)) @@ -3584,147 +3667,152 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.56` - :sparkles: use internal client ([#618](https://github.com/vdaas/vald/pull/618)) - :robot: Automatically update k8s manifests ([#684](https://github.com/vdaas/vald/pull/684)) - ## v0.0.55 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.55` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.55` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.55` -gateway | `docker pull vdaas/vald-gateway:v0.0.55` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.55` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.55` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.55` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.55` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.55` -index manager | `docker pull vdaas/vald-manager-index:v0.0.55` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.55` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.55` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.55` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.55` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.55` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.55` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.55` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.55` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.55` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.55` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.55` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.55` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.55) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.55/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.55/charts/vald-helm-operator/README.md) ### Changes + - pass CFLAGS, CXXFLAGS to NGT build command ([#683](https://github.com/vdaas/vald/pull/683)) - :robot: Automatically update k8s manifests ([#681](https://github.com/vdaas/vald/pull/681)) - ## v0.0.54 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.54` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.54` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.54` -gateway | `docker pull vdaas/vald-gateway:v0.0.54` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.54` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.54` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.54` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.54` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.54` -index manager | `docker pull vdaas/vald-manager-index:v0.0.54` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.54` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.54` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.54` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.54` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.54` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.54` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.54` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.54` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.54` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.54` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.54` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.54` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.54) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.54/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.54/charts/vald-helm-operator/README.md) ### Changes + - bugfix error assertion ([#680](https://github.com/vdaas/vald/pull/680)) - :robot: Automatically update k8s manifests ([#679](https://github.com/vdaas/vald/pull/679)) - ## v0.0.53 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.53` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.53` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.53` -gateway | `docker pull vdaas/vald-gateway:v0.0.53` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.53` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.53` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.53` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.53` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.53` -index manager | `docker pull vdaas/vald-manager-index:v0.0.53` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.53` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.53` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.53` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.53` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.53` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.53` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.53` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.53` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.53` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.53` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.53` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.53` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.53) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.53/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.53/charts/vald-helm-operator/README.md) ### Changes + - remove cockroachdb/errors ([#677](https://github.com/vdaas/vald/pull/677)) - :white_check_mark: Add test case for storage/blob/s3/writer/option ([#656](https://github.com/vdaas/vald/pull/656)) - :white_check_mark: fix: failing tset ([#671](https://github.com/vdaas/vald/pull/671)) - :bug: fix & upgrade manifests to operator-sdk v1.0.0 compatible ([#667](https://github.com/vdaas/vald/pull/667)) - :robot: Automatically update k8s manifests ([#666](https://github.com/vdaas/vald/pull/666)) - ## v0.0.52 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.52` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.52` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.52` -gateway | `docker pull vdaas/vald-gateway:v0.0.52` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.52` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.52` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.52` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.52` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.52` -index manager | `docker pull vdaas/vald-manager-index:v0.0.52` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.52` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.52` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.52` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.52` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.52` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.52` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.52` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.52` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.52` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.52` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.52` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.52` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.52) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.52/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.52/charts/vald-helm-operator/README.md) ### Changes + - add build stage for operator-sdk docker v1.0.0 permission changes ([#665](https://github.com/vdaas/vald/pull/665)) - :robot: Automatically update PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE ([#663](https://github.com/vdaas/vald/pull/663)) - :robot: Automatically update k8s manifests ([#664](https://github.com/vdaas/vald/pull/664)) - ## v0.0.51 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.51` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.51` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.51` -gateway | `docker pull vdaas/vald-gateway:v0.0.51` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.51` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.51` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.51` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.51` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.51` -index manager | `docker pull vdaas/vald-manager-index:v0.0.51` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.51` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.51` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.51` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.51` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.51` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.51` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.51` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.51` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.51` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.51` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.51` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.51` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.51) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.51/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.51/charts/vald-helm-operator/README.md) ### Changes + - update deps ([#660](https://github.com/vdaas/vald/pull/660)) - add metrics for indexer and sidecar ([#642](https://github.com/vdaas/vald/pull/642)) - :pencil2: fix indents in helm chart of vald-helm-operator ([#658](https://github.com/vdaas/vald/pull/658)) @@ -3766,32 +3854,33 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.51` - :pencil: Documentation/performance/loadtest ([#610](https://github.com/vdaas/vald/pull/610)) - :robot: Automatically update k8s manifests ([#609](https://github.com/vdaas/vald/pull/609)) - ## v0.0.50 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.50` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.50` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.50` -gateway | `docker pull vdaas/vald-gateway:v0.0.50` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.50` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.50` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.50` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.50` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.50` -index manager | `docker pull vdaas/vald-manager-index:v0.0.50` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.50` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.50` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.50` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.50` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.50` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.50` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.50` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.50` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.50` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.50` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.50` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.50` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.50) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.50/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.50/charts/vald-helm-operator/README.md) ### Changes -- Add warn logging messages to agent-sidecar & ignore io.EOF error when reading metadata.json ([#608](https://github.com/vdaas/vald/pull/608)) + +- Add warn logging messages to agent-sidecar & ignore io.EOF error when reading metadata.json ([#608](https://github.com/vdaas/vald/pull/608)) - Add DB metrics: Cassandra ([#587](https://github.com/vdaas/vald/pull/587)) - :recycle: Improve Singleflight performance ([#580](https://github.com/vdaas/vald/pull/580)) - [ImgBot] Optimize images ([#607](https://github.com/vdaas/vald/pull/607)) @@ -3802,118 +3891,122 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.50` - :green_heart: Add reviewdog - hadolint ([#603](https://github.com/vdaas/vald/pull/603)) - :robot: Automatically update k8s manifests ([#599](https://github.com/vdaas/vald/pull/599)) - ## v0.0.49 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.49` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.49` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.49` -gateway | `docker pull vdaas/vald-gateway:v0.0.49` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.49` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.49` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.49` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.49` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.49` -index manager | `docker pull vdaas/vald-manager-index:v0.0.49` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.49` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.49` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.49` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.49` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.49` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.49` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.49` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.49` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.49` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.49` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.49` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.49` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.49) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.49/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.49/charts/vald-helm-operator/README.md) ### Changes + - :bug: fix agent sidecar behavior ([#598](https://github.com/vdaas/vald/pull/598)) - :robot: Automatically update k8s manifests ([#597](https://github.com/vdaas/vald/pull/597)) - ## v0.0.48 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.48` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.48` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.48` -gateway | `docker pull vdaas/vald-gateway:v0.0.48` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.48` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.48` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.48` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.48` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.48` -index manager | `docker pull vdaas/vald-manager-index:v0.0.48` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.48` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.48` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.48` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.48` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.48` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.48` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.48` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.48` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.48` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.48` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.48` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.48` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.48) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.48/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.48/charts/vald-helm-operator/README.md) ### Changes + - :bug: fix behavior when index path is empty ([#596](https://github.com/vdaas/vald/pull/596)) - :white_check_mark: add internal/net/http/transport/option test ([#594](https://github.com/vdaas/vald/pull/594)) - tensorflow savedmodel warmup ([#539](https://github.com/vdaas/vald/pull/539)) - :robot: Automatically update k8s manifests ([#592](https://github.com/vdaas/vald/pull/592)) - ## v0.0.47 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.47` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.47` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.47` -gateway | `docker pull vdaas/vald-gateway:v0.0.47` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.47` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.47` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.47` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.47` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.47` -index manager | `docker pull vdaas/vald-manager-index:v0.0.47` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.47` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.47` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.47` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.47` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.47` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.47` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.47` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.47` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.47` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.47` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.47` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.47` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.47) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.47/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.47/charts/vald-helm-operator/README.md) ### Changes + - [agent-NGT, sidecar] Improve S3 backup/recover behavior ([#556](https://github.com/vdaas/vald/pull/556)) - :white_check_mark: add internal/cache/option test ([#586](https://github.com/vdaas/vald/pull/586)) - :robot: Automatically update k8s manifests ([#588](https://github.com/vdaas/vald/pull/588)) - ## v0.0.46 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.46` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.46` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.46` -gateway | `docker pull vdaas/vald-gateway:v0.0.46` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.46` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.46` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.46` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.46` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.46` -index manager | `docker pull vdaas/vald-manager-index:v0.0.46` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.46` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.46` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.46` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.46` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.46` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.46` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.46` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.46` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.46` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.46` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.46` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.46` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.46) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.46/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.46/charts/vald-helm-operator/README.md) ### Changes + - Test/internal/tcp ([#501](https://github.com/vdaas/vald/pull/501)) - :white_check_mark: add internal/cache/gache test ([#583](https://github.com/vdaas/vald/pull/583)) - :white_check_mark: add cache test ([#576](https://github.com/vdaas/vald/pull/576)) @@ -3925,31 +4018,32 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.46` - :robot: Automatically update k8s manifests ([#571](https://github.com/vdaas/vald/pull/571)) - :robot: Automatically update PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE ([#570](https://github.com/vdaas/vald/pull/570)) - ## v0.0.45 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.45` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.45` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.45` -gateway | `docker pull vdaas/vald-gateway:v0.0.45` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.45` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.45` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.45` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.45` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.45` -index manager | `docker pull vdaas/vald-manager-index:v0.0.45` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.45` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.45` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.45` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.45` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.45` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.45` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.45` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.45` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.45` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.45` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.45` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.45` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.45) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.45/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.45/charts/vald-helm-operator/README.md) ### Changes + - bugfix gateway & internal/net/grpc ([#569](https://github.com/vdaas/vald/pull/569)) - fix update-k8s workflow & update sample manifests ([#567](https://github.com/vdaas/vald/pull/567)) - :white_check_mark: Add test for `internal/config/mysql.go` ([#563](https://github.com/vdaas/vald/pull/563)) @@ -3969,31 +4063,32 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.45` - :bug: Fix condition check of chatops ([#544](https://github.com/vdaas/vald/pull/544)) - exclude hack codes ([#543](https://github.com/vdaas/vald/pull/543)) - ## v0.0.44 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.44` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.44` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.44` -gateway | `docker pull vdaas/vald-gateway:v0.0.44` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.44` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.44` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.44` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.44` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.44` -index manager | `docker pull vdaas/vald-manager-index:v0.0.44` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.44` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.44` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.44` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.44` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.44` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.44` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.44` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.44` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.44` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.44` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.44` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.44` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.44) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.44/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.44/charts/vald-helm-operator/README.md) ### Changes + - use Len and InsertVCacheLen method for IndexInfo / add mutex for (Create|Save)Index ([#536](https://github.com/vdaas/vald/pull/536)) - documentation: tutorial/agent-on-docker ([#516](https://github.com/vdaas/vald/pull/516)) - Revise log messages along with the coding guideline ([#504](https://github.com/vdaas/vald/pull/504)) @@ -4007,63 +4102,65 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.44` - Add `internal/runner` test ([#505](https://github.com/vdaas/vald/pull/505)) - Added test case for `internal/unit` pacakge ([#515](https://github.com/vdaas/vald/pull/515)) - ## v0.0.43 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.43` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.43` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.43` -gateway | `docker pull vdaas/vald-gateway:v0.0.43` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.43` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.43` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.43` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.43` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.43` -index manager | `docker pull vdaas/vald-manager-index:v0.0.43` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.43` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.43` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.43` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.43` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.43` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.43` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.43` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.43` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.43` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.43` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.43` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.43` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.43) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.43/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.43/charts/vald-helm-operator/README.md) ### Changes + - Revise S3 reader/writer: compatible with IBM Cloud Object Storage ([#509](https://github.com/vdaas/vald/pull/509)) - :bug: Close [#502](https://github.com/vdaas/vald/pull/502) / Fix roundtrip error handling (#508) - Feature/drawio ([#500](https://github.com/vdaas/vald/pull/500)) -- Added test case for `internal/errorgroup` ([#494](https://github.com/vdaas/vald/pull/494)) +- Added test case for `internal/errorgroup` ([#494](https://github.com/vdaas/vald/pull/494)) - Update Helm Chart info ([#496](https://github.com/vdaas/vald/pull/496)) - Revise triggers of workflow run & Fix reading changelogs from PR comments ([#495](https://github.com/vdaas/vald/pull/495)) - ## v0.0.42 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.42` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.42` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.42` -gateway | `docker pull vdaas/vald-gateway:v0.0.42` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.42` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.42` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.42` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.42` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.42` -index manager | `docker pull vdaas/vald-manager-index:v0.0.42` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.42` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.42` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.42` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.42` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.42` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.42` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.42` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.42` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.42` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.42` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.42` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.42` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.42) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.42/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.42/charts/vald-helm-operator/README.md) ### Changes + - ✨ Add Stackdriver Monitoring, Tracing and Profiler support ([#479](https://github.com/vdaas/vald/pull/479)) - :green_heart: Add CodeQL workflow instead of LGTM.com ([#486](https://github.com/vdaas/vald/pull/486)) - Add `internal/params` pacakge test ([#474](https://github.com/vdaas/vald/pull/474)) @@ -4072,31 +4169,32 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.42` - send a request to GoProxy after a new version is published ([#475](https://github.com/vdaas/vald/pull/475)) - internal/db/storage/blob/s3: remove ctx from struct ([#473](https://github.com/vdaas/vald/pull/473)) - ## v0.0.41 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.41` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.41` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.41` -gateway | `docker pull vdaas/vald-gateway:v0.0.41` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.41` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.41` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.41` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.41` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.41` -index manager | `docker pull vdaas/vald-manager-index:v0.0.41` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.41` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.41` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.41` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.41` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.41` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.41` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.41` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.41` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.41` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.41` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.41` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.41` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.41) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.41/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.41/charts/vald-helm-operator/README.md) ### Changes + - Refactor agent-sidecar: fix S3 reader & add backoff logic ([#467](https://github.com/vdaas/vald/pull/467)) - :bug: :pencil: fix link ([#471](https://github.com/vdaas/vald/pull/471)) - Fix /changelog command format ([#470](https://github.com/vdaas/vald/pull/470)) @@ -4109,31 +4207,32 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.41` - [ImgBot] Optimize images ([#461](https://github.com/vdaas/vald/pull/461)) - :art: trim white margin at data flow images ([#459](https://github.com/vdaas/vald/pull/459)) - ## v0.0.40 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.40` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.40` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.40` -gateway | `docker pull vdaas/vald-gateway:v0.0.40` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.40` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.40` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.40` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.40` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.40` -index manager | `docker pull vdaas/vald-manager-index:v0.0.40` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.40` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.40` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.40` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.40` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.40` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.40` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.40` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.40` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.40` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.40` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.40` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.40` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.40) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.40/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.40/charts/vald-helm-operator/README.md) ### Changes + - Documentation: add concept section to the architecture document ([#438](https://github.com/vdaas/vald/pull/438)) - feat: level pacakge test ([#455](https://github.com/vdaas/vald/pull/455)) - [ImgBot] Optimize images ([#457](https://github.com/vdaas/vald/pull/457)) @@ -4146,31 +4245,32 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.40` - add loadtest job and container ([#449](https://github.com/vdaas/vald/pull/449)) - 🐛 Fix bug on changelog command ([#448](https://github.com/vdaas/vald/pull/448)) - ## v0.0.39 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.39` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.39` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.39` -gateway | `docker pull vdaas/vald-gateway:v0.0.39` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.39` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.39` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.39` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.39` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.39` -index manager | `docker pull vdaas/vald-manager-index:v0.0.39` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.39` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.39` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.39` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.39` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.39` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.39` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.39` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.39` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.39` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.39` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.39` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.39` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.39) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.39/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.39/charts/vald-helm-operator/README.md) ### Changes + - [patch] fix doc file path ([#444](https://github.com/vdaas/vald/pull/444)) - Add changelog command (ChatOps) ([#447](https://github.com/vdaas/vald/pull/447)) - Fix inconsistent wording ([#442](https://github.com/vdaas/vald/pull/442)) @@ -4178,37 +4278,38 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.39` - [Document] Apply design template to flow diagram ([#441](https://github.com/vdaas/vald/pull/441)) - Document to deploy standalone agent ([#407](https://github.com/vdaas/vald/pull/407)) - implement load tester prototype ([#363](https://github.com/vdaas/vald/pull/363)) -- 🐛 Add gRPC interceptor to recover panic in handlers ([#440](https://github.com/vdaas/vald/pull/440)) +- 🐛 Add gRPC interceptor to recover panic in handlers ([#440](https://github.com/vdaas/vald/pull/440)) - tensorflow test ([#378](https://github.com/vdaas/vald/pull/378)) - :bento: update architecture overview svg to add agent sidecar ([#437](https://github.com/vdaas/vald/pull/437)) - Example program: Add indexing interval description & fix logging message ([#405](https://github.com/vdaas/vald/pull/405)) - :pencil2: Fix typo ([#436](https://github.com/vdaas/vald/pull/436)) - ## v0.0.38 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.38` -agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.38` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.38` -gateway | `docker pull vdaas/vald-gateway:v0.0.38` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.38` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.38` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.38` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.38` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.38` -index manager | `docker pull vdaas/vald-manager-index:v0.0.38` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.38` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.38` | +| agent sidecar | `docker pull vdaas/vald-agent-sidecar:v0.0.38` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.38` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.38` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.38` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.38` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.38` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.38` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.38` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.38` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.38` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.38) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.38/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.38/charts/vald-helm-operator/README.md) ### Changes + - send PR when K8s manifests are updated ([#435](https://github.com/vdaas/vald/pull/435)) - Implementation of agent-sidecar storage backup logic ([#409](https://github.com/vdaas/vald/pull/409)) - Fix structure of grpc java package ([#431](https://github.com/vdaas/vald/pull/431)) @@ -4230,122 +4331,126 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.38` - Add gen-test command for chatops ([#379](https://github.com/vdaas/vald/pull/379)) - Add internal/db/storage/blob ([#388](https://github.com/vdaas/vald/pull/388)) - ## v0.0.37 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.37` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.37` -gateway | `docker pull vdaas/vald-gateway:v0.0.37` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.37` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.37` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.37` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.37` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.37` -index manager | `docker pull vdaas/vald-manager-index:v0.0.37` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.37` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.37` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.37` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.37` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.37` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.37` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.37` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.37` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.37` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.37` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.37` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.37) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.37/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.37/charts/vald-helm-operator/README.md) ### Changes + - add agent auto save indexing feature ([#385](https://github.com/vdaas/vald/pull/385)) - :bug: fix ngt `distance_type` ([#384](https://github.com/vdaas/vald/pull/384)) - Add topology spread constraints ([#383](https://github.com/vdaas/vald/pull/383)) - ## v0.0.36 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.36` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.36` -gateway | `docker pull vdaas/vald-gateway:v0.0.36` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.36` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.36` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.36` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.36` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.36` -index manager | `docker pull vdaas/vald-manager-index:v0.0.36` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.36` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.36` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.36` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.36` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.36` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.36` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.36` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.36` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.36` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.36` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.36` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.36) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.36/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.36/charts/vald-helm-operator/README.md) ### Changes + - update dependencies version ([#381](https://github.com/vdaas/vald/pull/381)) - Fix missing value on compressor health servers ([#377](https://github.com/vdaas/vald/pull/377)) - Fix compressor readiness shutdown_duration / Fix cassandra … ([#376](https://github.com/vdaas/vald/pull/376)) - Bump gopkg.in/yaml.v2 from 2.2.8 to 2.3.0 ([#375](https://github.com/vdaas/vald/pull/375)) - Fix`internal/log/format` to match the test template ([#369](https://github.com/vdaas/vald/pull/369)) - Fix `internal/log/logger` to match the test template ([#371](https://github.com/vdaas/vald/pull/371)) -- Fix failing tests of `internal/log` and modified to match the test template ([#368](https://github.com/vdaas/vald/pull/368)) +- Fix failing tests of `internal/log` and modified to match the test template ([#368](https://github.com/vdaas/vald/pull/368)) - Add enabled flag to each component in Helm chart ([#372](https://github.com/vdaas/vald/pull/372)) - Add configurations.md ([#356](https://github.com/vdaas/vald/pull/356)) - ## v0.0.35 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.35` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.35` -gateway | `docker pull vdaas/vald-gateway:v0.0.35` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.35` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.35` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.35` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.35` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.35` -index manager | `docker pull vdaas/vald-manager-index:v0.0.35` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.35` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.35` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.35` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.35` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.35` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.35` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.35` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.35` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.35` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.35` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.35` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.35) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.35/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.35/charts/vald-helm-operator/README.md) ### Changes + - add storage backup option to agent ([#367](https://github.com/vdaas/vald/pull/367)) - Add client-node dispatcher ([#370](https://github.com/vdaas/vald/pull/370)) - Bump github.com/tensorflow/tensorflow ([#364](https://github.com/vdaas/vald/pull/364)) - change fmt.Errorf to errors.Errorf ([#361](https://github.com/vdaas/vald/pull/361)) - add goleak ([#359](https://github.com/vdaas/vald/pull/359)) - ## v0.0.34 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.34` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.34` -gateway | `docker pull vdaas/vald-gateway:v0.0.34` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.34` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.34` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.34` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.34` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.34` -index manager | `docker pull vdaas/vald-manager-index:v0.0.34` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.34` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.34` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.34` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.34` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.34` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.34` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.34` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.34` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.34` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.34` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.34` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.34) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.34/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.34/charts/vald-helm-operator/README.md) ### Changes + - feature/internal/cassandra/add option ([#358](https://github.com/vdaas/vald/pull/358)) - update helm docs when version is published ([#355](https://github.com/vdaas/vald/pull/355)) - upgrade tools ([#354](https://github.com/vdaas/vald/pull/354)) @@ -4353,114 +4458,118 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.34` - Fix conflicts between formatter and helm template ([#350](https://github.com/vdaas/vald/pull/350)) - Add more options and remove valdhelmoperatorrelease, valdrelease from vald-helm-operator chart ([#334](https://github.com/vdaas/vald/pull/334)) - ## v0.0.33 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.33` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.33` -gateway | `docker pull vdaas/vald-gateway:v0.0.33` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.33` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.33` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.33` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.33` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.33` -index manager | `docker pull vdaas/vald-manager-index:v0.0.33` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.33` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.33` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.33` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.33` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.33` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.33` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.33` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.33` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.33` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.33` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.33` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.33) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.33/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.33/charts/vald-helm-operator/README.md) ### Changes + - update k8s dependencies ([#349](https://github.com/vdaas/vald/pull/349)) - create missing test files by the our original test template ([#348](https://github.com/vdaas/vald/pull/348)) - create test template for using gotests ([#327](https://github.com/vdaas/vald/pull/327)) - Revise coverage CI settings ([#347](https://github.com/vdaas/vald/pull/347)) - fix tensorflow.go, option.go ([#261](https://github.com/vdaas/vald/pull/261)) - ## v0.0.32 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.32` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.32` -gateway | `docker pull vdaas/vald-gateway:v0.0.32` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.32` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.32` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.32` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.32` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.32` -index manager | `docker pull vdaas/vald-manager-index:v0.0.32` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.32` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.32` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.32` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.32` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.32` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.32` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.32` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.32` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.32` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.32` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.32` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.32) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.32/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.32/charts/vald-helm-operator/README.md) ### Changes + - bugfix ip discoverer disconnection too slow ([#344](https://github.com/vdaas/vald/pull/344)) - Compressor: backup vectors in queue using PostStop function ([#345](https://github.com/vdaas/vald/pull/345)) - Revise backup/meta Cassandra default values ([#336](https://github.com/vdaas/vald/pull/336)) - ## v0.0.31 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.31` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.31` -gateway | `docker pull vdaas/vald-gateway:v0.0.31` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.31` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.31` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.31` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.31` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.31` -index manager | `docker pull vdaas/vald-manager-index:v0.0.31` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.31` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.31` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.31` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.31` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.31` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.31` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.31` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.31` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.31` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.31` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.31` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.31) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.31/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.31/charts/vald-helm-operator/README.md) ### Changes -- Resolve busy-loop on worker ([#339](https://github.com/vdaas/vald/pull/339)) +- Resolve busy-loop on worker ([#339](https://github.com/vdaas/vald/pull/339)) ## v0.0.30 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.30` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.30` -gateway | `docker pull vdaas/vald-gateway:v0.0.30` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.30` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.30` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.30` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.30` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.30` -index manager | `docker pull vdaas/vald-manager-index:v0.0.30` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.30` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.30` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.30` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.30` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.30` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.30` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.30` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.30` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.30` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.30` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.30` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.30) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.30/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.30/charts/vald-helm-operator/README.md) ### Changes + - async compressor - optimized gRPC pool connection - update helm chart API version @@ -4471,30 +4580,31 @@ Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.30` - new internal/net package - coding guideline - ## v0.0.26 ### Docker images -component | docker pull ---------- | ----------- -agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.26` -discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.26` -gateway | `docker pull vdaas/vald-gateway:v0.0.26` -backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.26` -backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.26` -compressor | `docker pull vdaas/vald-manager-compressor:v0.0.26` -meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.26` -meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.26` -index manager | `docker pull vdaas/vald-manager-index:v0.0.26` -Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.26` +| component | docker pull | +| ------------------------ | --------------------------------------------------------- | +| agent NGT | `docker pull vdaas/vald-agent-ngt:v0.0.26` | +| discoverer K8s | `docker pull vdaas/vald-discoverer-k8s:v0.0.26` | +| gateway | `docker pull vdaas/vald-gateway:v0.0.26` | +| backup manager MySQL | `docker pull vdaas/vald-manager-backup-mysql:v0.0.26` | +| backup manager Cassandra | `docker pull vdaas/vald-manager-backup-cassandra:v0.0.26` | +| compressor | `docker pull vdaas/vald-manager-compressor:v0.0.26` | +| meta Redis | `docker pull vdaas/vald-meta-redis:v0.0.26` | +| meta Cassandra | `docker pull vdaas/vald-meta-cassandra:v0.0.26` | +| index manager | `docker pull vdaas/vald-manager-index:v0.0.26` | +| Helm operator | `docker pull vdaas/vald-helm-operator:v0.0.26` | ### Documents + - [GoDoc](https://pkg.go.dev/github.com/vdaas/vald@v0.0.26) - [Helm Chart Reference](https://github.com/vdaas/vald/blob/v0.0.26/charts/vald/README.md) - [Helm Operator Chart Reference](https://github.com/vdaas/vald/blob/v0.0.26/charts/vald-helm-operator/README.md) ### Changes + - added helm operator - added telepresence - improved meta-Cassandra performance diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 4d77b4b64f..dc9341be25 100755 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,22 +14,22 @@ appearance, race, religion, or sexual identity and orientation. Examples of behavior that contributes to creating a positive environment include: -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members Examples of unacceptable behavior by participants include: -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting +- The use of sexualized language or imagery and unwelcome sexual attention or + advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic + address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting ## Our Responsibilities diff --git a/apis/docs/v1/docs.md b/apis/docs/v1/docs.md index 4cedbc6796..944dd9647b 100644 --- a/apis/docs/v1/docs.md +++ b/apis/docs/v1/docs.md @@ -1,1562 +1,1074 @@ # Protocol Documentation + ## Table of Contents - [apis/proto/v1/agent/core/agent.proto](#apis_proto_v1_agent_core_agent-proto) - - [Agent](#core-v1-Agent) - + - [Agent](#core-v1-Agent) - [apis/proto/v1/agent/sidecar/sidecar.proto](#apis_proto_v1_agent_sidecar_sidecar-proto) - - [Sidecar](#sidecar-v1-Sidecar) - + - [Sidecar](#sidecar-v1-Sidecar) - [apis/proto/v1/discoverer/discoverer.proto](#apis_proto_v1_discoverer_discoverer-proto) - - [Discoverer](#discoverer-v1-Discoverer) - + - [Discoverer](#discoverer-v1-Discoverer) - [apis/proto/v1/filter/egress/egress_filter.proto](#apis_proto_v1_filter_egress_egress_filter-proto) - - [Filter](#filter-egress-v1-Filter) - + - [Filter](#filter-egress-v1-Filter) - [apis/proto/v1/filter/ingress/ingress_filter.proto](#apis_proto_v1_filter_ingress_ingress_filter-proto) - - [Filter](#filter-ingress-v1-Filter) - + - [Filter](#filter-ingress-v1-Filter) - [apis/proto/v1/manager/index/index_manager.proto](#apis_proto_v1_manager_index_index_manager-proto) - - [Index](#manager-index-v1-Index) - + - [Index](#manager-index-v1-Index) - [apis/proto/v1/payload/payload.proto](#apis_proto_v1_payload_payload-proto) - - [Control](#payload-v1-Control) - - [Control.CreateIndexRequest](#payload-v1-Control-CreateIndexRequest) - - [Discoverer](#payload-v1-Discoverer) - - [Discoverer.Request](#payload-v1-Discoverer-Request) - - [Empty](#payload-v1-Empty) - - [Filter](#payload-v1-Filter) - - [Filter.Config](#payload-v1-Filter-Config) - - [Filter.Target](#payload-v1-Filter-Target) - - [Info](#payload-v1-Info) - - [Info.CPU](#payload-v1-Info-CPU) - - [Info.IPs](#payload-v1-Info-IPs) - - [Info.Index](#payload-v1-Info-Index) - - [Info.Index.Count](#payload-v1-Info-Index-Count) - - [Info.Index.UUID](#payload-v1-Info-Index-UUID) - - [Info.Index.UUID.Committed](#payload-v1-Info-Index-UUID-Committed) - - [Info.Index.UUID.Uncommitted](#payload-v1-Info-Index-UUID-Uncommitted) - - [Info.Memory](#payload-v1-Info-Memory) - - [Info.Node](#payload-v1-Info-Node) - - [Info.Nodes](#payload-v1-Info-Nodes) - - [Info.Pod](#payload-v1-Info-Pod) - - [Info.Pods](#payload-v1-Info-Pods) - - [Insert](#payload-v1-Insert) - - [Insert.Config](#payload-v1-Insert-Config) - - [Insert.MultiObjectRequest](#payload-v1-Insert-MultiObjectRequest) - - [Insert.MultiRequest](#payload-v1-Insert-MultiRequest) - - [Insert.ObjectRequest](#payload-v1-Insert-ObjectRequest) - - [Insert.Request](#payload-v1-Insert-Request) - - [Object](#payload-v1-Object) - - [Object.Blob](#payload-v1-Object-Blob) - - [Object.Distance](#payload-v1-Object-Distance) - - [Object.ID](#payload-v1-Object-ID) - - [Object.IDs](#payload-v1-Object-IDs) - - [Object.Location](#payload-v1-Object-Location) - - [Object.Locations](#payload-v1-Object-Locations) - - [Object.ReshapeVector](#payload-v1-Object-ReshapeVector) - - [Object.StreamBlob](#payload-v1-Object-StreamBlob) - - [Object.StreamDistance](#payload-v1-Object-StreamDistance) - - [Object.StreamLocation](#payload-v1-Object-StreamLocation) - - [Object.StreamVector](#payload-v1-Object-StreamVector) - - [Object.Vector](#payload-v1-Object-Vector) - - [Object.VectorRequest](#payload-v1-Object-VectorRequest) - - [Object.Vectors](#payload-v1-Object-Vectors) - - [Remove](#payload-v1-Remove) - - [Remove.Config](#payload-v1-Remove-Config) - - [Remove.MultiRequest](#payload-v1-Remove-MultiRequest) - - [Remove.Request](#payload-v1-Remove-Request) - - [Search](#payload-v1-Search) - - [Search.Config](#payload-v1-Search-Config) - - [Search.IDRequest](#payload-v1-Search-IDRequest) - - [Search.MultiIDRequest](#payload-v1-Search-MultiIDRequest) - - [Search.MultiObjectRequest](#payload-v1-Search-MultiObjectRequest) - - [Search.MultiRequest](#payload-v1-Search-MultiRequest) - - [Search.ObjectRequest](#payload-v1-Search-ObjectRequest) - - [Search.Request](#payload-v1-Search-Request) - - [Search.Response](#payload-v1-Search-Response) - - [Search.Responses](#payload-v1-Search-Responses) - - [Search.StreamResponse](#payload-v1-Search-StreamResponse) - - [Update](#payload-v1-Update) - - [Update.Config](#payload-v1-Update-Config) - - [Update.MultiObjectRequest](#payload-v1-Update-MultiObjectRequest) - - [Update.MultiRequest](#payload-v1-Update-MultiRequest) - - [Update.ObjectRequest](#payload-v1-Update-ObjectRequest) - - [Update.Request](#payload-v1-Update-Request) - - [Upsert](#payload-v1-Upsert) - - [Upsert.Config](#payload-v1-Upsert-Config) - - [Upsert.MultiObjectRequest](#payload-v1-Upsert-MultiObjectRequest) - - [Upsert.MultiRequest](#payload-v1-Upsert-MultiRequest) - - [Upsert.ObjectRequest](#payload-v1-Upsert-ObjectRequest) - - [Upsert.Request](#payload-v1-Upsert-Request) - + - [Control](#payload-v1-Control) + - [Control.CreateIndexRequest](#payload-v1-Control-CreateIndexRequest) + - [Discoverer](#payload-v1-Discoverer) + - [Discoverer.Request](#payload-v1-Discoverer-Request) + - [Empty](#payload-v1-Empty) + - [Filter](#payload-v1-Filter) + - [Filter.Config](#payload-v1-Filter-Config) + - [Filter.Target](#payload-v1-Filter-Target) + - [Info](#payload-v1-Info) + - [Info.CPU](#payload-v1-Info-CPU) + - [Info.IPs](#payload-v1-Info-IPs) + - [Info.Index](#payload-v1-Info-Index) + - [Info.Index.Count](#payload-v1-Info-Index-Count) + - [Info.Index.UUID](#payload-v1-Info-Index-UUID) + - [Info.Index.UUID.Committed](#payload-v1-Info-Index-UUID-Committed) + - [Info.Index.UUID.Uncommitted](#payload-v1-Info-Index-UUID-Uncommitted) + - [Info.Memory](#payload-v1-Info-Memory) + - [Info.Node](#payload-v1-Info-Node) + - [Info.Nodes](#payload-v1-Info-Nodes) + - [Info.Pod](#payload-v1-Info-Pod) + - [Info.Pods](#payload-v1-Info-Pods) + - [Insert](#payload-v1-Insert) + - [Insert.Config](#payload-v1-Insert-Config) + - [Insert.MultiObjectRequest](#payload-v1-Insert-MultiObjectRequest) + - [Insert.MultiRequest](#payload-v1-Insert-MultiRequest) + - [Insert.ObjectRequest](#payload-v1-Insert-ObjectRequest) + - [Insert.Request](#payload-v1-Insert-Request) + - [Object](#payload-v1-Object) + - [Object.Blob](#payload-v1-Object-Blob) + - [Object.Distance](#payload-v1-Object-Distance) + - [Object.ID](#payload-v1-Object-ID) + - [Object.IDs](#payload-v1-Object-IDs) + - [Object.Location](#payload-v1-Object-Location) + - [Object.Locations](#payload-v1-Object-Locations) + - [Object.ReshapeVector](#payload-v1-Object-ReshapeVector) + - [Object.StreamBlob](#payload-v1-Object-StreamBlob) + - [Object.StreamDistance](#payload-v1-Object-StreamDistance) + - [Object.StreamLocation](#payload-v1-Object-StreamLocation) + - [Object.StreamVector](#payload-v1-Object-StreamVector) + - [Object.Vector](#payload-v1-Object-Vector) + - [Object.VectorRequest](#payload-v1-Object-VectorRequest) + - [Object.Vectors](#payload-v1-Object-Vectors) + - [Remove](#payload-v1-Remove) + - [Remove.Config](#payload-v1-Remove-Config) + - [Remove.MultiRequest](#payload-v1-Remove-MultiRequest) + - [Remove.Request](#payload-v1-Remove-Request) + - [Search](#payload-v1-Search) + - [Search.Config](#payload-v1-Search-Config) + - [Search.IDRequest](#payload-v1-Search-IDRequest) + - [Search.MultiIDRequest](#payload-v1-Search-MultiIDRequest) + - [Search.MultiObjectRequest](#payload-v1-Search-MultiObjectRequest) + - [Search.MultiRequest](#payload-v1-Search-MultiRequest) + - [Search.ObjectRequest](#payload-v1-Search-ObjectRequest) + - [Search.Request](#payload-v1-Search-Request) + - [Search.Response](#payload-v1-Search-Response) + - [Search.Responses](#payload-v1-Search-Responses) + - [Search.StreamResponse](#payload-v1-Search-StreamResponse) + - [Update](#payload-v1-Update) + - [Update.Config](#payload-v1-Update-Config) + - [Update.MultiObjectRequest](#payload-v1-Update-MultiObjectRequest) + - [Update.MultiRequest](#payload-v1-Update-MultiRequest) + - [Update.ObjectRequest](#payload-v1-Update-ObjectRequest) + - [Update.Request](#payload-v1-Update-Request) + - [Upsert](#payload-v1-Upsert) + - [Upsert.Config](#payload-v1-Upsert-Config) + - [Upsert.MultiObjectRequest](#payload-v1-Upsert-MultiObjectRequest) + - [Upsert.MultiRequest](#payload-v1-Upsert-MultiRequest) + - [Upsert.ObjectRequest](#payload-v1-Upsert-ObjectRequest) + - [Upsert.Request](#payload-v1-Upsert-Request) - [apis/proto/v1/vald/filter.proto](#apis_proto_v1_vald_filter-proto) - - [Filter](#vald-v1-Filter) - + - [Filter](#vald-v1-Filter) - [apis/proto/v1/vald/insert.proto](#apis_proto_v1_vald_insert-proto) - - [Insert](#vald-v1-Insert) - + - [Insert](#vald-v1-Insert) - [apis/proto/v1/vald/object.proto](#apis_proto_v1_vald_object-proto) - - [Object](#vald-v1-Object) - + - [Object](#vald-v1-Object) - [apis/proto/v1/vald/remove.proto](#apis_proto_v1_vald_remove-proto) - - [Remove](#vald-v1-Remove) - + - [Remove](#vald-v1-Remove) - [apis/proto/v1/vald/search.proto](#apis_proto_v1_vald_search-proto) - - [Search](#vald-v1-Search) - + - [Search](#vald-v1-Search) - [apis/proto/v1/vald/update.proto](#apis_proto_v1_vald_update-proto) - - [Update](#vald-v1-Update) - + - [Update](#vald-v1-Update) - [apis/proto/v1/vald/upsert.proto](#apis_proto_v1_vald_upsert-proto) - - [Upsert](#vald-v1-Upsert) - + - [Upsert](#vald-v1-Upsert) - [Scalar Value Types](#scalar-value-types) - - +
## apis/proto/v1/agent/core/agent.proto - - - - - - - - ### Agent -Represent the agent service. - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| CreateIndex | [.payload.v1.Control.CreateIndexRequest](#payload-v1-Control-CreateIndexRequest) | [.payload.v1.Empty](#payload-v1-Empty) | Represent the create index RPC. | -| SaveIndex | [.payload.v1.Empty](#payload-v1-Empty) | [.payload.v1.Empty](#payload-v1-Empty) | Represent the save index RPC. | -| CreateAndSaveIndex | [.payload.v1.Control.CreateIndexRequest](#payload-v1-Control-CreateIndexRequest) | [.payload.v1.Empty](#payload-v1-Empty) | Represent the create and save index RPC. | -| IndexInfo | [.payload.v1.Empty](#payload-v1-Empty) | [.payload.v1.Info.Index.Count](#payload-v1-Info-Index-Count) | Represent the RPC to get the agent index information. | - - +Represent the agent service. +| Method Name | Request Type | Response Type | Description | +| ------------------ | -------------------------------------------------------------------------------- | ------------------------------------------------------------ | ----------------------------------------------------- | +| CreateIndex | [.payload.v1.Control.CreateIndexRequest](#payload-v1-Control-CreateIndexRequest) | [.payload.v1.Empty](#payload-v1-Empty) | Represent the create index RPC. | +| SaveIndex | [.payload.v1.Empty](#payload-v1-Empty) | [.payload.v1.Empty](#payload-v1-Empty) | Represent the save index RPC. | +| CreateAndSaveIndex | [.payload.v1.Control.CreateIndexRequest](#payload-v1-Control-CreateIndexRequest) | [.payload.v1.Empty](#payload-v1-Empty) | Represent the create and save index RPC. | +| IndexInfo | [.payload.v1.Empty](#payload-v1-Empty) | [.payload.v1.Info.Index.Count](#payload-v1-Info-Index-Count) | Represent the RPC to get the agent index information. | + ## apis/proto/v1/agent/sidecar/sidecar.proto - - - - - - - - ### Sidecar + Represent the agent sidecar service. | Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| - - - - +| ----------- | ------------ | ------------- | ----------- | + ## apis/proto/v1/discoverer/discoverer.proto - - - - - - - - ### Discoverer -Represent the discoverer service. - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| Pods | [.payload.v1.Discoverer.Request](#payload-v1-Discoverer-Request) | [.payload.v1.Info.Pods](#payload-v1-Info-Pods) | Represent the RPC to get the agent pods information. | -| Nodes | [.payload.v1.Discoverer.Request](#payload-v1-Discoverer-Request) | [.payload.v1.Info.Nodes](#payload-v1-Info-Nodes) | Represent the RPC to get the node information. | - - +Represent the discoverer service. +| Method Name | Request Type | Response Type | Description | +| ----------- | ---------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------- | +| Pods | [.payload.v1.Discoverer.Request](#payload-v1-Discoverer-Request) | [.payload.v1.Info.Pods](#payload-v1-Info-Pods) | Represent the RPC to get the agent pods information. | +| Nodes | [.payload.v1.Discoverer.Request](#payload-v1-Discoverer-Request) | [.payload.v1.Info.Nodes](#payload-v1-Info-Nodes) | Represent the RPC to get the node information. | + ## apis/proto/v1/filter/egress/egress_filter.proto - - - - - - - - ### Filter + Represent the egress filter service. -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| +| Method Name | Request Type | Response Type | Description | +| -------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ----------------------------------------- | | FilterDistance | [.payload.v1.Object.Distance](#payload-v1-Object-Distance) | [.payload.v1.Object.Distance](#payload-v1-Object-Distance) | Represent the RPC to filter the distance. | -| FilterVector | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | Represent the RPC to filter the vector. | - - - - +| FilterVector | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | Represent the RPC to filter the vector. | + ## apis/proto/v1/filter/ingress/ingress_filter.proto - - - - - - - - ### Filter -Represent the ingress filter service. - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| GenVector | [.payload.v1.Object.Blob](#payload-v1-Object-Blob) | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | Represent the RPC to generate the vector. | -| FilterVector | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | Represent the RPC to filter the vector. | - - +Represent the ingress filter service. +| Method Name | Request Type | Response Type | Description | +| ------------ | ------------------------------------------------------ | ------------------------------------------------------ | ----------------------------------------- | +| GenVector | [.payload.v1.Object.Blob](#payload-v1-Object-Blob) | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | Represent the RPC to generate the vector. | +| FilterVector | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | Represent the RPC to filter the vector. | + ## apis/proto/v1/manager/index/index_manager.proto - - - - - - - - ### Index -Represent the index manager service. - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| IndexInfo | [.payload.v1.Empty](#payload-v1-Empty) | [.payload.v1.Info.Index.Count](#payload-v1-Info-Index-Count) | Represent the RPC to get the index information. | - - +Represent the index manager service. +| Method Name | Request Type | Response Type | Description | +| ----------- | -------------------------------------- | ------------------------------------------------------------ | ----------------------------------------------- | +| IndexInfo | [.payload.v1.Empty](#payload-v1-Empty) | [.payload.v1.Info.Index.Count](#payload-v1-Info-Index-Count) | Represent the RPC to get the index information. | + ## apis/proto/v1/payload/payload.proto - - ### Control -Control related messages. - - - - +Control related messages. ### Control.CreateIndexRequest -Represent the create index request. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pool_size | [uint32](#uint32) | | The pool size of the create index operation. | - - - +Represent the create index request. +| Field | Type | Label | Description | +| --------- | ----------------- | ----- | -------------------------------------------- | +| pool_size | [uint32](#uint32) | | The pool size of the create index operation. | ### Discoverer -Discoverer related messages. - - - - +Discoverer related messages. ### Discoverer.Request -Represent the dicoverer request. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The agent name to be discover. | -| namespace | [string](#string) | | The namespace to be discover. | -| node | [string](#string) | | The node to be discover. | - - - +Represent the dicoverer request. +| Field | Type | Label | Description | +| --------- | ----------------- | ----- | ------------------------------ | +| name | [string](#string) | | The agent name to be discover. | +| namespace | [string](#string) | | The namespace to be discover. | +| node | [string](#string) | | The node to be discover. | ### Empty -Represent an empty message. - - - - +Represent an empty message. ### Filter -Filter related messages. - - - - +Filter related messages. ### Filter.Config -Represent filter configuration. +Represent filter configuration. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| ------- | ------------------------------------------ | -------- | ------------------------------------------ | | targets | [Filter.Target](#payload-v1-Filter-Target) | repeated | Represent the filter target configuration. | - - - - - ### Filter.Target -Represent the target filter server. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| host | [string](#string) | | The target hostname. | -| port | [uint32](#uint32) | | The target port. | - - - +Represent the target filter server. +| Field | Type | Label | Description | +| ----- | ----------------- | ----- | -------------------- | +| host | [string](#string) | | The target hostname. | +| port | [uint32](#uint32) | | The target port. | ### Info -Info related messages. - - - - +Info related messages. ### Info.CPU -Represent the CPU information message. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| limit | [double](#double) | | The CPU resource limit. | -| request | [double](#double) | | The CPU resource requested. | -| usage | [double](#double) | | The CPU usage. | - - - +Represent the CPU information message. +| Field | Type | Label | Description | +| ------- | ----------------- | ----- | --------------------------- | +| limit | [double](#double) | | The CPU resource limit. | +| request | [double](#double) | | The CPU resource requested. | +| usage | [double](#double) | | The CPU usage. | ### Info.IPs -Represent the multiple IP message. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| ip | [string](#string) | repeated | | - - - +Represent the multiple IP message. +| Field | Type | Label | Description | +| ----- | ----------------- | -------- | ----------- | +| ip | [string](#string) | repeated | | ### Info.Index -Represent the index information messages. - - - - +Represent the index information messages. ### Info.Index.Count -Represent the index count message. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| stored | [uint32](#uint32) | | The stored index count. | -| uncommitted | [uint32](#uint32) | | The uncommitted index count. | -| indexing | [bool](#bool) | | The indexing index count. | -| saving | [bool](#bool) | | The saving index count. | - - - +Represent the index count message. +| Field | Type | Label | Description | +| ----------- | ----------------- | ----- | ---------------------------- | +| stored | [uint32](#uint32) | | The stored index count. | +| uncommitted | [uint32](#uint32) | | The uncommitted index count. | +| indexing | [bool](#bool) | | The indexing index count. | +| saving | [bool](#bool) | | The saving index count. | ### Info.Index.UUID -Represent the UUID message. - - - - +Represent the UUID message. ### Info.Index.UUID.Committed -The committed UUID. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| uuid | [string](#string) | | | - - - +The committed UUID. +| Field | Type | Label | Description | +| ----- | ----------------- | ----- | ----------- | +| uuid | [string](#string) | | | ### Info.Index.UUID.Uncommitted -The uncommitted UUID. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| uuid | [string](#string) | | | - - - +The uncommitted UUID. +| Field | Type | Label | Description | +| ----- | ----------------- | ----- | ----------- | +| uuid | [string](#string) | | | ### Info.Memory -Represent the memory information message. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| limit | [double](#double) | | The memory limit. | -| request | [double](#double) | | The memory requested. | -| usage | [double](#double) | | The memory usage. | - - - +Represent the memory information message. +| Field | Type | Label | Description | +| ------- | ----------------- | ----- | --------------------- | +| limit | [double](#double) | | The memory limit. | +| request | [double](#double) | | The memory requested. | +| usage | [double](#double) | | The memory usage. | ### Info.Node -Represent the node information message. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the node. | -| internal_addr | [string](#string) | | The internal IP address of the node. | -| external_addr | [string](#string) | | The external IP address of the node. | -| cpu | [Info.CPU](#payload-v1-Info-CPU) | | The CPU information of the node. | -| memory | [Info.Memory](#payload-v1-Info-Memory) | | The memory information of the node. | -| Pods | [Info.Pods](#payload-v1-Info-Pods) | | The pod information of the node. | - - - +Represent the node information message. +| Field | Type | Label | Description | +| ------------- | -------------------------------------- | ----- | ------------------------------------ | +| name | [string](#string) | | The name of the node. | +| internal_addr | [string](#string) | | The internal IP address of the node. | +| external_addr | [string](#string) | | The external IP address of the node. | +| cpu | [Info.CPU](#payload-v1-Info-CPU) | | The CPU information of the node. | +| memory | [Info.Memory](#payload-v1-Info-Memory) | | The memory information of the node. | +| Pods | [Info.Pods](#payload-v1-Info-Pods) | | The pod information of the node. | ### Info.Nodes -Represent the multiple node information message. +Represent the multiple node information message. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| ----- | ---------------------------------- | -------- | ------------------------------ | | nodes | [Info.Node](#payload-v1-Info-Node) | repeated | The multiple node information. | - - - - - ### Info.Pod -Represent the pod information message. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| app_name | [string](#string) | | The app name of the pod on the label. | -| name | [string](#string) | | The name of the pod. | -| namespace | [string](#string) | | The namespace of the pod. | -| ip | [string](#string) | | The IP of the pod. | -| cpu | [Info.CPU](#payload-v1-Info-CPU) | | The CPU information of the pod. | -| memory | [Info.Memory](#payload-v1-Info-Memory) | | The memory information of the pod. | -| node | [Info.Node](#payload-v1-Info-Node) | | The node information of the pod. | - - - +Represent the pod information message. +| Field | Type | Label | Description | +| --------- | -------------------------------------- | ----- | ------------------------------------- | +| app_name | [string](#string) | | The app name of the pod on the label. | +| name | [string](#string) | | The name of the pod. | +| namespace | [string](#string) | | The namespace of the pod. | +| ip | [string](#string) | | The IP of the pod. | +| cpu | [Info.CPU](#payload-v1-Info-CPU) | | The CPU information of the pod. | +| memory | [Info.Memory](#payload-v1-Info-Memory) | | The memory information of the pod. | +| node | [Info.Node](#payload-v1-Info-Node) | | The node information of the pod. | ### Info.Pods -Represent the multiple pod information message. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pods | [Info.Pod](#payload-v1-Info-Pod) | repeated | The multiple pod information. | - - - +Represent the multiple pod information message. +| Field | Type | Label | Description | +| ----- | -------------------------------- | -------- | ----------------------------- | +| pods | [Info.Pod](#payload-v1-Info-Pod) | repeated | The multiple pod information. | ### Insert -Insert related messages. - - - - +Insert related messages. ### Insert.Config -Represent insert configurations. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| skip_strict_exist_check | [bool](#bool) | | A flag to skip exist check during insert operation. | -| filters | [Filter.Config](#payload-v1-Filter-Config) | | Filter configurations. | -| timestamp | [int64](#int64) | | Insert timestamp. | - - - +Represent insert configurations. +| Field | Type | Label | Description | +| ----------------------- | ------------------------------------------ | ----- | --------------------------------------------------- | +| skip_strict_exist_check | [bool](#bool) | | A flag to skip exist check during insert operation. | +| filters | [Filter.Config](#payload-v1-Filter-Config) | | Filter configurations. | +| timestamp | [int64](#int64) | | Insert timestamp. | ### Insert.MultiObjectRequest -Represent the multiple insert by binary object request. +Represent the multiple insert by binary object request. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| -------- | -------------------------------------------------------- | -------- | -------------------------------------------- | | requests | [Insert.ObjectRequest](#payload-v1-Insert-ObjectRequest) | repeated | Represent multiple insert by object content. | - - - - - ### Insert.MultiRequest -Represent the multiple insert request. +Represent the multiple insert request. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| -------- | -------------------------------------------- | -------- | ------------------------------------------ | | requests | [Insert.Request](#payload-v1-Insert-Request) | repeated | Represent multiple insert request content. | - - - - - ### Insert.ObjectRequest + Represent the insert by binary object request. +| Field | Type | Label | Description | +| ---------- | ------------------------------------------ | ----- | ---------------------------------------- | +| object | [Object.Blob](#payload-v1-Object-Blob) | | The binary object to be inserted. | +| config | [Insert.Config](#payload-v1-Insert-Config) | | The configuration of the insert request. | +| vectorizer | [Filter.Target](#payload-v1-Filter-Target) | | Filter configurations. | -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| object | [Object.Blob](#payload-v1-Object-Blob) | | The binary object to be inserted. | -| config | [Insert.Config](#payload-v1-Insert-Config) | | The configuration of the insert request. | -| vectorizer | [Filter.Target](#payload-v1-Filter-Target) | | Filter configurations. | + +### Insert.Request +Represent the insert request. +| Field | Type | Label | Description | +| ------ | ------------------------------------------ | ----- | ---------------------------------------- | +| vector | [Object.Vector](#payload-v1-Object-Vector) | | The vector to be inserted. | +| config | [Insert.Config](#payload-v1-Insert-Config) | | The configuration of the insert request. | + +### Object - +Common messages. -### Insert.Request -Represent the insert request. + +### Object.Blob -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| vector | [Object.Vector](#payload-v1-Object-Vector) | | The vector to be inserted. | -| config | [Insert.Config](#payload-v1-Insert-Config) | | The configuration of the insert request. | +Represent the binary object. +| Field | Type | Label | Description | +| ------ | ----------------- | ----- | ------------------ | +| id | [string](#string) | | The object ID. | +| object | [bytes](#bytes) | | The binary object. | + +### Object.Distance +Represent the ID and distance pair. +| Field | Type | Label | Description | +| -------- | ----------------- | ----- | -------------- | +| id | [string](#string) | | The vector ID. | +| distance | [float](#float) | | The distance. | - - -### Object -Common messages. - - - - - - - - -### Object.Blob -Represent the binary object. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [string](#string) | | The object ID. | -| object | [bytes](#bytes) | | The binary object. | - - - - - - - - -### Object.Distance -Represent the ID and distance pair. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [string](#string) | | The vector ID. | -| distance | [float](#float) | | The distance. | - - - - - - - + ### Object.ID -Represent the vector ID. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [string](#string) | | | - - - +Represent the vector ID. +| Field | Type | Label | Description | +| ----- | ----------------- | ----- | ----------- | +| id | [string](#string) | | | ### Object.IDs -Represent multiple vector IDs. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| ids | [string](#string) | repeated | | - - - +Represent multiple vector IDs. +| Field | Type | Label | Description | +| ----- | ----------------- | -------- | ----------- | +| ids | [string](#string) | repeated | | ### Object.Location -Represent the vector location. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the location. | -| uuid | [string](#string) | | The UUID of the vector. | -| ips | [string](#string) | repeated | The IP list. | - - - +Represent the vector location. +| Field | Type | Label | Description | +| ----- | ----------------- | -------- | ------------------------- | +| name | [string](#string) | | The name of the location. | +| uuid | [string](#string) | | The UUID of the vector. | +| ips | [string](#string) | repeated | The IP list. | ### Object.Locations -Represent multiple vector locations. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| locations | [Object.Location](#payload-v1-Object-Location) | repeated | | - - - +Represent multiple vector locations. +| Field | Type | Label | Description | +| --------- | ---------------------------------------------- | -------- | ----------- | +| locations | [Object.Location](#payload-v1-Object-Location) | repeated | | ### Object.ReshapeVector -Represent reshape vector. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| object | [bytes](#bytes) | | The binary object. | -| shape | [int32](#int32) | repeated | The new shape. | - - - +Represent reshape vector. +| Field | Type | Label | Description | +| ------ | --------------- | -------- | ------------------ | +| object | [bytes](#bytes) | | The binary object. | +| shape | [int32](#int32) | repeated | The new shape. | ### Object.StreamBlob -Represent stream response of binary objects. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| blob | [Object.Blob](#payload-v1-Object-Blob) | | The binary object. | -| status | [google.rpc.Status](#google-rpc-Status) | | The RPC error status. | - - - +Represent stream response of binary objects. +| Field | Type | Label | Description | +| ------ | --------------------------------------- | ----- | --------------------- | +| blob | [Object.Blob](#payload-v1-Object-Blob) | | The binary object. | +| status | [google.rpc.Status](#google-rpc-Status) | | The RPC error status. | ### Object.StreamDistance -Represent stream response of distances. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| distance | [Object.Distance](#payload-v1-Object-Distance) | | The distance. | -| status | [google.rpc.Status](#google-rpc-Status) | | The RPC error status. | - - - +Represent stream response of distances. +| Field | Type | Label | Description | +| -------- | ---------------------------------------------- | ----- | --------------------- | +| distance | [Object.Distance](#payload-v1-Object-Distance) | | The distance. | +| status | [google.rpc.Status](#google-rpc-Status) | | The RPC error status. | ### Object.StreamLocation -Represent the stream response of the vector location. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| location | [Object.Location](#payload-v1-Object-Location) | | The vector location. | -| status | [google.rpc.Status](#google-rpc-Status) | | The RPC error status. | - - - +Represent the stream response of the vector location. +| Field | Type | Label | Description | +| -------- | ---------------------------------------------- | ----- | --------------------- | +| location | [Object.Location](#payload-v1-Object-Location) | | The vector location. | +| status | [google.rpc.Status](#google-rpc-Status) | | The RPC error status. | ### Object.StreamVector -Represent stream response of the vector. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| vector | [Object.Vector](#payload-v1-Object-Vector) | | The vector. | -| status | [google.rpc.Status](#google-rpc-Status) | | The RPC error status. | - - - +Represent stream response of the vector. +| Field | Type | Label | Description | +| ------ | ------------------------------------------ | ----- | --------------------- | +| vector | [Object.Vector](#payload-v1-Object-Vector) | | The vector. | +| status | [google.rpc.Status](#google-rpc-Status) | | The RPC error status. | ### Object.Vector -Represent a vector. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [string](#string) | | The vector ID. | -| vector | [float](#float) | repeated | The vector. | - - - +Represent a vector. +| Field | Type | Label | Description | +| ------ | ----------------- | -------- | -------------- | +| id | [string](#string) | | The vector ID. | +| vector | [float](#float) | repeated | The vector. | ### Object.VectorRequest -Represent a request to fetch raw vector. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [Object.ID](#payload-v1-Object-ID) | | The vector ID to be fetch. | -| filters | [Filter.Config](#payload-v1-Filter-Config) | | Filter configurations. | - - - +Represent a request to fetch raw vector. +| Field | Type | Label | Description | +| ------- | ------------------------------------------ | ----- | -------------------------- | +| id | [Object.ID](#payload-v1-Object-ID) | | The vector ID to be fetch. | +| filters | [Filter.Config](#payload-v1-Filter-Config) | | Filter configurations. | ### Object.Vectors -Represent multiple vectors. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| vectors | [Object.Vector](#payload-v1-Object-Vector) | repeated | | - - - +Represent multiple vectors. +| Field | Type | Label | Description | +| ------- | ------------------------------------------ | -------- | ----------- | +| vectors | [Object.Vector](#payload-v1-Object-Vector) | repeated | | ### Remove -Remove related messages. - - - - +Remove related messages. ### Remove.Config -Represent the remove configuration. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| skip_strict_exist_check | [bool](#bool) | | A flag to skip exist check during upsert operation. | -| timestamp | [int64](#int64) | | Remove timestamp. | - - - +Represent the remove configuration. +| Field | Type | Label | Description | +| ----------------------- | --------------- | ----- | --------------------------------------------------- | +| skip_strict_exist_check | [bool](#bool) | | A flag to skip exist check during upsert operation. | +| timestamp | [int64](#int64) | | Remove timestamp. | ### Remove.MultiRequest -Represent the multiple remove request. +Represent the multiple remove request. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| -------- | -------------------------------------------- | -------- | ---------------------------------------------- | | requests | [Remove.Request](#payload-v1-Remove-Request) | repeated | Represent the multiple remove request content. | - - - - - ### Remove.Request -Represent the remove request. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [Object.ID](#payload-v1-Object-ID) | | The object ID to be removed. | -| config | [Remove.Config](#payload-v1-Remove-Config) | | The configuration of the remove request. | - - - +Represent the remove request. +| Field | Type | Label | Description | +| ------ | ------------------------------------------ | ----- | ---------------------------------------- | +| id | [Object.ID](#payload-v1-Object-ID) | | The object ID to be removed. | +| config | [Remove.Config](#payload-v1-Remove-Config) | | The configuration of the remove request. | ### Search -Search related messages. - - - - +Search related messages. ### Search.Config -Represent search configuration. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| request_id | [string](#string) | | Unique request ID. | -| num | [uint32](#uint32) | | Maximum number of result to be returned. | -| radius | [float](#float) | | Search radius. | -| epsilon | [float](#float) | | Search coefficient. | -| timeout | [int64](#int64) | | Search timeout in nanoseconds. | -| ingress_filters | [Filter.Config](#payload-v1-Filter-Config) | | Ingress filter configurations. | -| egress_filters | [Filter.Config](#payload-v1-Filter-Config) | | Egress filter configurations. | -| min_num | [uint32](#uint32) | | Minimum number of result to be returned. | - - - +Represent search configuration. +| Field | Type | Label | Description | +| --------------- | ------------------------------------------ | ----- | ---------------------------------------- | +| request_id | [string](#string) | | Unique request ID. | +| num | [uint32](#uint32) | | Maximum number of result to be returned. | +| radius | [float](#float) | | Search radius. | +| epsilon | [float](#float) | | Search coefficient. | +| timeout | [int64](#int64) | | Search timeout in nanoseconds. | +| ingress_filters | [Filter.Config](#payload-v1-Filter-Config) | | Ingress filter configurations. | +| egress_filters | [Filter.Config](#payload-v1-Filter-Config) | | Egress filter configurations. | +| min_num | [uint32](#uint32) | | Minimum number of result to be returned. | ### Search.IDRequest -Represent a search by ID request. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [string](#string) | | The vector ID to be searched. | -| config | [Search.Config](#payload-v1-Search-Config) | | The configuration of the search request. | - - - +Represent a search by ID request. +| Field | Type | Label | Description | +| ------ | ------------------------------------------ | ----- | ---------------------------------------- | +| id | [string](#string) | | The vector ID to be searched. | +| config | [Search.Config](#payload-v1-Search-Config) | | The configuration of the search request. | ### Search.MultiIDRequest -Represent the multiple search by ID request. +Represent the multiple search by ID request. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| -------- | ------------------------------------------------ | -------- | ---------------------------------------------------- | | requests | [Search.IDRequest](#payload-v1-Search-IDRequest) | repeated | Represent the multiple search by ID request content. | - - - - - ### Search.MultiObjectRequest -Represent the multiple search by binary object request. +Represent the multiple search by binary object request. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| -------- | -------------------------------------------------------- | -------- | --------------------------------------------------------------- | | requests | [Search.ObjectRequest](#payload-v1-Search-ObjectRequest) | repeated | Represent the multiple search by binary object request content. | - - - - - ### Search.MultiRequest -Represent the multiple search request. +Represent the multiple search request. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| -------- | -------------------------------------------- | -------- | ---------------------------------------------- | | requests | [Search.Request](#payload-v1-Search-Request) | repeated | Represent the multiple search request content. | - - - - - ### Search.ObjectRequest -Represent a search by binary object request. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| object | [bytes](#bytes) | | The binary object to be searched. | -| config | [Search.Config](#payload-v1-Search-Config) | | The configuration of the search request. | -| vectorizer | [Filter.Target](#payload-v1-Filter-Target) | | Filter configuration. | - - - +Represent a search by binary object request. +| Field | Type | Label | Description | +| ---------- | ------------------------------------------ | ----- | ---------------------------------------- | +| object | [bytes](#bytes) | | The binary object to be searched. | +| config | [Search.Config](#payload-v1-Search-Config) | | The configuration of the search request. | +| vectorizer | [Filter.Target](#payload-v1-Filter-Target) | | Filter configuration. | ### Search.Request -Represent a search request. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| vector | [float](#float) | repeated | The vector to be searched. | -| config | [Search.Config](#payload-v1-Search-Config) | | The configuration of the search request. | - - - +Represent a search request. +| Field | Type | Label | Description | +| ------ | ------------------------------------------ | -------- | ---------------------------------------- | +| vector | [float](#float) | repeated | The vector to be searched. | +| config | [Search.Config](#payload-v1-Search-Config) | | The configuration of the search request. | ### Search.Response -Represent a search response. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| request_id | [string](#string) | | The unique request ID. | -| results | [Object.Distance](#payload-v1-Object-Distance) | repeated | Search results. | - - - +Represent a search response. +| Field | Type | Label | Description | +| ---------- | ---------------------------------------------- | -------- | ---------------------- | +| request_id | [string](#string) | | The unique request ID. | +| results | [Object.Distance](#payload-v1-Object-Distance) | repeated | Search results. | ### Search.Responses -Represent multiple search responses. +Represent multiple search responses. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| --------- | ---------------------------------------------- | -------- | ----------------------------------------------- | | responses | [Search.Response](#payload-v1-Search-Response) | repeated | Represent the multiple search response content. | - - - - - ### Search.StreamResponse -Represent stream search response. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| response | [Search.Response](#payload-v1-Search-Response) | | Represent the search response. | -| status | [google.rpc.Status](#google-rpc-Status) | | The RPC error status. | - - - +Represent stream search response. +| Field | Type | Label | Description | +| -------- | ---------------------------------------------- | ----- | ------------------------------ | +| response | [Search.Response](#payload-v1-Search-Response) | | Represent the search response. | +| status | [google.rpc.Status](#google-rpc-Status) | | The RPC error status. | ### Update -Update related messages - - - - +Update related messages ### Update.Config -Represent the update configuration. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| skip_strict_exist_check | [bool](#bool) | | A flag to skip exist check during update operation. | -| filters | [Filter.Config](#payload-v1-Filter-Config) | | Filter configuration. | -| timestamp | [int64](#int64) | | Update timestamp. | - - - +Represent the update configuration. +| Field | Type | Label | Description | +| ----------------------- | ------------------------------------------ | ----- | --------------------------------------------------- | +| skip_strict_exist_check | [bool](#bool) | | A flag to skip exist check during update operation. | +| filters | [Filter.Config](#payload-v1-Filter-Config) | | Filter configuration. | +| timestamp | [int64](#int64) | | Update timestamp. | ### Update.MultiObjectRequest -Represent the multiple update binary object request. +Represent the multiple update binary object request. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| -------- | -------------------------------------------------------- | -------- | ----------------------------------------------------- | | requests | [Update.ObjectRequest](#payload-v1-Update-ObjectRequest) | repeated | Represent the multiple update object request content. | - - - - - ### Update.MultiRequest -Represent the multiple update request. +Represent the multiple update request. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| -------- | -------------------------------------------- | -------- | ---------------------------------------------- | | requests | [Update.Request](#payload-v1-Update-Request) | repeated | Represent the multiple update request content. | - - - - - ### Update.ObjectRequest -Represent the update binary object request. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| object | [Object.Blob](#payload-v1-Object-Blob) | | The binary object to be updated. | -| config | [Update.Config](#payload-v1-Update-Config) | | The configuration of the update request. | -| vectorizer | [Filter.Target](#payload-v1-Filter-Target) | | Filter target. | - - - +Represent the update binary object request. +| Field | Type | Label | Description | +| ---------- | ------------------------------------------ | ----- | ---------------------------------------- | +| object | [Object.Blob](#payload-v1-Object-Blob) | | The binary object to be updated. | +| config | [Update.Config](#payload-v1-Update-Config) | | The configuration of the update request. | +| vectorizer | [Filter.Target](#payload-v1-Filter-Target) | | Filter target. | ### Update.Request -Represent the update request. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| vector | [Object.Vector](#payload-v1-Object-Vector) | | The vector to be updated. | -| config | [Update.Config](#payload-v1-Update-Config) | | The configuration of the update request. | - - - +Represent the update request. +| Field | Type | Label | Description | +| ------ | ------------------------------------------ | ----- | ---------------------------------------- | +| vector | [Object.Vector](#payload-v1-Object-Vector) | | The vector to be updated. | +| config | [Update.Config](#payload-v1-Update-Config) | | The configuration of the update request. | ### Upsert -Upsert related messages. - - - - +Upsert related messages. ### Upsert.Config -Represent the upsert configuration. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| skip_strict_exist_check | [bool](#bool) | | A flag to skip exist check during upsert operation. | -| filters | [Filter.Config](#payload-v1-Filter-Config) | | Filter configuration. | -| timestamp | [int64](#int64) | | Upsert timestamp. | - - - +Represent the upsert configuration. +| Field | Type | Label | Description | +| ----------------------- | ------------------------------------------ | ----- | --------------------------------------------------- | +| skip_strict_exist_check | [bool](#bool) | | A flag to skip exist check during upsert operation. | +| filters | [Filter.Config](#payload-v1-Filter-Config) | | Filter configuration. | +| timestamp | [int64](#int64) | | Upsert timestamp. | ### Upsert.MultiObjectRequest -Represent the multiple upsert binary object request. +Represent the multiple upsert binary object request. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| -------- | -------------------------------------------------------- | -------- | ----------------------------------------------------- | | requests | [Upsert.ObjectRequest](#payload-v1-Upsert-ObjectRequest) | repeated | Represent the multiple upsert object request content. | - - - - - ### Upsert.MultiRequest -Represent mthe ultiple upsert request. +Represent mthe ultiple upsert request. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | +| Field | Type | Label | Description | +| -------- | -------------------------------------------- | -------- | ---------------------------------------------- | | requests | [Upsert.Request](#payload-v1-Upsert-Request) | repeated | Represent the multiple upsert request content. | - - - - - ### Upsert.ObjectRequest -Represent the upsert binary object request. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| object | [Object.Blob](#payload-v1-Object-Blob) | | The binary object to be upserted. | -| config | [Upsert.Config](#payload-v1-Upsert-Config) | | The configuration of the upsert request. | -| vectorizer | [Filter.Target](#payload-v1-Filter-Target) | | Filter target. | - - - +Represent the upsert binary object request. +| Field | Type | Label | Description | +| ---------- | ------------------------------------------ | ----- | ---------------------------------------- | +| object | [Object.Blob](#payload-v1-Object-Blob) | | The binary object to be upserted. | +| config | [Upsert.Config](#payload-v1-Upsert-Config) | | The configuration of the upsert request. | +| vectorizer | [Filter.Target](#payload-v1-Filter-Target) | | Filter target. | ### Upsert.Request -Represent the upsert request. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| vector | [Object.Vector](#payload-v1-Object-Vector) | | The vector to be upserted. | -| config | [Upsert.Config](#payload-v1-Upsert-Config) | | The configuration of the upsert request. | - - - - - - - - - - - - +Represent the upsert request. +| Field | Type | Label | Description | +| ------ | ------------------------------------------ | ----- | ---------------------------------------- | +| vector | [Object.Vector](#payload-v1-Object-Vector) | | The vector to be upserted. | +| config | [Upsert.Config](#payload-v1-Upsert-Config) | | The configuration of the upsert request. | + ## apis/proto/v1/vald/filter.proto - - - - - - - - ### Filter -Filter service provides ways to connect to Vald through filter. - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| SearchObject | [.payload.v1.Search.ObjectRequest](#payload-v1-Search-ObjectRequest) | [.payload.v1.Search.Response](#payload-v1-Search-Response) | A method to search object. | -| MultiSearchObject | [.payload.v1.Search.MultiObjectRequest](#payload-v1-Search-MultiObjectRequest) | [.payload.v1.Search.Responses](#payload-v1-Search-Responses) | A method to search multiple objects. | -| StreamSearchObject | [.payload.v1.Search.ObjectRequest](#payload-v1-Search-ObjectRequest) stream | [.payload.v1.Search.StreamResponse](#payload-v1-Search-StreamResponse) stream | A method to search object by bidirectional streaming. | -| InsertObject | [.payload.v1.Insert.ObjectRequest](#payload-v1-Insert-ObjectRequest) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method insert object. | -| StreamInsertObject | [.payload.v1.Insert.ObjectRequest](#payload-v1-Insert-ObjectRequest) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | Represent the streaming RPC to insert object by bidirectional streaming. | -| MultiInsertObject | [.payload.v1.Insert.MultiObjectRequest](#payload-v1-Insert-MultiObjectRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to insert multiple objects. | -| UpdateObject | [.payload.v1.Update.ObjectRequest](#payload-v1-Update-ObjectRequest) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to update object. | -| StreamUpdateObject | [.payload.v1.Update.ObjectRequest](#payload-v1-Update-ObjectRequest) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to update object by bidirectional streaming. | -| MultiUpdateObject | [.payload.v1.Update.MultiObjectRequest](#payload-v1-Update-MultiObjectRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to update multiple objects. | -| UpsertObject | [.payload.v1.Upsert.ObjectRequest](#payload-v1-Upsert-ObjectRequest) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to upsert object. | -| StreamUpsertObject | [.payload.v1.Upsert.ObjectRequest](#payload-v1-Upsert-ObjectRequest) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to upsert object by bidirectional streaming. | -| MultiUpsertObject | [.payload.v1.Upsert.MultiObjectRequest](#payload-v1-Upsert-MultiObjectRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to upsert multiple objects. | - - +Filter service provides ways to connect to Vald through filter. +| Method Name | Request Type | Response Type | Description | +| ------------------ | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------ | +| SearchObject | [.payload.v1.Search.ObjectRequest](#payload-v1-Search-ObjectRequest) | [.payload.v1.Search.Response](#payload-v1-Search-Response) | A method to search object. | +| MultiSearchObject | [.payload.v1.Search.MultiObjectRequest](#payload-v1-Search-MultiObjectRequest) | [.payload.v1.Search.Responses](#payload-v1-Search-Responses) | A method to search multiple objects. | +| StreamSearchObject | [.payload.v1.Search.ObjectRequest](#payload-v1-Search-ObjectRequest) stream | [.payload.v1.Search.StreamResponse](#payload-v1-Search-StreamResponse) stream | A method to search object by bidirectional streaming. | +| InsertObject | [.payload.v1.Insert.ObjectRequest](#payload-v1-Insert-ObjectRequest) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method insert object. | +| StreamInsertObject | [.payload.v1.Insert.ObjectRequest](#payload-v1-Insert-ObjectRequest) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | Represent the streaming RPC to insert object by bidirectional streaming. | +| MultiInsertObject | [.payload.v1.Insert.MultiObjectRequest](#payload-v1-Insert-MultiObjectRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to insert multiple objects. | +| UpdateObject | [.payload.v1.Update.ObjectRequest](#payload-v1-Update-ObjectRequest) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to update object. | +| StreamUpdateObject | [.payload.v1.Update.ObjectRequest](#payload-v1-Update-ObjectRequest) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to update object by bidirectional streaming. | +| MultiUpdateObject | [.payload.v1.Update.MultiObjectRequest](#payload-v1-Update-MultiObjectRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to update multiple objects. | +| UpsertObject | [.payload.v1.Upsert.ObjectRequest](#payload-v1-Upsert-ObjectRequest) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to upsert object. | +| StreamUpsertObject | [.payload.v1.Upsert.ObjectRequest](#payload-v1-Upsert-ObjectRequest) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to upsert object by bidirectional streaming. | +| MultiUpsertObject | [.payload.v1.Upsert.MultiObjectRequest](#payload-v1-Upsert-MultiObjectRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to upsert multiple objects. | + ## apis/proto/v1/vald/insert.proto - - - - - - - - ### Insert -Insert service provides ways to add new vectors. - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| Insert | [.payload.v1.Insert.Request](#payload-v1-Insert-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to add a new single vector. | -| StreamInsert | [.payload.v1.Insert.Request](#payload-v1-Insert-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to add new multiple vectors by bidirectional streaming. | -| MultiInsert | [.payload.v1.Insert.MultiRequest](#payload-v1-Insert-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to add new multiple vectors in a single request. | - - +Insert service provides ways to add new vectors. +| Method Name | Request Type | Response Type | Description | +| ------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| Insert | [.payload.v1.Insert.Request](#payload-v1-Insert-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to add a new single vector. | +| StreamInsert | [.payload.v1.Insert.Request](#payload-v1-Insert-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to add new multiple vectors by bidirectional streaming. | +| MultiInsert | [.payload.v1.Insert.MultiRequest](#payload-v1-Insert-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to add new multiple vectors in a single request. | + ## apis/proto/v1/vald/object.proto - - - - - - - - ### Object -Object service provides ways to fetch indexed vectors. - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| Exists | [.payload.v1.Object.ID](#payload-v1-Object-ID) | [.payload.v1.Object.ID](#payload-v1-Object-ID) | A method to check whether a specified ID is indexed or not. | -| GetObject | [.payload.v1.Object.VectorRequest](#payload-v1-Object-VectorRequest) | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | A method to fetch a vector. | -| StreamGetObject | [.payload.v1.Object.VectorRequest](#payload-v1-Object-VectorRequest) stream | [.payload.v1.Object.StreamVector](#payload-v1-Object-StreamVector) stream | A method to fetch vectors by bidirectional streaming. | - - +Object service provides ways to fetch indexed vectors. +| Method Name | Request Type | Response Type | Description | +| --------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------- | +| Exists | [.payload.v1.Object.ID](#payload-v1-Object-ID) | [.payload.v1.Object.ID](#payload-v1-Object-ID) | A method to check whether a specified ID is indexed or not. | +| GetObject | [.payload.v1.Object.VectorRequest](#payload-v1-Object-VectorRequest) | [.payload.v1.Object.Vector](#payload-v1-Object-Vector) | A method to fetch a vector. | +| StreamGetObject | [.payload.v1.Object.VectorRequest](#payload-v1-Object-VectorRequest) stream | [.payload.v1.Object.StreamVector](#payload-v1-Object-StreamVector) stream | A method to fetch vectors by bidirectional streaming. | + ## apis/proto/v1/vald/remove.proto - - - - - - - - ### Remove -Remove service provides ways to remove indexed vectors. - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| Remove | [.payload.v1.Remove.Request](#payload-v1-Remove-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to remove an indexed vector. | -| StreamRemove | [.payload.v1.Remove.Request](#payload-v1-Remove-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to remove multiple indexed vectors by bidirectional streaming. | -| MultiRemove | [.payload.v1.Remove.MultiRequest](#payload-v1-Remove-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to remove multiple indexed vectors in a single request. | - - +Remove service provides ways to remove indexed vectors. +| Method Name | Request Type | Response Type | Description | +| ------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| Remove | [.payload.v1.Remove.Request](#payload-v1-Remove-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to remove an indexed vector. | +| StreamRemove | [.payload.v1.Remove.Request](#payload-v1-Remove-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to remove multiple indexed vectors by bidirectional streaming. | +| MultiRemove | [.payload.v1.Remove.MultiRequest](#payload-v1-Remove-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to remove multiple indexed vectors in a single request. | + ## apis/proto/v1/vald/search.proto - - - - - - - - ### Search -Search service provides ways to search indexed vectors. - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| Search | [.payload.v1.Search.Request](#payload-v1-Search-Request) | [.payload.v1.Search.Response](#payload-v1-Search-Response) | A method to search indexed vectors by a raw vector. | -| SearchByID | [.payload.v1.Search.IDRequest](#payload-v1-Search-IDRequest) | [.payload.v1.Search.Response](#payload-v1-Search-Response) | A method to search indexed vectors by ID. | -| StreamSearch | [.payload.v1.Search.Request](#payload-v1-Search-Request) stream | [.payload.v1.Search.StreamResponse](#payload-v1-Search-StreamResponse) stream | A method to search indexed vectors by multiple vectors. | -| StreamSearchByID | [.payload.v1.Search.IDRequest](#payload-v1-Search-IDRequest) stream | [.payload.v1.Search.StreamResponse](#payload-v1-Search-StreamResponse) stream | A method to search indexed vectors by multiple IDs. | -| MultiSearch | [.payload.v1.Search.MultiRequest](#payload-v1-Search-MultiRequest) | [.payload.v1.Search.Responses](#payload-v1-Search-Responses) | A method to search indexed vectors by multiple vectors in a single request. | -| MultiSearchByID | [.payload.v1.Search.MultiIDRequest](#payload-v1-Search-MultiIDRequest) | [.payload.v1.Search.Responses](#payload-v1-Search-Responses) | A method to search indexed vectors by multiple IDs in a single request. | -| LinearSearch | [.payload.v1.Search.Request](#payload-v1-Search-Request) | [.payload.v1.Search.Response](#payload-v1-Search-Response) | A method to linear search indexed vectors by a raw vector. | -| LinearSearchByID | [.payload.v1.Search.IDRequest](#payload-v1-Search-IDRequest) | [.payload.v1.Search.Response](#payload-v1-Search-Response) | A method to linear search indexed vectors by ID. | -| StreamLinearSearch | [.payload.v1.Search.Request](#payload-v1-Search-Request) stream | [.payload.v1.Search.StreamResponse](#payload-v1-Search-StreamResponse) stream | A method to linear search indexed vectors by multiple vectors. | -| StreamLinearSearchByID | [.payload.v1.Search.IDRequest](#payload-v1-Search-IDRequest) stream | [.payload.v1.Search.StreamResponse](#payload-v1-Search-StreamResponse) stream | A method to linear search indexed vectors by multiple IDs. | -| MultiLinearSearch | [.payload.v1.Search.MultiRequest](#payload-v1-Search-MultiRequest) | [.payload.v1.Search.Responses](#payload-v1-Search-Responses) | A method to linear search indexed vectors by multiple vectors in a single request. | -| MultiLinearSearchByID | [.payload.v1.Search.MultiIDRequest](#payload-v1-Search-MultiIDRequest) | [.payload.v1.Search.Responses](#payload-v1-Search-Responses) | A method to linear search indexed vectors by multiple IDs in a single request. | - - +Search service provides ways to search indexed vectors. +| Method Name | Request Type | Response Type | Description | +| ---------------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| Search | [.payload.v1.Search.Request](#payload-v1-Search-Request) | [.payload.v1.Search.Response](#payload-v1-Search-Response) | A method to search indexed vectors by a raw vector. | +| SearchByID | [.payload.v1.Search.IDRequest](#payload-v1-Search-IDRequest) | [.payload.v1.Search.Response](#payload-v1-Search-Response) | A method to search indexed vectors by ID. | +| StreamSearch | [.payload.v1.Search.Request](#payload-v1-Search-Request) stream | [.payload.v1.Search.StreamResponse](#payload-v1-Search-StreamResponse) stream | A method to search indexed vectors by multiple vectors. | +| StreamSearchByID | [.payload.v1.Search.IDRequest](#payload-v1-Search-IDRequest) stream | [.payload.v1.Search.StreamResponse](#payload-v1-Search-StreamResponse) stream | A method to search indexed vectors by multiple IDs. | +| MultiSearch | [.payload.v1.Search.MultiRequest](#payload-v1-Search-MultiRequest) | [.payload.v1.Search.Responses](#payload-v1-Search-Responses) | A method to search indexed vectors by multiple vectors in a single request. | +| MultiSearchByID | [.payload.v1.Search.MultiIDRequest](#payload-v1-Search-MultiIDRequest) | [.payload.v1.Search.Responses](#payload-v1-Search-Responses) | A method to search indexed vectors by multiple IDs in a single request. | +| LinearSearch | [.payload.v1.Search.Request](#payload-v1-Search-Request) | [.payload.v1.Search.Response](#payload-v1-Search-Response) | A method to linear search indexed vectors by a raw vector. | +| LinearSearchByID | [.payload.v1.Search.IDRequest](#payload-v1-Search-IDRequest) | [.payload.v1.Search.Response](#payload-v1-Search-Response) | A method to linear search indexed vectors by ID. | +| StreamLinearSearch | [.payload.v1.Search.Request](#payload-v1-Search-Request) stream | [.payload.v1.Search.StreamResponse](#payload-v1-Search-StreamResponse) stream | A method to linear search indexed vectors by multiple vectors. | +| StreamLinearSearchByID | [.payload.v1.Search.IDRequest](#payload-v1-Search-IDRequest) stream | [.payload.v1.Search.StreamResponse](#payload-v1-Search-StreamResponse) stream | A method to linear search indexed vectors by multiple IDs. | +| MultiLinearSearch | [.payload.v1.Search.MultiRequest](#payload-v1-Search-MultiRequest) | [.payload.v1.Search.Responses](#payload-v1-Search-Responses) | A method to linear search indexed vectors by multiple vectors in a single request. | +| MultiLinearSearchByID | [.payload.v1.Search.MultiIDRequest](#payload-v1-Search-MultiIDRequest) | [.payload.v1.Search.Responses](#payload-v1-Search-Responses) | A method to linear search indexed vectors by multiple IDs in a single request. | + ## apis/proto/v1/vald/update.proto - - - - - - - - ### Update -Update service provides ways to update indexed vectors. - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| Update | [.payload.v1.Update.Request](#payload-v1-Update-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to update an indexed vector. | -| StreamUpdate | [.payload.v1.Update.Request](#payload-v1-Update-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to update multiple indexed vectors by bidirectional streaming. | -| MultiUpdate | [.payload.v1.Update.MultiRequest](#payload-v1-Update-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to update multiple indexed vectors in a single request. | - - +Update service provides ways to update indexed vectors. +| Method Name | Request Type | Response Type | Description | +| ------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| Update | [.payload.v1.Update.Request](#payload-v1-Update-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to update an indexed vector. | +| StreamUpdate | [.payload.v1.Update.Request](#payload-v1-Update-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to update multiple indexed vectors by bidirectional streaming. | +| MultiUpdate | [.payload.v1.Update.MultiRequest](#payload-v1-Update-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to update multiple indexed vectors in a single request. | + ## apis/proto/v1/vald/upsert.proto - - - - - - - - ### Upsert -Upsert service provides ways to insert/update vectors. - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| Upsert | [.payload.v1.Upsert.Request](#payload-v1-Upsert-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to insert/update a vector. | -| StreamUpsert | [.payload.v1.Upsert.Request](#payload-v1-Upsert-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to insert/update multiple vectors by bidirectional streaming. | -| MultiUpsert | [.payload.v1.Upsert.MultiRequest](#payload-v1-Upsert-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to insert/update multiple vectors in a single request. | - - +Upsert service provides ways to insert/update vectors. +| Method Name | Request Type | Response Type | Description | +| ------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| Upsert | [.payload.v1.Upsert.Request](#payload-v1-Upsert-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to insert/update a vector. | +| StreamUpsert | [.payload.v1.Upsert.Request](#payload-v1-Upsert-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to insert/update multiple vectors by bidirectional streaming. | +| MultiUpsert | [.payload.v1.Upsert.MultiRequest](#payload-v1-Upsert-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to insert/update multiple vectors in a single request. | ## Scalar Value Types -| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | -| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | -| double | | double | double | float | float64 | double | float | Float | -| float | | float | float | float | float32 | float | float | Float | -| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | -| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | -| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | -| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | -| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | -| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | -| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | -| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | -| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | -| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | -| bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | -| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | -| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) | - +| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | +| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ---------- | ----------- | ------- | ---------- | -------------- | ------------------------------ | +| double | | double | double | float | float64 | double | float | Float | +| float | | float | float | float | float32 | float | float | Float | +| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | +| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | +| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | +| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | +| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | +| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | +| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) | diff --git a/apis/swagger/v1/agent/core/apis/proto/v1/agent/core/agent.swagger.json b/apis/swagger/v1/agent/core/apis/proto/v1/agent/core/agent.swagger.json index 7d93adb8a2..ccd731fefb 100644 --- a/apis/swagger/v1/agent/core/apis/proto/v1/agent/core/agent.swagger.json +++ b/apis/swagger/v1/agent/core/apis/proto/v1/agent/core/agent.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/agent/core/agent.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/index/create": { "get": { @@ -39,9 +35,7 @@ "format": "int64" } ], - "tags": [ - "Agent" - ] + "tags": ["Agent"] } }, "/index/createandsave": { @@ -72,9 +66,7 @@ "format": "int64" } ], - "tags": [ - "Agent" - ] + "tags": ["Agent"] } }, "/index/info": { @@ -95,9 +87,7 @@ } } }, - "tags": [ - "Agent" - ] + "tags": ["Agent"] } }, "/index/save": { @@ -118,9 +108,7 @@ } } }, - "tags": [ - "Agent" - ] + "tags": ["Agent"] } } }, diff --git a/apis/swagger/v1/agent/sidecar/apis/proto/v1/agent/sidecar/sidecar.swagger.json b/apis/swagger/v1/agent/sidecar/apis/proto/v1/agent/sidecar/sidecar.swagger.json index 5b167cef79..6c325ad190 100644 --- a/apis/swagger/v1/agent/sidecar/apis/proto/v1/agent/sidecar/sidecar.swagger.json +++ b/apis/swagger/v1/agent/sidecar/apis/proto/v1/agent/sidecar/sidecar.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/agent/sidecar/sidecar.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": {}, "definitions": { "protobufAny": { diff --git a/apis/swagger/v1/discoverer/apis/proto/v1/discoverer/discoverer.swagger.json b/apis/swagger/v1/discoverer/apis/proto/v1/discoverer/discoverer.swagger.json index 4efe206edb..4f9843075f 100644 --- a/apis/swagger/v1/discoverer/apis/proto/v1/discoverer/discoverer.swagger.json +++ b/apis/swagger/v1/discoverer/apis/proto/v1/discoverer/discoverer.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/discoverer/discoverer.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/discover/nodes": { "post": { @@ -39,9 +35,7 @@ } } ], - "tags": [ - "Discoverer" - ] + "tags": ["Discoverer"] } }, "/discover/pods": { @@ -72,9 +66,7 @@ } } ], - "tags": [ - "Discoverer" - ] + "tags": ["Discoverer"] } } }, diff --git a/apis/swagger/v1/filter/egress/apis/proto/v1/filter/egress/egress_filter.swagger.json b/apis/swagger/v1/filter/egress/apis/proto/v1/filter/egress/egress_filter.swagger.json index 3d932c1687..dd08367d95 100644 --- a/apis/swagger/v1/filter/egress/apis/proto/v1/filter/egress/egress_filter.swagger.json +++ b/apis/swagger/v1/filter/egress/apis/proto/v1/filter/egress/egress_filter.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/filter/egress/egress_filter.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/filter/egress/distance": { "post": { @@ -39,9 +35,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } }, "/filter/egress/vector": { @@ -72,9 +66,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } } }, diff --git a/apis/swagger/v1/filter/ingress/apis/proto/v1/filter/ingress/ingress_filter.swagger.json b/apis/swagger/v1/filter/ingress/apis/proto/v1/filter/ingress/ingress_filter.swagger.json index b866983811..1b645db988 100644 --- a/apis/swagger/v1/filter/ingress/apis/proto/v1/filter/ingress/ingress_filter.swagger.json +++ b/apis/swagger/v1/filter/ingress/apis/proto/v1/filter/ingress/ingress_filter.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/filter/ingress/ingress_filter.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/filter/ingress/object": { "post": { @@ -39,9 +35,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } }, "/filter/ingress/vector": { @@ -72,9 +66,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } } }, diff --git a/apis/swagger/v1/manager/index/apis/proto/v1/manager/index/index_manager.swagger.json b/apis/swagger/v1/manager/index/apis/proto/v1/manager/index/index_manager.swagger.json index dfeeae143a..081ab316f0 100644 --- a/apis/swagger/v1/manager/index/apis/proto/v1/manager/index/index_manager.swagger.json +++ b/apis/swagger/v1/manager/index/apis/proto/v1/manager/index/index_manager.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/manager/index/index_manager.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/index/info": { "get": { @@ -29,9 +25,7 @@ } } }, - "tags": [ - "Index" - ] + "tags": ["Index"] } } }, diff --git a/apis/swagger/v1/payload/apis/proto/v1/payload/payload.swagger.json b/apis/swagger/v1/payload/apis/proto/v1/payload/payload.swagger.json index 1666450e6d..a5331282dc 100644 --- a/apis/swagger/v1/payload/apis/proto/v1/payload/payload.swagger.json +++ b/apis/swagger/v1/payload/apis/proto/v1/payload/payload.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/payload/payload.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": {}, "definitions": { "protobufAny": { diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json index bfb8b8b573..0d8339f902 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/vald/filter.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/insert/object": { "post": { @@ -39,9 +35,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } }, "/insert/object/multiple": { @@ -72,9 +66,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } }, "/search/object": { @@ -105,9 +97,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } }, "/search/object/multiple": { @@ -138,9 +128,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } }, "/update/object": { @@ -171,9 +159,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } }, "/update/object/multiple": { @@ -204,9 +190,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } }, "/upsert/object": { @@ -237,9 +221,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } }, "/upsert/object/multiple": { @@ -270,9 +252,7 @@ } } ], - "tags": [ - "Filter" - ] + "tags": ["Filter"] } } }, diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/insert.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/insert.swagger.json index fe029df9c6..8b6b796b3f 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/insert.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/insert.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/vald/insert.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/insert": { "post": { @@ -39,9 +35,7 @@ } } ], - "tags": [ - "Insert" - ] + "tags": ["Insert"] } }, "/insert/multiple": { @@ -72,9 +66,7 @@ } } ], - "tags": [ - "Insert" - ] + "tags": ["Insert"] } } }, diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/object.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/object.swagger.json index 6772a8fb88..d2e3e1181e 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/object.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/object.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/vald/object.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/exists/{id}": { "get": { @@ -37,9 +33,7 @@ "type": "string" } ], - "tags": [ - "Object" - ] + "tags": ["Object"] } }, "/object/{id.id}": { @@ -68,9 +62,7 @@ "type": "string" } ], - "tags": [ - "Object" - ] + "tags": ["Object"] } } }, diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/remove.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/remove.swagger.json index d9a073bb76..42c7998ded 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/remove.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/remove.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/vald/remove.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/remove": { "post": { @@ -39,9 +35,7 @@ } } ], - "tags": [ - "Remove" - ] + "tags": ["Remove"] } }, "/remove/multiple": { @@ -72,9 +66,7 @@ } } ], - "tags": [ - "Remove" - ] + "tags": ["Remove"] } } }, diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json index 8e632bc896..3d2ef2d35b 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/vald/search.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/linearsearch": { "post": { @@ -39,9 +35,7 @@ } } ], - "tags": [ - "Search" - ] + "tags": ["Search"] } }, "/linearsearch/id": { @@ -72,9 +66,7 @@ } } ], - "tags": [ - "Search" - ] + "tags": ["Search"] } }, "/linearsearch/id/multiple": { @@ -105,9 +97,7 @@ } } ], - "tags": [ - "Search" - ] + "tags": ["Search"] } }, "/linearsearch/multiple": { @@ -138,9 +128,7 @@ } } ], - "tags": [ - "Search" - ] + "tags": ["Search"] } }, "/search": { @@ -171,9 +159,7 @@ } } ], - "tags": [ - "Search" - ] + "tags": ["Search"] } }, "/search/id": { @@ -204,9 +190,7 @@ } } ], - "tags": [ - "Search" - ] + "tags": ["Search"] } }, "/search/id/multiple": { @@ -237,9 +221,7 @@ } } ], - "tags": [ - "Search" - ] + "tags": ["Search"] } }, "/search/multiple": { @@ -270,9 +252,7 @@ } } ], - "tags": [ - "Search" - ] + "tags": ["Search"] } } }, diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json index 0fe500869b..b18bd9a128 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/vald/update.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/update": { "post": { @@ -39,9 +35,7 @@ } } ], - "tags": [ - "Update" - ] + "tags": ["Update"] } }, "/update/multiple": { @@ -72,9 +66,7 @@ } } ], - "tags": [ - "Update" - ] + "tags": ["Update"] } } }, diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json index 2c89922b2c..c6ae1946c0 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json @@ -4,12 +4,8 @@ "title": "apis/proto/v1/vald/upsert.proto", "version": "version not set" }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], + "consumes": ["application/json"], + "produces": ["application/json"], "paths": { "/upsert": { "post": { @@ -39,9 +35,7 @@ } } ], - "tags": [ - "Upsert" - ] + "tags": ["Upsert"] } }, "/upsert/multiple": { @@ -72,9 +66,7 @@ } } ], - "tags": [ - "Upsert" - ] + "tags": ["Upsert"] } } }, diff --git a/charts/vald-helm-operator/README.md b/charts/vald-helm-operator/README.md index 97a1571fa3..c4380b61d1 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.6.3` -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,8 +22,7 @@ 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. @@ -40,8 +36,7 @@ If you're using `valdhelmoperatorrelease` (or `vhor`) resource, please update th 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.6.3"` | 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.6.3"` | 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/crds/valdhelmoperatorrelease.yaml b/charts/vald-helm-operator/crds/valdhelmoperatorrelease.yaml index ffe904d5d4..ab77359336 100644 --- a/charts/vald-helm-operator/crds/valdhelmoperatorrelease.yaml +++ b/charts/vald-helm-operator/crds/valdhelmoperatorrelease.yaml @@ -49,10 +49,10 @@ spec: type: object properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: string metadata: type: object diff --git a/charts/vald-helm-operator/crds/valdrelease.yaml b/charts/vald-helm-operator/crds/valdrelease.yaml index 57d0c325ea..5455317ad5 100644 --- a/charts/vald-helm-operator/crds/valdrelease.yaml +++ b/charts/vald-helm-operator/crds/valdrelease.yaml @@ -53,10 +53,10 @@ spec: type: object properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: string metadata: type: object diff --git a/charts/vald-helm-operator/values.schema.json b/charts/vald-helm-operator/values.schema.json index c1279b7825..b4a0383031 100644 --- a/charts/vald-helm-operator/values.schema.json +++ b/charts/vald-helm-operator/values.schema.json @@ -1 +1,227 @@ -{"$schema":"http://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": "http://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/README.md b/charts/vald/README.md index 1ffa7bf617..3111eb5d48 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.6.3` -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,724 +21,723 @@ 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.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 | `false` | server listen socket option for tcp_cork functionality | -| agent.sidecar.config.client.net.socket_option.tcp_defer_accept | bool | `true` | 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 | `true` | server listen socket option for tcp_no_delay functionality | -| agent.sidecar.config.client.net.socket_option.tcp_quick_ack | bool | `true` | 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 | `0` | gRPC client dial option initial connection window size | -| defaults.grpc.client.dial_option.initial_window_size | int | `0` | 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 | `true` | gRPC client keep alive permit without stream | -| defaults.grpc.client.dial_option.keepalive.time | string | `"120s"` | 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 | `true` | server listen socket option for tcp_defer_accept functionality | -| defaults.grpc.client.dial_option.net.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality | -| defaults.grpc.client.dial_option.net.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality | -| defaults.grpc.client.dial_option.net.socket_option.tcp_quick_ack | bool | `true` | 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.6.3"` | 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.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 | `true` | 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 | `true` | 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 | `"1s"` | 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 | `false` | server listen socket option for tcp_cork functionality | -| defaults.server_config.metrics.pprof.server.socket_option.tcp_defer_accept | bool | `true` | server listen socket option for tcp_defer_accept functionality | -| defaults.server_config.metrics.pprof.server.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality | -| defaults.server_config.metrics.pprof.server.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality | -| defaults.server_config.metrics.pprof.server.socket_option.tcp_quick_ack | bool | `true` | 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 | `0` | gRPC server initial connection window size | -| defaults.server_config.servers.grpc.server.grpc.initial_window_size | int | `0` | 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 | `"60s"` | gRPC server keep alive min_time | -| defaults.server_config.servers.grpc.server.grpc.keepalive.permit_without_stream | bool | `true` | gRPC server keep alive permit_without_stream | -| defaults.server_config.servers.grpc.server.grpc.keepalive.time | string | `"120s"` | gRPC server keep alive time | -| defaults.server_config.servers.grpc.server.grpc.keepalive.timeout | string | `"30s"` | 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 | `true` | server listen socket option for tcp_defer_accept functionality | -| defaults.server_config.servers.grpc.server.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality | -| defaults.server_config.servers.grpc.server.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality | -| defaults.server_config.servers.grpc.server.socket_option.tcp_quick_ack | bool | `true` | 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 | `true` | server listen socket option for tcp_defer_accept functionality | -| defaults.server_config.servers.rest.server.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality | -| defaults.server_config.servers.rest.server.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality | -| defaults.server_config.servers.rest.server.socket_option.tcp_quick_ack | bool | `true` | 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 | `true` | server listen socket option for tcp_defer_accept functionality | -| discoverer.discoverer.net.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality | -| discoverer.discoverer.net.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality | -| discoverer.discoverer.net.socket_option.tcp_quick_ack | bool | `true` | 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.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 | `5` | number of index replica | -| 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.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.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 | `false` | server listen socket option for tcp_cork functionality | +| agent.sidecar.config.client.net.socket_option.tcp_defer_accept | bool | `true` | 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 | `true` | server listen socket option for tcp_no_delay functionality | +| agent.sidecar.config.client.net.socket_option.tcp_quick_ack | bool | `true` | 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 | `0` | gRPC client dial option initial connection window size | +| defaults.grpc.client.dial_option.initial_window_size | int | `0` | 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 | `true` | gRPC client keep alive permit without stream | +| defaults.grpc.client.dial_option.keepalive.time | string | `"120s"` | 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 | `true` | server listen socket option for tcp_defer_accept functionality | +| defaults.grpc.client.dial_option.net.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality | +| defaults.grpc.client.dial_option.net.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality | +| defaults.grpc.client.dial_option.net.socket_option.tcp_quick_ack | bool | `true` | 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.6.3"` | 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.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 | `true` | 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 | `true` | 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 | `"1s"` | 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 | `false` | server listen socket option for tcp_cork functionality | +| defaults.server_config.metrics.pprof.server.socket_option.tcp_defer_accept | bool | `true` | server listen socket option for tcp_defer_accept functionality | +| defaults.server_config.metrics.pprof.server.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality | +| defaults.server_config.metrics.pprof.server.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality | +| defaults.server_config.metrics.pprof.server.socket_option.tcp_quick_ack | bool | `true` | 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 | `0` | gRPC server initial connection window size | +| defaults.server_config.servers.grpc.server.grpc.initial_window_size | int | `0` | 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 | `"60s"` | gRPC server keep alive min_time | +| defaults.server_config.servers.grpc.server.grpc.keepalive.permit_without_stream | bool | `true` | gRPC server keep alive permit_without_stream | +| defaults.server_config.servers.grpc.server.grpc.keepalive.time | string | `"120s"` | gRPC server keep alive time | +| defaults.server_config.servers.grpc.server.grpc.keepalive.timeout | string | `"30s"` | 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 | `true` | server listen socket option for tcp_defer_accept functionality | +| defaults.server_config.servers.grpc.server.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality | +| defaults.server_config.servers.grpc.server.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality | +| defaults.server_config.servers.grpc.server.socket_option.tcp_quick_ack | bool | `true` | 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 | `true` | server listen socket option for tcp_defer_accept functionality | +| defaults.server_config.servers.rest.server.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality | +| defaults.server_config.servers.rest.server.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality | +| defaults.server_config.servers.rest.server.socket_option.tcp_quick_ack | bool | `true` | 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 | `true` | server listen socket option for tcp_defer_accept functionality | +| discoverer.discoverer.net.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality | +| discoverer.discoverer.net.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality | +| discoverer.discoverer.net.socket_option.tcp_quick_ack | bool | `true` | 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.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 | `5` | number of index replica | +| 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.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 fbe5c7c235..1308f66617 100644 --- a/charts/vald/values.schema.json +++ b/charts/vald/values.schema.json @@ -1 +1,11872 @@ -{"$schema":"http://json-schema.org/draft-07/schema#","title":"Values","type":"object","properties":{"agent":{"type":"object","properties":{"affinity":{"type":"object","properties":{"nodeAffinity":{"type":"object","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"type":"array","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"},"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":"liveness server handler timeout"},"idle_timeout":{"type":"string","description":"liveness server idle timeout"},"read_header_timeout":{"type":"string","description":"liveness server read header timeout"},"read_timeout":{"type":"string","description":"liveness server read timeout"},"shutdown_duration":{"type":"string","description":"liveness server shutdown duration"},"write_timeout":{"type":"string","description":"liveness server write timeout"}}},"mode":{"type":"string","description":"liveness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"liveness 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":"readiness server handler timeout"},"idle_timeout":{"type":"string","description":"readiness server idle timeout"},"read_header_timeout":{"type":"string","description":"readiness server read header timeout"},"read_timeout":{"type":"string","description":"readiness server read timeout"},"shutdown_duration":{"type":"string","description":"readiness server shutdown duration"},"write_timeout":{"type":"string","description":"readiness server write timeout"}}},"mode":{"type":"string","description":"readiness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"readiness 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":"pprof server handler timeout"},"idle_timeout":{"type":"string","description":"pprof server idle timeout"},"read_header_timeout":{"type":"string","description":"pprof server read header timeout"},"read_timeout":{"type":"string","description":"pprof server read timeout"},"shutdown_duration":{"type":"string","description":"pprof server shutdown duration"},"write_timeout":{"type":"string","description":"pprof server write timeout"}}},"mode":{"type":"string","description":"pprof server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"pprof 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":"liveness server handler timeout"},"idle_timeout":{"type":"string","description":"liveness server idle timeout"},"read_header_timeout":{"type":"string","description":"liveness server read header timeout"},"read_timeout":{"type":"string","description":"liveness server read timeout"},"shutdown_duration":{"type":"string","description":"liveness server shutdown duration"},"write_timeout":{"type":"string","description":"liveness server write timeout"}}},"mode":{"type":"string","description":"liveness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"liveness 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":"readiness server handler timeout"},"idle_timeout":{"type":"string","description":"readiness server idle timeout"},"read_header_timeout":{"type":"string","description":"readiness server read header timeout"},"read_timeout":{"type":"string","description":"readiness server read timeout"},"shutdown_duration":{"type":"string","description":"readiness server shutdown duration"},"write_timeout":{"type":"string","description":"readiness server write timeout"}}},"mode":{"type":"string","description":"readiness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"readiness 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":"pprof server handler timeout"},"idle_timeout":{"type":"string","description":"pprof server idle timeout"},"read_header_timeout":{"type":"string","description":"pprof server read header timeout"},"read_timeout":{"type":"string","description":"pprof server read timeout"},"shutdown_duration":{"type":"string","description":"pprof server shutdown duration"},"write_timeout":{"type":"string","description":"pprof server write timeout"}}},"mode":{"type":"string","description":"pprof server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"pprof 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"]}}},"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":"liveness server handler timeout"},"idle_timeout":{"type":"string","description":"liveness server idle timeout"},"read_header_timeout":{"type":"string","description":"liveness server read header timeout"},"read_timeout":{"type":"string","description":"liveness server read timeout"},"shutdown_duration":{"type":"string","description":"liveness server shutdown duration"},"write_timeout":{"type":"string","description":"liveness server write timeout"}}},"mode":{"type":"string","description":"liveness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"liveness 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":"readiness server handler timeout"},"idle_timeout":{"type":"string","description":"readiness server idle timeout"},"read_header_timeout":{"type":"string","description":"readiness server read header timeout"},"read_timeout":{"type":"string","description":"readiness server read timeout"},"shutdown_duration":{"type":"string","description":"readiness server shutdown duration"},"write_timeout":{"type":"string","description":"readiness server write timeout"}}},"mode":{"type":"string","description":"readiness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"readiness 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":"pprof server handler timeout"},"idle_timeout":{"type":"string","description":"pprof server idle timeout"},"read_header_timeout":{"type":"string","description":"pprof server read header timeout"},"read_timeout":{"type":"string","description":"pprof server read timeout"},"shutdown_duration":{"type":"string","description":"pprof server shutdown duration"},"write_timeout":{"type":"string","description":"pprof server write timeout"}}},"mode":{"type":"string","description":"pprof server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"pprof 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":"liveness server handler timeout"},"idle_timeout":{"type":"string","description":"liveness server idle timeout"},"read_header_timeout":{"type":"string","description":"liveness server read header timeout"},"read_timeout":{"type":"string","description":"liveness server read timeout"},"shutdown_duration":{"type":"string","description":"liveness server shutdown duration"},"write_timeout":{"type":"string","description":"liveness server write timeout"}}},"mode":{"type":"string","description":"liveness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"liveness 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":"readiness server handler timeout"},"idle_timeout":{"type":"string","description":"readiness server idle timeout"},"read_header_timeout":{"type":"string","description":"readiness server read header timeout"},"read_timeout":{"type":"string","description":"readiness server read timeout"},"shutdown_duration":{"type":"string","description":"readiness server shutdown duration"},"write_timeout":{"type":"string","description":"readiness server write timeout"}}},"mode":{"type":"string","description":"readiness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"readiness 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":"pprof server handler timeout"},"idle_timeout":{"type":"string","description":"pprof server idle timeout"},"read_header_timeout":{"type":"string","description":"pprof server read header timeout"},"read_timeout":{"type":"string","description":"pprof server read timeout"},"shutdown_duration":{"type":"string","description":"pprof server shutdown duration"},"write_timeout":{"type":"string","description":"pprof server write timeout"}}},"mode":{"type":"string","description":"pprof server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"pprof 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"},"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":"liveness server handler timeout"},"idle_timeout":{"type":"string","description":"liveness server idle timeout"},"read_header_timeout":{"type":"string","description":"liveness server read header timeout"},"read_timeout":{"type":"string","description":"liveness server read timeout"},"shutdown_duration":{"type":"string","description":"liveness server shutdown duration"},"write_timeout":{"type":"string","description":"liveness server write timeout"}}},"mode":{"type":"string","description":"liveness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"liveness 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":"readiness server handler timeout"},"idle_timeout":{"type":"string","description":"readiness server idle timeout"},"read_header_timeout":{"type":"string","description":"readiness server read header timeout"},"read_timeout":{"type":"string","description":"readiness server read timeout"},"shutdown_duration":{"type":"string","description":"readiness server shutdown duration"},"write_timeout":{"type":"string","description":"readiness server write timeout"}}},"mode":{"type":"string","description":"readiness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"readiness 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":"pprof server handler timeout"},"idle_timeout":{"type":"string","description":"pprof server idle timeout"},"read_header_timeout":{"type":"string","description":"pprof server read header timeout"},"read_timeout":{"type":"string","description":"pprof server read timeout"},"shutdown_duration":{"type":"string","description":"pprof server shutdown duration"},"write_timeout":{"type":"string","description":"pprof server write timeout"}}},"mode":{"type":"string","description":"pprof server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"pprof 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},"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"},"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":"liveness server handler timeout"},"idle_timeout":{"type":"string","description":"liveness server idle timeout"},"read_header_timeout":{"type":"string","description":"liveness server read header timeout"},"read_timeout":{"type":"string","description":"liveness server read timeout"},"shutdown_duration":{"type":"string","description":"liveness server shutdown duration"},"write_timeout":{"type":"string","description":"liveness server write timeout"}}},"mode":{"type":"string","description":"liveness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"liveness 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":"readiness server handler timeout"},"idle_timeout":{"type":"string","description":"readiness server idle timeout"},"read_header_timeout":{"type":"string","description":"readiness server read header timeout"},"read_timeout":{"type":"string","description":"readiness server read timeout"},"shutdown_duration":{"type":"string","description":"readiness server shutdown duration"},"write_timeout":{"type":"string","description":"readiness server write timeout"}}},"mode":{"type":"string","description":"readiness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"readiness 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":"pprof server handler timeout"},"idle_timeout":{"type":"string","description":"pprof server idle timeout"},"read_header_timeout":{"type":"string","description":"pprof server read header timeout"},"read_timeout":{"type":"string","description":"pprof server read timeout"},"shutdown_duration":{"type":"string","description":"pprof server shutdown duration"},"write_timeout":{"type":"string","description":"pprof server write timeout"}}},"mode":{"type":"string","description":"pprof server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"pprof 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":"liveness server handler timeout"},"idle_timeout":{"type":"string","description":"liveness server idle timeout"},"read_header_timeout":{"type":"string","description":"liveness server read header timeout"},"read_timeout":{"type":"string","description":"liveness server read timeout"},"shutdown_duration":{"type":"string","description":"liveness server shutdown duration"},"write_timeout":{"type":"string","description":"liveness server write timeout"}}},"mode":{"type":"string","description":"liveness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"liveness 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":"readiness server handler timeout"},"idle_timeout":{"type":"string","description":"readiness server idle timeout"},"read_header_timeout":{"type":"string","description":"readiness server read header timeout"},"read_timeout":{"type":"string","description":"readiness server read timeout"},"shutdown_duration":{"type":"string","description":"readiness server shutdown duration"},"write_timeout":{"type":"string","description":"readiness server write timeout"}}},"mode":{"type":"string","description":"readiness server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"readiness 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":"pprof server handler timeout"},"idle_timeout":{"type":"string","description":"pprof server idle timeout"},"read_header_timeout":{"type":"string","description":"pprof server read header timeout"},"read_timeout":{"type":"string","description":"pprof server read timeout"},"shutdown_duration":{"type":"string","description":"pprof server shutdown duration"},"write_timeout":{"type":"string","description":"pprof server write timeout"}}},"mode":{"type":"string","description":"pprof server mode"},"network":{"type":"string","description":"mysql network","enum":["tcp","tcp4","tcp6","udp","udp4","udp6","unix","unixgram","unixpacket"]},"probe_wait_time":{"type":"string","description":"pprof 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": "http://json-schema.org/draft-07/schema#", + "title": "Values", + "type": "object", + "properties": { + "agent": { + "type": "object", + "properties": { + "affinity": { + "type": "object", + "properties": { + "nodeAffinity": { + "type": "object", + "properties": { + "preferredDuringSchedulingIgnoredDuringExecution": { + "type": "array", + "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" + }, + "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": "liveness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "liveness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "liveness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "liveness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "liveness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "liveness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "liveness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "liveness 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": "readiness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "readiness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "readiness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "readiness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "readiness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "readiness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "readiness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "readiness 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": "pprof server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "pprof server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "pprof server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "pprof server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "pprof server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "pprof server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "pprof server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "pprof 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": "liveness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "liveness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "liveness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "liveness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "liveness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "liveness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "liveness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "liveness 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": "readiness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "readiness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "readiness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "readiness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "readiness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "readiness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "readiness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "readiness 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": "pprof server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "pprof server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "pprof server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "pprof server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "pprof server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "pprof server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "pprof server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "pprof 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"] + } + } + }, + "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": "liveness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "liveness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "liveness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "liveness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "liveness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "liveness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "liveness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "liveness 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": "readiness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "readiness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "readiness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "readiness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "readiness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "readiness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "readiness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "readiness 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": "pprof server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "pprof server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "pprof server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "pprof server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "pprof server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "pprof server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "pprof server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "pprof 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": "liveness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "liveness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "liveness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "liveness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "liveness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "liveness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "liveness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "liveness 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": "readiness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "readiness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "readiness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "readiness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "readiness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "readiness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "readiness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "readiness 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": "pprof server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "pprof server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "pprof server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "pprof server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "pprof server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "pprof server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "pprof server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "pprof 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" + }, + "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": "liveness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "liveness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "liveness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "liveness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "liveness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "liveness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "liveness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "liveness 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": "readiness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "readiness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "readiness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "readiness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "readiness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "readiness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "readiness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "readiness 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": "pprof server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "pprof server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "pprof server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "pprof server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "pprof server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "pprof server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "pprof server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "pprof 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 + }, + "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" + }, + "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": "liveness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "liveness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "liveness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "liveness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "liveness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "liveness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "liveness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "liveness 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": "readiness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "readiness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "readiness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "readiness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "readiness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "readiness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "readiness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "readiness 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": "pprof server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "pprof server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "pprof server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "pprof server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "pprof server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "pprof server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "pprof server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "pprof 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": "liveness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "liveness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "liveness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "liveness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "liveness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "liveness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "liveness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "liveness 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": "readiness server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "readiness server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "readiness server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "readiness server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "readiness server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "readiness server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "readiness server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "readiness 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": "pprof server handler timeout" + }, + "idle_timeout": { + "type": "string", + "description": "pprof server idle timeout" + }, + "read_header_timeout": { + "type": "string", + "description": "pprof server read header timeout" + }, + "read_timeout": { + "type": "string", + "description": "pprof server read timeout" + }, + "shutdown_duration": { + "type": "string", + "description": "pprof server shutdown duration" + }, + "write_timeout": { + "type": "string", + "description": "pprof server write timeout" + } + } + }, + "mode": { + "type": "string", + "description": "pprof server mode" + }, + "network": { + "type": "string", + "description": "mysql network", + "enum": [ + "tcp", + "tcp4", + "tcp6", + "udp", + "udp4", + "udp6", + "unix", + "unixgram", + "unixpacket" + ] + }, + "probe_wait_time": { + "type": "string", + "description": "pprof 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 522ccccab1..f79d96b268 100644 --- a/charts/vald/values.yaml +++ b/charts/vald/values.yaml @@ -1639,7 +1639,8 @@ agent: # 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 - distance_type: l2 + distance_type: + l2 # @schema {"name": "agent.ngt.object_type", "type": "string", "enum": ["float", "float16", "uint8"]} # agent.ngt.object_type -- object type. # it should be `float` or `uint8` or `float16`. diff --git a/charts/vald/values/vald-backup-via-pv-and-s3.yaml b/charts/vald/values/vald-backup-via-pv-and-s3.yaml index ff1a807d87..77ba3f20a4 100644 --- a/charts/vald/values/vald-backup-via-pv-and-s3.yaml +++ b/charts/vald/values/vald-backup-via-pv-and-s3.yaml @@ -98,7 +98,7 @@ manager: # concurrency for indexing operation. concurrency: 1 # limit duration of automatic indexing. - auto_index_duration_limit: 10m + auto_index_duration_limit: 10m # check duration of automatic indexing. auto_index_check_duration: 1m # limit duration of automatic index saving. diff --git a/charts/vald/values/vald-backup-via-pv.yaml b/charts/vald/values/vald-backup-via-pv.yaml index 800f2ea07f..ec34660dbf 100644 --- a/charts/vald/values/vald-backup-via-pv.yaml +++ b/charts/vald/values/vald-backup-via-pv.yaml @@ -75,7 +75,7 @@ manager: # concurrency for indexing operation. concurrency: 1 # limit duration of automatic indexing. - auto_index_duration_limit: 10m + auto_index_duration_limit: 10m # check duration of automatic indexing. auto_index_check_duration: 1m # limit duration of automatic index saving. diff --git a/charts/vald/values/vald-backup-via-s3.yaml b/charts/vald/values/vald-backup-via-s3.yaml index 737b8a23ba..f1c4b8667e 100644 --- a/charts/vald/values/vald-backup-via-s3.yaml +++ b/charts/vald/values/vald-backup-via-s3.yaml @@ -91,7 +91,7 @@ manager: # concurrency for indexing operation. concurrency: 1 # limit duration of automatic indexing. - auto_index_duration_limit: 10m + auto_index_duration_limit: 10m # check duration of automatic indexing. auto_index_check_duration: 1m # limit duration of automatic index saving. diff --git a/charts/vald/values/vald-in-memory-mode-no-backup.yaml b/charts/vald/values/vald-in-memory-mode-no-backup.yaml index fee6a5ad2e..2738704381 100644 --- a/charts/vald/values/vald-in-memory-mode-no-backup.yaml +++ b/charts/vald/values/vald-in-memory-mode-no-backup.yaml @@ -66,7 +66,7 @@ manager: # concurrency for indexing operation. concurrency: 1 # limit duration of automatic indexing. - auto_index_duration_limit: 10m + auto_index_duration_limit: 10m # check duration of automatic indexing. auto_index_check_duration: 1m # limit duration of automatic index saving. diff --git a/docs/api/README.md b/docs/api/README.md index 62ed698784..16bd12206e 100644 --- a/docs/api/README.md +++ b/docs/api/README.md @@ -8,14 +8,14 @@ Using **gRPC** is preferred for better performance. The APIs overview tables is here: -| Service | Description | API NAMES | LINK | -| :------------: | :------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------- | -| Insert Service | Insert new vector(s) into the Vald Agent Pods. | [Insert](../api/insert.md#insert-rpc)