From 91475b4aa745984039cd43211adc2f13ef5786b0 Mon Sep 17 00:00:00 2001 From: kpango Date: Wed, 8 May 2024 14:25:06 +0900 Subject: [PATCH 1/2] add efficient search logic for large top-k users Signed-off-by: kpango --- .gitfiles | 14 + .github/ISSUE_TEMPLATE/bug_report.md | 4 +- .../ISSUE_TEMPLATE/security_issue_report.md | 4 +- .github/PULL_REQUEST_TEMPLATE.md | 4 +- Makefile | 2 +- Makefile.d/client.mk | 4 +- Makefile.d/dependencies.mk | 48 +- Makefile.d/functions.mk | 5 +- Makefile.d/helm.mk | 6 +- Makefile.d/k3d.mk | 2 +- Makefile.d/k8s.mk | 2 +- Makefile.d/kind.mk | 2 +- Makefile.d/minikube.mk | 2 +- Makefile.d/proto.mk | 1 + Makefile.d/tools.mk | 8 +- apis/docs/v1/docs.md | 23 +- apis/grpc/v1/agent/core/agent.pb.go | 2 +- apis/grpc/v1/agent/sidecar/sidecar.pb.go | 2 +- apis/grpc/v1/discoverer/discoverer.pb.go | 2 +- .../grpc/v1/filter/egress/egress_filter.pb.go | 2 +- .../v1/filter/ingress/ingress_filter.pb.go | 2 +- .../grpc/v1/manager/index/index_manager.pb.go | 2 +- apis/grpc/v1/mirror/mirror.pb.go | 2 +- apis/grpc/v1/payload/payload.pb.go | 972 +++++++++--------- apis/grpc/v1/payload/payload.pb.json.go | 884 ++++++++++++++++ apis/grpc/v1/payload/payload_vtproto.pb.go | 56 + .../v1/rpc/errdetails/error_details.pb.go | 2 +- .../rpc/errdetails/error_details.pb.json.go | 164 +++ apis/grpc/v1/vald/filter.pb.go | 2 +- apis/grpc/v1/vald/flush.pb.go | 2 +- apis/grpc/v1/vald/insert.pb.go | 2 +- apis/grpc/v1/vald/object.pb.go | 2 +- apis/grpc/v1/vald/remove.pb.go | 2 +- apis/grpc/v1/vald/search.pb.go | 2 +- apis/grpc/v1/vald/update.pb.go | 2 +- apis/grpc/v1/vald/upsert.pb.go | 2 +- apis/proto/v1/payload/payload.proto | 3 + apis/swagger/v1/vald/filter.swagger.json | 5 + apis/swagger/v1/vald/search.swagger.json | 5 + buf.gen.yaml | 4 + charts/vald-benchmark-operator/README.md | 387 ++++--- .../values.schema.json | 301 +++++- .../vald-helm-operator/crds/valdrelease.yaml | 104 ++ charts/vald/README.md | 30 +- charts/vald/values.schema.json | 338 +++--- charts/vald/values.yaml | 42 +- dockers/tools/benchmark/job/Dockerfile | 4 +- docs/tutorial/get-started.md | 6 +- docs/tutorial/vald-agent-standalone-on-k8s.md | 2 +- docs/tutorial/vald-multicluster-on-k8s.md | 2 +- docs/user-guides/deployment.md | 2 +- example/client/go.mod | 28 +- example/client/go.mod.default | 2 +- example/client/go.sum | 28 +- go.mod | 247 +++-- go.sum | 509 ++++----- hack/go.mod.default | 20 +- internal/config/grpc.go | 7 +- internal/config/grpc_test.go | 4 +- internal/net/grpc/client.go | 50 +- internal/net/grpc/option.go | 58 +- internal/net/http/metrics/pprof.go | 178 ++-- internal/net/http/metrics/pprof_test.go | 33 +- internal/safety/safety.go | 6 +- k8s/agent/ngt/configmap.yaml | 7 +- k8s/discoverer/configmap.yaml | 7 +- k8s/discoverer/deployment.yaml | 2 +- k8s/gateway/gateway/lb/configmap.yaml | 7 +- k8s/gateway/gateway/lb/deployment.yaml | 2 +- k8s/manager/index/configmap.yaml | 7 +- k8s/manager/index/deployment.yaml | 2 +- k8s/operator/helm/crds/valdrelease.yaml | 104 ++ pkg/gateway/lb/handler/grpc/aggregation.go | 150 ++- pkg/gateway/lb/handler/grpc/handler.go | 170 ++- .../lb/handler/grpc/search_benchmark_test.go | 6 +- rust/Cargo.lock | 91 +- rust/libs/proto/src/payload.v1.rs | 3 + versions/GOLANGCILINT_VERSION | 2 +- versions/GO_VERSION | 2 +- versions/HELM_VERSION | 2 +- versions/JAEGER_OPERATOR_VERSION | 2 +- versions/K3S_VERSION | 2 +- versions/KUBECTL_VERSION | 2 +- versions/PROMETHEUS_STACK_VERSION | 2 +- versions/REVIEWDOG_VERSION | 2 +- versions/actions/ACTIONS_CHECKOUT | 2 +- versions/actions/ACTIONS_DOWNLOAD_ARTIFACT | 2 +- versions/actions/ACTIONS_SETUP_GO | 2 +- versions/actions/ACTIONS_UPLOAD_ARTIFACT | 2 +- versions/actions/AZURE_SETUP_HELM | 2 +- versions/actions/CODECOV_CODECOV_ACTION | 2 +- versions/actions/DOCKER_SETUP_BUILDX_ACTION | 2 +- versions/actions/GITHUB_CODEQL_ACTION_ANALYZE | 2 +- .../actions/GITHUB_CODEQL_ACTION_AUTOBUILD | 2 +- versions/actions/GITHUB_CODEQL_ACTION_INIT | 2 +- .../actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF | 2 +- versions/actions/GITHUB_ISSUE_METRICS | 2 +- versions/actions/REVIEWDOG_ACTION_HADOLINT | 2 +- .../actions/REVIEWDOG_ACTION_LANGUAGETOOL | 2 +- .../SHOGO82148_ACTIONS_UPLOAD_RELEASE_ASSET | 2 +- 100 files changed, 3602 insertions(+), 1646 deletions(-) create mode 100644 apis/grpc/v1/payload/payload.pb.json.go create mode 100644 apis/grpc/v1/rpc/errdetails/error_details.pb.json.go diff --git a/.gitfiles b/.gitfiles index 822e9192cc..6389d905f6 100644 --- a/.gitfiles +++ b/.gitfiles @@ -75,6 +75,7 @@ .github/workflows/coverage.yml .github/workflows/detect-internal-config-changes.yml .github/workflows/dockers-agent-faiss-image.yml +.github/workflows/dockers-agent-image.yml .github/workflows/dockers-agent-ngt-image.yml .github/workflows/dockers-agent-sidecar-image.yml .github/workflows/dockers-benchmark-job-image.yml @@ -167,8 +168,10 @@ apis/grpc/v1/mirror/mirror.pb.go apis/grpc/v1/mirror/mirror_vtproto.pb.go apis/grpc/v1/payload/interface.go apis/grpc/v1/payload/payload.pb.go +apis/grpc/v1/payload/payload.pb.json.go apis/grpc/v1/payload/payload_vtproto.pb.go apis/grpc/v1/rpc/errdetails/error_details.pb.go +apis/grpc/v1/rpc/errdetails/error_details.pb.json.go apis/grpc/v1/rpc/errdetails/error_details_vtproto.pb.go apis/grpc/v1/vald/filter.pb.go apis/grpc/v1/vald/filter_vtproto.pb.go @@ -243,6 +246,7 @@ assets/docs/overview/search_flow.svg assets/docs/overview/update_flow.svg assets/docs/overview/upsert_flow.svg assets/docs/overview/vald_basic_architecture.svg +assets/docs/performance/benchmark-grafana.png assets/docs/troubleshooting/provisioning_flow_chart.drawio assets/docs/troubleshooting/provisioning_flow_chart.svg assets/docs/tutorial/getstarted.svg @@ -505,6 +509,8 @@ design/Vald Architecture Assets.drawio design/Vald Architecture Dataflow.drawio design/Vald Architecture Overview.drawio design/vald_architecture_overview.png +dockers/agent/core/agent/Dockerfile +dockers/agent/core/agent/README.md dockers/agent/core/faiss/Dockerfile dockers/agent/core/ngt/Dockerfile dockers/agent/core/ngt/README.md @@ -1121,6 +1127,7 @@ internal/net/grpc/handler.go internal/net/grpc/health/health.go internal/net/grpc/health/health_test.go internal/net/grpc/interceptor.go +internal/net/grpc/interceptor/client/metric/metric.go internal/net/grpc/interceptor/client/trace/trace.go internal/net/grpc/interceptor/server/logging/accesslog.go internal/net/grpc/interceptor/server/logging/accesslog_test.go @@ -1814,6 +1821,11 @@ rust/Cargo.lock rust/Cargo.toml rust/bin/agent/Cargo.toml rust/bin/agent/src/main.rs +rust/libs/ngt-rs/Cargo.toml +rust/libs/ngt-rs/build.rs +rust/libs/ngt-rs/src/input.cpp +rust/libs/ngt-rs/src/input.h +rust/libs/ngt-rs/src/lib.rs rust/libs/ngt/Cargo.toml rust/libs/ngt/src/lib.rs rust/libs/proto/Cargo.toml @@ -1836,6 +1848,7 @@ rust/libs/proto/src/sidecar.v1.rs rust/libs/proto/src/sidecar.v1.tonic.rs rust/libs/proto/src/vald.v1.rs rust/libs/proto/src/vald.v1.tonic.rs +rust/rust-toolchain.toml tests/chaos/chart/.helmignore tests/chaos/chart/Chart.yaml tests/chaos/chart/README.md @@ -1881,6 +1894,7 @@ versions/OTEL_OPERATOR_VERSION versions/PROMETHEUS_STACK_VERSION versions/PROTOBUF_VERSION versions/REVIEWDOG_VERSION +versions/RUST_VERSION versions/TELEPRESENCE_VERSION versions/VALDCLI_VERSION versions/VALD_VERSION diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 6ab86916d4..d3f1047a60 100755 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -22,8 +22,8 @@ assignees: "" -- Go Version: 1.22.2 +- Go Version: 1.22.3 - Rust Version: 1.77.2 - Docker Version: 20.10.8 -- Kubernetes Version: v1.29.3 +- Kubernetes Version: v1.30.0 - NGT Version: 2.2.1 diff --git a/.github/ISSUE_TEMPLATE/security_issue_report.md b/.github/ISSUE_TEMPLATE/security_issue_report.md index dba3a1886b..d99285a63b 100644 --- a/.github/ISSUE_TEMPLATE/security_issue_report.md +++ b/.github/ISSUE_TEMPLATE/security_issue_report.md @@ -16,8 +16,8 @@ assignees: "" -- Go Version: 1.22.2 +- Go Version: 1.22.3 - Rust Version: 1.77.2 - Docker Version: 20.10.8 -- Kubernetes Version: v1.29.3 +- Kubernetes Version: v1.30.0 - NGT Version: 2.2.1 diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 69a582f70c..8de6182643 100755 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -16,10 +16,10 @@ -- Go Version: 1.22.2 +- Go Version: 1.22.3 - Rust Version: 1.77.2 - Docker Version: 20.10.8 -- Kubernetes Version: v1.29.3 +- Kubernetes Version: v1.30.0 - NGT Version: 2.2.1 ### Checklist diff --git a/Makefile b/Makefile index fc459a535a..1b08e62324 100644 --- a/Makefile +++ b/Makefile @@ -592,7 +592,7 @@ ngt/install: /usr/local/include/NGT/Capi.h ## install Faiss faiss/install: /usr/local/lib/libfaiss.so /usr/local/lib/libfaiss.so: - curl -LO https://github.com/facebookresearch/faiss/archive/v$(FAISS_VERSION).tar.gz + curl -fsSLO https://github.com/facebookresearch/faiss/archive/v$(FAISS_VERSION).tar.gz tar zxf v$(FAISS_VERSION).tar.gz -C $(TEMP_DIR)/ cd $(TEMP_DIR)/faiss-$(FAISS_VERSION) && \ cmake -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -B build . && \ diff --git a/Makefile.d/client.mk b/Makefile.d/client.mk index 3b814ccccf..1c5c7aa9bf 100644 --- a/Makefile.d/client.mk +++ b/Makefile.d/client.mk @@ -21,14 +21,14 @@ valdcli/install: $(BINDIR)/valdcli ifeq ($(UNAME),Darwin) $(BINDIR)/valdcli: mkdir -p $(BINDIR) - curl -LO https://github.com/rinx/vald-client-clj/releases/download/$(VALDCLI_VERSION)/valdcli-macos.zip + curl -fsSLO https://github.com/rinx/vald-client-clj/releases/download/$(VALDCLI_VERSION)/valdcli-macos.zip unzip valdcli-macos.zip rm -f valdcli-macos.zip mv valdcli $(BINDIR)/valdcli else $(BINDIR)/valdcli: mkdir -p $(BINDIR) - curl -LO https://github.com/rinx/vald-client-clj/releases/download/$(VALDCLI_VERSION)/valdcli-linux-static.zip + curl -fsSLO https://github.com/rinx/vald-client-clj/releases/download/$(VALDCLI_VERSION)/valdcli-linux-static.zip unzip valdcli-linux-static.zip rm -f valdcli-linux-static.zip mv valdcli $(BINDIR)/valdcli diff --git a/Makefile.d/dependencies.mk b/Makefile.d/dependencies.mk index 102fab0cce..8dece00fca 100644 --- a/Makefile.d/dependencies.mk +++ b/Makefile.d/dependencies.mk @@ -91,13 +91,13 @@ rust/deps: \ .PHONY: update/chaos-mesh ## update chaos-mesh version update/chaos-mesh: - curl --silent https://api.github.com/repos/chaos-mesh/chaos-mesh/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/CHAOS_MESH_VERSION + curl -fsSL https://api.github.com/repos/chaos-mesh/chaos-mesh/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/CHAOS_MESH_VERSION .PHONY: update/k3s ## update k3s version update/k3s: @{ \ - RESULT=$$(curl --silent https://hub.docker.com/v2/repositories/rancher/k3s/tags?page_size=1000 | jq -r '.results[].name' | grep -E '.*-k3s[0-9]+$$' | grep -v rc | sort -Vr | head -n 1); \ + RESULT=$$(curl -fsSL https://hub.docker.com/v2/repositories/rancher/k3s/tags?page_size=1000 | jq -r '.results[].name' | grep -E '.*-k3s[0-9]+$$' | grep -v rc | sort -Vr | head -n 1); \ if [ -n "$$RESULT" ]; then \ echo $$RESULT > $(ROOTDIR)/versions/K3S_VERSION; \ else \ @@ -108,112 +108,112 @@ update/k3s: .PHONY: update/go ## update go version update/go: - curl --silent https://go.dev/VERSION?m=text | head -n 1 | sed -e 's/go//g' > $(ROOTDIR)/versions/GO_VERSION + curl -fsSL https://go.dev/VERSION?m=text | head -n 1 | sed -e 's/go//g' > $(ROOTDIR)/versions/GO_VERSION .PHONY: update/golangci-lint ## update golangci-lint version update/golangci-lint: - curl --silent https://api.github.com/repos/golangci/golangci-lint/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/GOLANGCILINT_VERSION + curl -fsSL https://api.github.com/repos/golangci/golangci-lint/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/GOLANGCILINT_VERSION .PHONY: update/rust ## update rust version update/rust: - curl --silent https://releases.rs | grep -Po 'Stable: \K[\d.]+\s' | head -n 1 > $(ROOTDIR)/versions/RUST_VERSION + curl -fsSL https://releases.rs | grep -Po 'Stable: \K[\d.]+\s' | head -n 1 > $(ROOTDIR)/versions/RUST_VERSION .PHONY: update/helm ## update helm version update/helm: - curl --silent https://api.github.com/repos/helm/helm/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/HELM_VERSION + curl -fsSL https://api.github.com/repos/helm/helm/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/HELM_VERSION .PHONY: update/helm-operator ## update helm-operator version update/helm-operator: - curl --silent https://quay.io/api/v1/repository/operator-framework/helm-operator | jq -r '.tags'| grep name | grep -v master |grep -v latest | grep -v rc | head -1 | sed -e 's/.*\"name\":\ \"\(.*\)\",/\1/g' > $(ROOTDIR)/versions/OPERATOR_SDK_VERSION + curl -fsSL https://quay.io/api/v1/repository/operator-framework/helm-operator | jq -r '.tags'| grep name | grep -v master |grep -v latest | grep -v rc | head -1 | sed -e 's/.*\"name\":\ \"\(.*\)\",/\1/g' > $(ROOTDIR)/versions/OPERATOR_SDK_VERSION .PHONY: update/helm-docs ## update helm-docs version update/helm-docs: - curl --silent https://api.github.com/repos/norwoodj/helm-docs/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/HELM_DOCS_VERSION + curl -fsSL https://api.github.com/repos/norwoodj/helm-docs/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/HELM_DOCS_VERSION .PHONY: update/protobuf ## update protobuf version update/protobuf: - curl --silent https://api.github.com/repos/protocolbuffers/protobuf/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/PROTOBUF_VERSION + curl -fsSL https://api.github.com/repos/protocolbuffers/protobuf/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/PROTOBUF_VERSION .PHONY: update/kind ## update kind (kubernetes in docker) version update/kind: - curl --silent https://api.github.com/repos/kubernetes-sigs/kind/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/KIND_VERSION + curl -fsSL https://api.github.com/repos/kubernetes-sigs/kind/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/KIND_VERSION .PHONY: update/kubectl ## update kubectl (kubernetes cli) version update/kubectl: - curl -L -s https://dl.k8s.io/release/stable.txt > $(ROOTDIR)/versions/KUBECTL_VERSION + curl -fsSL https://dl.k8s.io/release/stable.txt > $(ROOTDIR)/versions/KUBECTL_VERSION .PHONY: update/prometheus-stack ## update prometheus version update/prometheus-stack: - curl --silent https://artifacthub.io/api/v1/packages/helm/prometheus-community/kube-prometheus-stack | jq .version | sed 's/"//g' > $(ROOTDIR)/versions/PROMETHEUS_STACK_VERSION + curl -fsSL https://artifacthub.io/api/v1/packages/helm/prometheus-community/kube-prometheus-stack | jq .version | sed 's/"//g' > $(ROOTDIR)/versions/PROMETHEUS_STACK_VERSION .PHONY: update/jaeger-operator ## update jaeger-operator version update/jaeger-operator: - curl --silent https://artifacthub.io/api/v1/packages/helm/jaegertracing/jaeger-operator | jq .version | sed 's/"//g' > $(ROOTDIR)/versions/JAEGER_OPERATOR_VERSION + curl -fsSL https://artifacthub.io/api/v1/packages/helm/jaegertracing/jaeger-operator | jq .version | sed 's/"//g' > $(ROOTDIR)/versions/JAEGER_OPERATOR_VERSION .PHONY: update/kube-linter ## update kube-linter version update/kube-linter: - curl --silent https://api.github.com/repos/stackrox/kube-linter/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/KUBELINTER_VERSION + curl -fsSL https://api.github.com/repos/stackrox/kube-linter/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/KUBELINTER_VERSION # .PHONY: update/otel-operator # ## update otel-operator version # update/otel-operator: -# curl --silent https://api.github.com/repos/open-telemetry/opentelemetry-operator/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/OTEL_OPERATOR_VERSION +# curl -fsSL https://api.github.com/repos/open-telemetry/opentelemetry-operator/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/OTEL_OPERATOR_VERSION .PHONY: update/ngt ## update yahoojapan/NGT version update/ngt: - curl --silent https://api.github.com/repos/yahoojapan/NGT/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/NGT_VERSION + curl -fsSL https://api.github.com/repos/yahoojapan/NGT/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/NGT_VERSION .PHONY: update/faiss ## update facebookresearch/faiss version update/faiss: - curl --silent https://api.github.com/repos/facebookresearch/faiss/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/FAISS_VERSION + curl -fsSL https://api.github.com/repos/facebookresearch/faiss/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/FAISS_VERSION .PHONY: update/reviewdog ## update reviewdog version update/reviewdog: - curl --silent https://api.github.com/repos/reviewdog/reviewdog/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/REVIEWDOG_VERSION + curl -fsSL https://api.github.com/repos/reviewdog/reviewdog/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/REVIEWDOG_VERSION .PHONY: update/telepresence ## update telepresence version update/telepresence: - curl --silent https://api.github.com/repos/telepresenceio/telepresence/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/TELEPRESENCE_VERSION + curl -fsSL https://api.github.com/repos/telepresenceio/telepresence/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/TELEPRESENCE_VERSION .PHONY: update/yq ## update YQ version update/yq: - curl --silent https://api.github.com/repos/mikefarah/yq/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/YQ_VERSION + curl -fsSL https://api.github.com/repos/mikefarah/yq/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/YQ_VERSION .PHONY: update/zlib ## update zlib version update/zlib: - curl --silent https://api.github.com/repos/madler/zlib/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/ZLIB_VERSION + curl -fsSL https://api.github.com/repos/madler/zlib/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/ZLIB_VERSION .PHONY: update/hdf5 ## update hdf5 version update/hdf5: - curl --silent https://api.github.com/repos/HDFGroup/hdf5/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/HDF5_VERSION + curl -fsSL https://api.github.com/repos/HDFGroup/hdf5/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' > $(ROOTDIR)/versions/HDF5_VERSION .PHONY: update/vald ## update vald it's self version update/vald: - curl --silent https://api.github.com/repos/vdaas/vald/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/VALD_VERSION + curl -fsSL https://api.github.com/repos/vdaas/vald/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/VALD_VERSION .PHONY: update/valdcli ## update vald client library made by clojure self version update/valdcli: - curl --silent https://api.github.com/repos/vdaas/vald-client-clj/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/VALDCLI_VERSION + curl -fsSL https://api.github.com/repos/vdaas/vald-client-clj/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' > $(ROOTDIR)/versions/VALDCLI_VERSION .PHONY: update/template ## update PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE diff --git a/Makefile.d/functions.mk b/Makefile.d/functions.mk index e9d7ac909d..bce4d8a44d 100644 --- a/Makefile.d/functions.mk +++ b/Makefile.d/functions.mk @@ -343,10 +343,11 @@ define update-github-actions VERSION="1.0.0"; \ else \ REPO_NAME=`echo $$ACTION_NAME | cut -d'/' -f1-2`; \ - VERSION=`curl --silent https://api.github.com/repos/$$REPO_NAME/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' | sed -E 's/[^0-9.]+//g'`;\ + VERSION=`curl -fsSL https://api.github.com/repos/$$REPO_NAME/releases/latest | grep -Po '"tag_name": "\K.*?(?=")' | sed 's/v//g' | sed -E 's/[^0-9.]+//g'`;\ fi; \ if [ -n "$$VERSION" ]; then \ - echo "updating $$ACTION_NAME version file $$FILE_NAME to $$VERSION"; \ + OLD_VERSION=`cat $(ROOTDIR)/versions/actions/$$FILE_NAME`; \ + echo "updating $$ACTION_NAME version file $$FILE_NAME from $$OLD_VERSION to $$VERSION"; \ echo $$VERSION > $(ROOTDIR)/versions/actions/$$FILE_NAME; \ else \ VERSION=`cat $(ROOTDIR)/versions/actions/$$FILE_NAME`; \ diff --git a/Makefile.d/helm.mk b/Makefile.d/helm.mk index 73b555ab77..361d5b3c83 100644 --- a/Makefile.d/helm.mk +++ b/Makefile.d/helm.mk @@ -20,7 +20,7 @@ helm/install: $(BINDIR)/helm $(BINDIR)/helm: mkdir -p $(BINDIR) - curl "https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3" | HELM_INSTALL_DIR=$(BINDIR) bash + curl -fsSL "https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3" | HELM_INSTALL_DIR=$(BINDIR) bash .PHONY: helm-docs/install ## install helm-docs @@ -29,7 +29,7 @@ helm-docs/install: $(BINDIR)/helm-docs $(BINDIR)/helm-docs: mkdir -p $(BINDIR) cd $(TEMP_DIR) \ - && curl -LO https://github.com/norwoodj/helm-docs/releases/download/v$(HELM_DOCS_VERSION)/helm-docs_$(HELM_DOCS_VERSION)_$(UNAME)_$(ARCH).tar.gz \ + && curl -fsSLO https://github.com/norwoodj/helm-docs/releases/download/v$(HELM_DOCS_VERSION)/helm-docs_$(HELM_DOCS_VERSION)_$(UNAME)_$(ARCH).tar.gz \ && tar xzvf helm-docs_$(HELM_DOCS_VERSION)_$(UNAME)_$(ARCH).tar.gz \ && mv helm-docs $(BINDIR)/helm-docs @@ -156,7 +156,7 @@ yq/install: $(BINDIR)/yq $(BINDIR)/yq: mkdir -p $(BINDIR) cd $(TEMP_DIR) \ - && curl -L https://github.com/mikefarah/yq/releases/download/$(YQ_VERSION)/yq_$(OS)_$(subst x86_64,amd64,$(shell echo $(ARCH) | tr '[:upper:]' '[:lower:]')) -o $(BINDIR)/yq \ + && curl -fsSL https://github.com/mikefarah/yq/releases/download/$(YQ_VERSION)/yq_$(OS)_$(subst x86_64,amd64,$(shell echo $(ARCH) | tr '[:upper:]' '[:lower:]')) -o $(BINDIR)/yq \ && chmod a+x $(BINDIR)/yq .PHONY: helm/schema/crd/all diff --git a/Makefile.d/k3d.mk b/Makefile.d/k3d.mk index 0fa5a67576..786175794a 100644 --- a/Makefile.d/k3d.mk +++ b/Makefile.d/k3d.mk @@ -24,7 +24,7 @@ k3d/install: $(BINDIR)/k3d $(BINDIR)/k3d: mkdir -p $(BINDIR) - curl -sS https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash + curl -fsSL htps://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash chmod a+x $(BINDIR)/$(K3D_COMMAND) .PHONY: k3d/start diff --git a/Makefile.d/k8s.mk b/Makefile.d/k8s.mk index 32e831f27b..51af5d2d14 100644 --- a/Makefile.d/k8s.mk +++ b/Makefile.d/k8s.mk @@ -566,5 +566,5 @@ kubelinter/install: $(BINDIR)/kube-linter $(BINDIR)/kube-linter: mkdir -p $(BINDIR) cd $(TEMP_DIR) \ - && curl -L https://github.com/stackrox/kube-linter/releases/download/$(KUBELINTER_VERSION)/kube-linter-$(OS) -o $(BINDIR)/kube-linter \ + && curl -fsSL https://github.com/stackrox/kube-linter/releases/download/$(KUBELINTER_VERSION)/kube-linter-$(OS) -o $(BINDIR)/kube-linter \ && chmod a+x $(BINDIR)/kube-linter diff --git a/Makefile.d/kind.mk b/Makefile.d/kind.mk index aaba1d2a61..ba6932fe8e 100644 --- a/Makefile.d/kind.mk +++ b/Makefile.d/kind.mk @@ -19,7 +19,7 @@ kind/install: $(BINDIR)/kind $(BINDIR)/kind: mkdir -p $(BINDIR) - curl -L https://github.com/kubernetes-sigs/kind/releases/download/$(KIND_VERSION)/kind-$(OS)-$(subst x86_64,amd64,$(shell echo $(ARCH) | tr '[:upper:]' '[:lower:]')) -o $(BINDIR)/kind + curl -fsSL https://github.com/kubernetes-sigs/kind/releases/download/$(KIND_VERSION)/kind-$(OS)-$(subst x86_64,amd64,$(shell echo $(ARCH) | tr '[:upper:]' '[:lower:]')) -o $(BINDIR)/kind chmod a+x $(BINDIR)/kind .PHONY: kind/start diff --git a/Makefile.d/minikube.mk b/Makefile.d/minikube.mk index 7b5e21e77e..6a329cdfd3 100644 --- a/Makefile.d/minikube.mk +++ b/Makefile.d/minikube.mk @@ -18,7 +18,7 @@ minikube/install: $(BINDIR)/minikube $(BINDIR)/minikube: mkdir -p $(BINDIR) - curl -L https://storage.googleapis.com/minikube/releases/latest/minikube-$(OS)-$(subst x86_64,amd64,$(shell echo $(ARCH) | tr '[:upper:]' '[:lower:]')) -o $(BINDIR)/minikube + curl -fsSL https://storage.googleapis.com/minikube/releases/latest/minikube-$(OS)-$(subst x86_64,amd64,$(shell echo $(ARCH) | tr '[:upper:]' '[:lower:]')) -o $(BINDIR)/minikube chmod a+x $(BINDIR)/minikube # Start minikube with CSI Driver and Volume Snapshots support diff --git a/Makefile.d/proto.mk b/Makefile.d/proto.mk index ef635b6972..8598ef246d 100644 --- a/Makefile.d/proto.mk +++ b/Makefile.d/proto.mk @@ -23,6 +23,7 @@ proto/all: \ ## clean proto artifacts proto/clean: find apis/grpc -name "*.pb.go" | xargs -P$(CORES) rm -f + find apis/grpc -name "*.pb.json.go" | xargs -P$(CORES) rm -f rm -rf apis/swagger apis/docs .PHONY: proto/paths/print diff --git a/Makefile.d/tools.mk b/Makefile.d/tools.mk index bb74f42e6f..9abfc087a4 100644 --- a/Makefile.d/tools.mk +++ b/Makefile.d/tools.mk @@ -19,7 +19,7 @@ golangci-lint/install: $(BINDIR)/golangci-lint $(BINDIR)/golangci-lint: - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh \ + curl -fsSL htps://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh \ | sh -s -- -b $(BINDIR) $(GOLANGCILINT_VERSION) .PHONY: goimports/install @@ -56,14 +56,14 @@ $(BINDIR)/prettier: reviewdog/install: $(BINDIR)/reviewdog $(BINDIR)/reviewdog: - curl -sSfL https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh \ + curl -fsSL htps://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh \ | sh -s -- -b $(BINDIR) $(REVIEWDOG_VERSION) .PHONY: kubectl/install kubectl/install: $(BINDIR)/kubectl $(BINDIR)/kubectl: - curl -L "https://dl.k8s.io/release/$(KUBECTL_VERSION)/bin/$(OS)/$(subst x86_64,amd64,$(shell echo $(ARCH) | tr '[:upper:]' '[:lower:]'))/kubectl" -o $(BINDIR)/kubectl + curl -fsSL "https://dl.k8s.io/release/$(KUBECTL_VERSION)/bin/$(OS)/$(subst x86_64,amd64,$(shell echo $(ARCH) | tr '[:upper:]' '[:lower:]'))/kubectl" -o $(BINDIR)/kubectl chmod a+x $(BINDIR)/kubectl .PHONY: textlint/install @@ -87,7 +87,7 @@ $(NPM_GLOBAL_PREFIX)/bin/cspell: buf/install: $(BINDIR)/buf $(BINDIR)/buf: - curl -sSL \ + curl -fsSL \ "https://github.com/bufbuild/buf/releases/download/$(BUF_VERSION)/buf-$(shell uname -s)-$(shell uname -m)" \ -o "${BINDIR}/buf" && \ chmod +x "${BINDIR}/buf" diff --git a/apis/docs/v1/docs.md b/apis/docs/v1/docs.md index 75316f51a6..2a4a50ecb7 100644 --- a/apis/docs/v1/docs.md +++ b/apis/docs/v1/docs.md @@ -795,17 +795,18 @@ Search related messages. 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. | -| aggregation_algorithm | [Search.AggregationAlgorithm](#payload-v1-Search-AggregationAlgorithm) | | Aggregation Algorithm | +| 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. | +| aggregation_algorithm | [Search.AggregationAlgorithm](#payload-v1-Search-AggregationAlgorithm) | | Aggregation Algorithm | +| ratio | [google.protobuf.FloatValue](#google-protobuf-FloatValue) | | Search ratio for agent return result number. | diff --git a/apis/grpc/v1/agent/core/agent.pb.go b/apis/grpc/v1/agent/core/agent.pb.go index aae0dd08bf..7b70659a66 100644 --- a/apis/grpc/v1/agent/core/agent.pb.go +++ b/apis/grpc/v1/agent/core/agent.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/agent/core/agent.proto diff --git a/apis/grpc/v1/agent/sidecar/sidecar.pb.go b/apis/grpc/v1/agent/sidecar/sidecar.pb.go index bfa798250a..ef77866a95 100644 --- a/apis/grpc/v1/agent/sidecar/sidecar.pb.go +++ b/apis/grpc/v1/agent/sidecar/sidecar.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/agent/sidecar/sidecar.proto diff --git a/apis/grpc/v1/discoverer/discoverer.pb.go b/apis/grpc/v1/discoverer/discoverer.pb.go index 9669f6bee8..b3bb0fa376 100644 --- a/apis/grpc/v1/discoverer/discoverer.pb.go +++ b/apis/grpc/v1/discoverer/discoverer.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/discoverer/discoverer.proto diff --git a/apis/grpc/v1/filter/egress/egress_filter.pb.go b/apis/grpc/v1/filter/egress/egress_filter.pb.go index 85142c343d..979b819852 100644 --- a/apis/grpc/v1/filter/egress/egress_filter.pb.go +++ b/apis/grpc/v1/filter/egress/egress_filter.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/filter/egress/egress_filter.proto diff --git a/apis/grpc/v1/filter/ingress/ingress_filter.pb.go b/apis/grpc/v1/filter/ingress/ingress_filter.pb.go index 98814552ad..e6eacd40bb 100644 --- a/apis/grpc/v1/filter/ingress/ingress_filter.pb.go +++ b/apis/grpc/v1/filter/ingress/ingress_filter.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/filter/ingress/ingress_filter.proto diff --git a/apis/grpc/v1/manager/index/index_manager.pb.go b/apis/grpc/v1/manager/index/index_manager.pb.go index fd15363c38..483c3010cf 100644 --- a/apis/grpc/v1/manager/index/index_manager.pb.go +++ b/apis/grpc/v1/manager/index/index_manager.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/manager/index/index_manager.proto diff --git a/apis/grpc/v1/mirror/mirror.pb.go b/apis/grpc/v1/mirror/mirror.pb.go index 5337586b5f..9f5826913e 100644 --- a/apis/grpc/v1/mirror/mirror.pb.go +++ b/apis/grpc/v1/mirror/mirror.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/mirror/mirror.proto diff --git a/apis/grpc/v1/payload/payload.pb.go b/apis/grpc/v1/payload/payload.pb.go index ba5ee935e0..c68b9dd9e4 100644 --- a/apis/grpc/v1/payload/payload.pb.go +++ b/apis/grpc/v1/payload/payload.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/payload/payload.proto @@ -30,6 +30,7 @@ import ( status "google.golang.org/genproto/googleapis/rpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" ) const ( @@ -1021,6 +1022,8 @@ type Search_Config struct { MinNum uint32 `protobuf:"varint,8,opt,name=min_num,json=minNum,proto3" json:"min_num,omitempty"` // Aggregation Algorithm AggregationAlgorithm Search_AggregationAlgorithm `protobuf:"varint,9,opt,name=aggregation_algorithm,json=aggregationAlgorithm,proto3,enum=payload.v1.Search_AggregationAlgorithm" json:"aggregation_algorithm,omitempty"` + // Search ratio for agent return result number. + Ratio *wrapperspb.FloatValue `protobuf:"bytes,10,opt,name=ratio,proto3" json:"ratio,omitempty"` } func (x *Search_Config) Reset() { @@ -1118,6 +1121,13 @@ func (x *Search_Config) GetAggregationAlgorithm() Search_AggregationAlgorithm { return Search_Unknown } +func (x *Search_Config) GetRatio() *wrapperspb.FloatValue { + if x != nil { + return x.Ratio + } + return nil +} + // Represent a search response. type Search_Response struct { state protoimpl.MessageState @@ -5031,8 +5041,10 @@ var file_v1_payload_payload_proto_rawDesc = []byte{ 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x0b, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x5e, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, @@ -5068,7 +5080,7 @@ var file_v1_payload_payload_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x94, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xc7, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, @@ -5093,420 +5105,424 @@ var file_v1_payload_payload_proto_rawDesc = []byte{ 0x27, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x14, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x1a, 0x60, - 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, - 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x1a, 0x46, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x39, 0x0a, - 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, - 0x6b, 0x0a, 0x14, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, - 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, - 0x77, 0x6e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x6f, 0x72, - 0x74, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x6f, 0x72, 0x74, - 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x50, - 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x70, 0x10, 0x04, 0x22, 0x79, 0x0a, 0x06, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x30, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x3d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x07, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x22, 0xe5, 0x04, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x1a, 0x79, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, - 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x31, + 0x0a, 0x05, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x1a, 0x60, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x07, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, - 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x46, 0x0a, - 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, - 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xae, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, - 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x1a, 0x52, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x92, 0x01, 0x0a, 0x06, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, - 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, - 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x07, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0x9d, 0x05, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x79, 0x0a, 0x07, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x74, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x1a, 0x46, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, + 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x0e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x22, 0x6b, 0x0a, 0x14, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, + 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, + 0x53, 0x6f, 0x72, 0x74, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x53, + 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x10, 0x03, 0x12, 0x0f, + 0x0a, 0x0b, 0x50, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x70, 0x10, 0x04, 0x22, + 0x79, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x30, 0x0a, 0x06, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x3d, 0x0a, 0x06, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x22, 0xe5, 0x04, 0x0a, 0x06, 0x49, + 0x6e, 0x73, 0x65, 0x72, 0x74, 0x1a, 0x79, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3b, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xae, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, + 0x6c, 0x6f, 0x62, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, + 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xae, 0x01, - 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x1a, 0x52, - 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, - 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, - 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x76, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x1a, 0x52, 0x0a, 0x12, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x92, 0x01, + 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, + 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x22, 0x9d, 0x05, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x79, 0x0a, + 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, - 0x9d, 0x05, 0x0a, 0x06, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x1a, 0x79, 0x0a, 0x07, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xae, 0x01, - 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x73, 0x65, 0x72, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x1a, 0x52, - 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, - 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, - 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x1a, 0xae, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x06, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, + 0x72, 0x1a, 0x52, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x22, 0x9d, 0x05, 0x0a, 0x06, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x1a, 0x79, 0x0a, + 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, - 0x91, 0x04, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x63, 0x0a, 0x07, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, - 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x50, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x1a, 0xa8, 0x01, 0x0a, 0x09, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x41, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3a, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x71, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, - 0x4e, 0x65, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x65, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, - 0x47, 0x74, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x65, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, - 0x4c, 0x74, 0x10, 0x05, 0x1a, 0x5d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, - 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, - 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x22, 0x12, 0x0a, 0x05, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x1a, 0x09, 0x0a, 0x07, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb4, 0x0b, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x1a, 0x75, 0x0a, 0x0d, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x44, 0x69, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x1d, 0x0a, 0x02, 0x49, 0x44, 0x12, 0x17, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x17, 0x0a, 0x03, 0x49, 0x44, 0x73, 0x12, 0x10, - 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, - 0x1a, 0x61, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x02, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x1a, 0x46, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, 0x42, 0x08, 0xba, - 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x42, 0x0a, 0x09, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, - 0x3e, 0x0a, 0x07, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x76, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, - 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x1a, - 0x7c, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, - 0x33, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x06, 0x76, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x3d, 0x0a, - 0x0d, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x1a, 0x37, 0x0a, 0x04, - 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x74, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, - 0x6c, 0x6f, 0x62, 0x12, 0x2d, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6c, - 0x6f, 0x62, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x1a, 0xae, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x06, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, + 0x72, 0x1a, 0x52, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x22, 0x91, 0x04, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x63, 0x0a, + 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x50, 0x0a, 0x10, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, + 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x1a, 0xa8, 0x01, 0x0a, + 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x41, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3a, 0x0a, 0x08, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x71, 0x10, 0x00, 0x12, + 0x06, 0x0a, 0x02, 0x4e, 0x65, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x65, 0x10, 0x02, 0x12, + 0x06, 0x0a, 0x02, 0x47, 0x74, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x65, 0x10, 0x04, 0x12, + 0x06, 0x0a, 0x02, 0x4c, 0x74, 0x10, 0x05, 0x1a, 0x5d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x12, 0x0a, 0x05, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x1a, + 0x09, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb4, 0x0b, 0x0a, 0x06, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x75, 0x0a, 0x0d, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, + 0x02, 0x08, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x36, 0x0a, 0x08, + 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, + 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x44, 0x0a, 0x08, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, - 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x70, - 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x46, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x1a, 0x8b, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x09, 0x0a, 0x07, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x78, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x33, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x06, 0x76, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x1d, 0x0a, 0x02, 0x49, + 0x44, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, + 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x17, 0x0a, 0x03, 0x49, 0x44, + 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, + 0x69, 0x64, 0x73, 0x1a, 0x61, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, + 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0x46, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, + 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x42, + 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x17, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x1a, 0x3e, 0x0a, 0x07, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x33, 0x0a, + 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x1a, 0x7c, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, + 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x1a, 0x3d, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x1a, + 0x37, 0x0a, 0x04, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x74, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x2d, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x48, 0x00, 0x52, + 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x45, - 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x1a, 0x3a, 0x0a, 0x12, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x24, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x28, 0x00, 0x52, 0x08, 0x70, 0x6f, 0x6f, - 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x66, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x65, 0x72, 0x1a, 0x58, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x8c, 0x0d, - 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0xca, 0x01, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x1a, 0x75, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x1a, 0x4a, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x1a, - 0x1f, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x1a, 0x21, 0x0a, 0x0b, 0x55, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, + 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x44, + 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x03, 0x69, 0x70, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x46, 0x0a, 0x09, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x1a, 0x8b, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x09, 0x0a, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x78, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, + 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x22, 0x45, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x1a, 0x3a, 0x0a, 0x12, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x28, 0x00, 0x52, 0x08, + 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x66, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x65, 0x72, 0x1a, 0x58, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, + 0x22, 0x8c, 0x0d, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0xca, 0x01, 0x0a, 0x05, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x1a, 0x75, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x75, 0x6e, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x69, + 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x69, + 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x1a, 0x4a, 0x0a, 0x04, 0x55, 0x55, + 0x49, 0x44, 0x1a, 0x1f, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x1a, 0xef, 0x01, 0x0a, 0x03, 0x50, 0x6f, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, - 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, - 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x78, 0x01, 0x52, 0x02, 0x69, - 0x70, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, - 0x2e, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x2f, 0x0a, 0x06, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x6e, 0x6f, - 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x1a, 0xe8, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x26, 0x0a, 0x03, - 0x63, 0x70, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x52, - 0x03, 0x63, 0x70, 0x75, 0x12, 0x2f, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x50, 0x6f, 0x64, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x73, 0x52, 0x04, 0x50, 0x6f, 0x64, 0x73, - 0x1a, 0x82, 0x02, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x70, 0x12, - 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x70, 0x73, - 0x12, 0x32, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, - 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x35, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x80, 0x01, 0x0a, - 0x06, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x75, 0x69, 0x64, 0x1a, 0x21, 0x0a, 0x0b, 0x55, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x1a, 0xef, 0x01, 0x0a, 0x03, 0x50, 0x6f, 0x64, 0x12, 0x19, + 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x78, 0x01, + 0x52, 0x02, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x2f, 0x0a, 0x06, + 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x29, 0x0a, + 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x1a, 0xe8, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, + 0x26, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, + 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x2f, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x50, 0x6f, 0x64, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x73, 0x52, 0x04, 0x50, + 0x6f, 0x64, 0x73, 0x1a, 0x82, 0x02, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x49, 0x70, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, - 0x9e, 0x01, 0x0a, 0x0b, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x4f, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x1a, 0x4b, 0x0a, 0x03, 0x43, 0x50, 0x55, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x4e, 0x0a, - 0x06, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x3a, 0x0a, - 0x04, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, - 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x64, 0x73, 0x1a, 0x3e, 0x0a, 0x05, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, - 0x08, 0x01, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x4a, 0x0a, 0x08, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x15, 0x0a, 0x03, 0x49, 0x50, 0x73, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x7a, 0x0a, 0x06, - 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x30, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x3e, 0x0a, 0x07, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, - 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x42, 0x64, 0x0a, 0x1d, 0x6f, 0x72, 0x67, 0x2e, 0x76, 0x64, 0x61, 0x61, 0x73, 0x2e, 0x76, - 0x61, 0x6c, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x42, 0x0b, 0x56, 0x61, 0x6c, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, - 0x01, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x64, - 0x61, 0x61, 0x73, 0x2f, 0x76, 0x61, 0x6c, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x72, - 0x70, 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0xa2, 0x02, 0x07, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x35, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, + 0x80, 0x01, 0x0a, 0x06, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x9e, 0x01, 0x0a, 0x0b, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x03, 0x43, 0x50, 0x55, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, + 0x1a, 0x4e, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, + 0x1a, 0x3a, 0x0a, 0x04, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x6f, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x42, 0x08, 0xba, 0x48, + 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x64, 0x73, 0x1a, 0x3e, 0x0a, 0x05, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xba, 0x48, 0x05, + 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x4a, 0x0a, 0x08, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x15, 0x0a, 0x03, 0x49, 0x50, 0x73, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, + 0x7a, 0x0a, 0x06, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x30, 0x0a, 0x06, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x3e, 0x0a, 0x07, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x22, 0x07, 0x0a, 0x05, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x42, 0x64, 0x0a, 0x1d, 0x6f, 0x72, 0x67, 0x2e, 0x76, 0x64, 0x61, 0x61, + 0x73, 0x2e, 0x76, 0x61, 0x6c, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x0b, 0x56, 0x61, 0x6c, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x50, 0x01, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x76, 0x64, 0x61, 0x61, 0x73, 0x2f, 0x76, 0x61, 0x6c, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x73, + 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0xa2, 0x02, 0x07, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -5614,7 +5630,8 @@ var file_v1_payload_payload_proto_goTypes = []interface{}{ nil, // 87: payload.v1.Info.Annotations.AnnotationsEntry (*Mirror_Target)(nil), // 88: payload.v1.Mirror.Target (*Mirror_Targets)(nil), // 89: payload.v1.Mirror.Targets - (*status.Status)(nil), // 90: google.rpc.Status + (*wrapperspb.FloatValue)(nil), // 90: google.protobuf.FloatValue + (*status.Status)(nil), // 91: google.rpc.Status } var file_v1_payload_payload_proto_depIdxs = []int32{ 21, // 0: payload.v1.Search.Request.config:type_name -> payload.v1.Search.Config @@ -5627,75 +5644,76 @@ var file_v1_payload_payload_proto_depIdxs = []int32{ 26, // 7: payload.v1.Search.Config.ingress_filters:type_name -> payload.v1.Filter.Config 26, // 8: payload.v1.Search.Config.egress_filters:type_name -> payload.v1.Filter.Config 0, // 9: payload.v1.Search.Config.aggregation_algorithm:type_name -> payload.v1.Search.AggregationAlgorithm - 49, // 10: payload.v1.Search.Response.results:type_name -> payload.v1.Object.Distance - 22, // 11: payload.v1.Search.Responses.responses:type_name -> payload.v1.Search.Response - 22, // 12: payload.v1.Search.StreamResponse.response:type_name -> payload.v1.Search.Response - 90, // 13: payload.v1.Search.StreamResponse.status:type_name -> google.rpc.Status - 25, // 14: payload.v1.Filter.Config.targets:type_name -> payload.v1.Filter.Target - 53, // 15: payload.v1.Insert.Request.vector:type_name -> payload.v1.Object.Vector - 31, // 16: payload.v1.Insert.Request.config:type_name -> payload.v1.Insert.Config - 27, // 17: payload.v1.Insert.MultiRequest.requests:type_name -> payload.v1.Insert.Request - 59, // 18: payload.v1.Insert.ObjectRequest.object:type_name -> payload.v1.Object.Blob - 31, // 19: payload.v1.Insert.ObjectRequest.config:type_name -> payload.v1.Insert.Config - 25, // 20: payload.v1.Insert.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target - 29, // 21: payload.v1.Insert.MultiObjectRequest.requests:type_name -> payload.v1.Insert.ObjectRequest - 26, // 22: payload.v1.Insert.Config.filters:type_name -> payload.v1.Filter.Config - 53, // 23: payload.v1.Update.Request.vector:type_name -> payload.v1.Object.Vector - 36, // 24: payload.v1.Update.Request.config:type_name -> payload.v1.Update.Config - 32, // 25: payload.v1.Update.MultiRequest.requests:type_name -> payload.v1.Update.Request - 59, // 26: payload.v1.Update.ObjectRequest.object:type_name -> payload.v1.Object.Blob - 36, // 27: payload.v1.Update.ObjectRequest.config:type_name -> payload.v1.Update.Config - 25, // 28: payload.v1.Update.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target - 34, // 29: payload.v1.Update.MultiObjectRequest.requests:type_name -> payload.v1.Update.ObjectRequest - 26, // 30: payload.v1.Update.Config.filters:type_name -> payload.v1.Filter.Config - 53, // 31: payload.v1.Upsert.Request.vector:type_name -> payload.v1.Object.Vector - 41, // 32: payload.v1.Upsert.Request.config:type_name -> payload.v1.Upsert.Config - 37, // 33: payload.v1.Upsert.MultiRequest.requests:type_name -> payload.v1.Upsert.Request - 59, // 34: payload.v1.Upsert.ObjectRequest.object:type_name -> payload.v1.Object.Blob - 41, // 35: payload.v1.Upsert.ObjectRequest.config:type_name -> payload.v1.Upsert.Config - 25, // 36: payload.v1.Upsert.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target - 39, // 37: payload.v1.Upsert.MultiObjectRequest.requests:type_name -> payload.v1.Upsert.ObjectRequest - 26, // 38: payload.v1.Upsert.Config.filters:type_name -> payload.v1.Filter.Config - 51, // 39: payload.v1.Remove.Request.id:type_name -> payload.v1.Object.ID - 46, // 40: payload.v1.Remove.Request.config:type_name -> payload.v1.Remove.Config - 42, // 41: payload.v1.Remove.MultiRequest.requests:type_name -> payload.v1.Remove.Request - 45, // 42: payload.v1.Remove.TimestampRequest.timestamps:type_name -> payload.v1.Remove.Timestamp - 1, // 43: payload.v1.Remove.Timestamp.operator:type_name -> payload.v1.Remove.Timestamp.Operator - 51, // 44: payload.v1.Object.VectorRequest.id:type_name -> payload.v1.Object.ID - 26, // 45: payload.v1.Object.VectorRequest.filters:type_name -> payload.v1.Filter.Config - 49, // 46: payload.v1.Object.StreamDistance.distance:type_name -> payload.v1.Object.Distance - 90, // 47: payload.v1.Object.StreamDistance.status:type_name -> google.rpc.Status - 51, // 48: payload.v1.Object.GetTimestampRequest.id:type_name -> payload.v1.Object.ID - 53, // 49: payload.v1.Object.Vectors.vectors:type_name -> payload.v1.Object.Vector - 53, // 50: payload.v1.Object.StreamVector.vector:type_name -> payload.v1.Object.Vector - 90, // 51: payload.v1.Object.StreamVector.status:type_name -> google.rpc.Status - 59, // 52: payload.v1.Object.StreamBlob.blob:type_name -> payload.v1.Object.Blob - 90, // 53: payload.v1.Object.StreamBlob.status:type_name -> google.rpc.Status - 61, // 54: payload.v1.Object.StreamLocation.location:type_name -> payload.v1.Object.Location - 90, // 55: payload.v1.Object.StreamLocation.status:type_name -> google.rpc.Status - 61, // 56: payload.v1.Object.Locations.locations:type_name -> payload.v1.Object.Location - 53, // 57: payload.v1.Object.List.Response.vector:type_name -> payload.v1.Object.Vector - 90, // 58: payload.v1.Object.List.Response.status:type_name -> google.rpc.Status - 76, // 59: payload.v1.Info.Pod.cpu:type_name -> payload.v1.Info.CPU - 77, // 60: payload.v1.Info.Pod.memory:type_name -> payload.v1.Info.Memory - 71, // 61: payload.v1.Info.Pod.node:type_name -> payload.v1.Info.Node - 76, // 62: payload.v1.Info.Node.cpu:type_name -> payload.v1.Info.CPU - 77, // 63: payload.v1.Info.Node.memory:type_name -> payload.v1.Info.Memory - 78, // 64: payload.v1.Info.Node.Pods:type_name -> payload.v1.Info.Pods - 73, // 65: payload.v1.Info.Service.ports:type_name -> payload.v1.Info.ServicePort - 74, // 66: payload.v1.Info.Service.labels:type_name -> payload.v1.Info.Labels - 75, // 67: payload.v1.Info.Service.annotations:type_name -> payload.v1.Info.Annotations - 86, // 68: payload.v1.Info.Labels.labels:type_name -> payload.v1.Info.Labels.LabelsEntry - 87, // 69: payload.v1.Info.Annotations.annotations:type_name -> payload.v1.Info.Annotations.AnnotationsEntry - 70, // 70: payload.v1.Info.Pods.pods:type_name -> payload.v1.Info.Pod - 71, // 71: payload.v1.Info.Nodes.nodes:type_name -> payload.v1.Info.Node - 72, // 72: payload.v1.Info.Services.services:type_name -> payload.v1.Info.Service - 88, // 73: payload.v1.Mirror.Targets.targets:type_name -> payload.v1.Mirror.Target - 74, // [74:74] is the sub-list for method output_type - 74, // [74:74] is the sub-list for method input_type - 74, // [74:74] is the sub-list for extension type_name - 74, // [74:74] is the sub-list for extension extendee - 0, // [0:74] is the sub-list for field type_name + 90, // 10: payload.v1.Search.Config.ratio:type_name -> google.protobuf.FloatValue + 49, // 11: payload.v1.Search.Response.results:type_name -> payload.v1.Object.Distance + 22, // 12: payload.v1.Search.Responses.responses:type_name -> payload.v1.Search.Response + 22, // 13: payload.v1.Search.StreamResponse.response:type_name -> payload.v1.Search.Response + 91, // 14: payload.v1.Search.StreamResponse.status:type_name -> google.rpc.Status + 25, // 15: payload.v1.Filter.Config.targets:type_name -> payload.v1.Filter.Target + 53, // 16: payload.v1.Insert.Request.vector:type_name -> payload.v1.Object.Vector + 31, // 17: payload.v1.Insert.Request.config:type_name -> payload.v1.Insert.Config + 27, // 18: payload.v1.Insert.MultiRequest.requests:type_name -> payload.v1.Insert.Request + 59, // 19: payload.v1.Insert.ObjectRequest.object:type_name -> payload.v1.Object.Blob + 31, // 20: payload.v1.Insert.ObjectRequest.config:type_name -> payload.v1.Insert.Config + 25, // 21: payload.v1.Insert.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target + 29, // 22: payload.v1.Insert.MultiObjectRequest.requests:type_name -> payload.v1.Insert.ObjectRequest + 26, // 23: payload.v1.Insert.Config.filters:type_name -> payload.v1.Filter.Config + 53, // 24: payload.v1.Update.Request.vector:type_name -> payload.v1.Object.Vector + 36, // 25: payload.v1.Update.Request.config:type_name -> payload.v1.Update.Config + 32, // 26: payload.v1.Update.MultiRequest.requests:type_name -> payload.v1.Update.Request + 59, // 27: payload.v1.Update.ObjectRequest.object:type_name -> payload.v1.Object.Blob + 36, // 28: payload.v1.Update.ObjectRequest.config:type_name -> payload.v1.Update.Config + 25, // 29: payload.v1.Update.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target + 34, // 30: payload.v1.Update.MultiObjectRequest.requests:type_name -> payload.v1.Update.ObjectRequest + 26, // 31: payload.v1.Update.Config.filters:type_name -> payload.v1.Filter.Config + 53, // 32: payload.v1.Upsert.Request.vector:type_name -> payload.v1.Object.Vector + 41, // 33: payload.v1.Upsert.Request.config:type_name -> payload.v1.Upsert.Config + 37, // 34: payload.v1.Upsert.MultiRequest.requests:type_name -> payload.v1.Upsert.Request + 59, // 35: payload.v1.Upsert.ObjectRequest.object:type_name -> payload.v1.Object.Blob + 41, // 36: payload.v1.Upsert.ObjectRequest.config:type_name -> payload.v1.Upsert.Config + 25, // 37: payload.v1.Upsert.ObjectRequest.vectorizer:type_name -> payload.v1.Filter.Target + 39, // 38: payload.v1.Upsert.MultiObjectRequest.requests:type_name -> payload.v1.Upsert.ObjectRequest + 26, // 39: payload.v1.Upsert.Config.filters:type_name -> payload.v1.Filter.Config + 51, // 40: payload.v1.Remove.Request.id:type_name -> payload.v1.Object.ID + 46, // 41: payload.v1.Remove.Request.config:type_name -> payload.v1.Remove.Config + 42, // 42: payload.v1.Remove.MultiRequest.requests:type_name -> payload.v1.Remove.Request + 45, // 43: payload.v1.Remove.TimestampRequest.timestamps:type_name -> payload.v1.Remove.Timestamp + 1, // 44: payload.v1.Remove.Timestamp.operator:type_name -> payload.v1.Remove.Timestamp.Operator + 51, // 45: payload.v1.Object.VectorRequest.id:type_name -> payload.v1.Object.ID + 26, // 46: payload.v1.Object.VectorRequest.filters:type_name -> payload.v1.Filter.Config + 49, // 47: payload.v1.Object.StreamDistance.distance:type_name -> payload.v1.Object.Distance + 91, // 48: payload.v1.Object.StreamDistance.status:type_name -> google.rpc.Status + 51, // 49: payload.v1.Object.GetTimestampRequest.id:type_name -> payload.v1.Object.ID + 53, // 50: payload.v1.Object.Vectors.vectors:type_name -> payload.v1.Object.Vector + 53, // 51: payload.v1.Object.StreamVector.vector:type_name -> payload.v1.Object.Vector + 91, // 52: payload.v1.Object.StreamVector.status:type_name -> google.rpc.Status + 59, // 53: payload.v1.Object.StreamBlob.blob:type_name -> payload.v1.Object.Blob + 91, // 54: payload.v1.Object.StreamBlob.status:type_name -> google.rpc.Status + 61, // 55: payload.v1.Object.StreamLocation.location:type_name -> payload.v1.Object.Location + 91, // 56: payload.v1.Object.StreamLocation.status:type_name -> google.rpc.Status + 61, // 57: payload.v1.Object.Locations.locations:type_name -> payload.v1.Object.Location + 53, // 58: payload.v1.Object.List.Response.vector:type_name -> payload.v1.Object.Vector + 91, // 59: payload.v1.Object.List.Response.status:type_name -> google.rpc.Status + 76, // 60: payload.v1.Info.Pod.cpu:type_name -> payload.v1.Info.CPU + 77, // 61: payload.v1.Info.Pod.memory:type_name -> payload.v1.Info.Memory + 71, // 62: payload.v1.Info.Pod.node:type_name -> payload.v1.Info.Node + 76, // 63: payload.v1.Info.Node.cpu:type_name -> payload.v1.Info.CPU + 77, // 64: payload.v1.Info.Node.memory:type_name -> payload.v1.Info.Memory + 78, // 65: payload.v1.Info.Node.Pods:type_name -> payload.v1.Info.Pods + 73, // 66: payload.v1.Info.Service.ports:type_name -> payload.v1.Info.ServicePort + 74, // 67: payload.v1.Info.Service.labels:type_name -> payload.v1.Info.Labels + 75, // 68: payload.v1.Info.Service.annotations:type_name -> payload.v1.Info.Annotations + 86, // 69: payload.v1.Info.Labels.labels:type_name -> payload.v1.Info.Labels.LabelsEntry + 87, // 70: payload.v1.Info.Annotations.annotations:type_name -> payload.v1.Info.Annotations.AnnotationsEntry + 70, // 71: payload.v1.Info.Pods.pods:type_name -> payload.v1.Info.Pod + 71, // 72: payload.v1.Info.Nodes.nodes:type_name -> payload.v1.Info.Node + 72, // 73: payload.v1.Info.Services.services:type_name -> payload.v1.Info.Service + 88, // 74: payload.v1.Mirror.Targets.targets:type_name -> payload.v1.Mirror.Target + 75, // [75:75] is the sub-list for method output_type + 75, // [75:75] is the sub-list for method input_type + 75, // [75:75] is the sub-list for extension type_name + 75, // [75:75] is the sub-list for extension extendee + 0, // [0:75] is the sub-list for field type_name } func init() { file_v1_payload_payload_proto_init() } diff --git a/apis/grpc/v1/payload/payload.pb.json.go b/apis/grpc/v1/payload/payload.pb.json.go new file mode 100644 index 0000000000..cf5d15d4d5 --- /dev/null +++ b/apis/grpc/v1/payload/payload.pb.json.go @@ -0,0 +1,884 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Code generated by protoc-gen-go-json. DO NOT EDIT. +// source: v1/payload/payload.proto + +package payload + +import ( + "google.golang.org/protobuf/encoding/protojson" +) + +// MarshalJSON implements json.Marshaler +func (msg *Search) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Search) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Search_Request) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Search_Request) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Search_MultiRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Search_MultiRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Search_IDRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Search_IDRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Search_MultiIDRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Search_MultiIDRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Search_ObjectRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Search_ObjectRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Search_MultiObjectRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Search_MultiObjectRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Search_Config) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Search_Config) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Search_Response) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Search_Response) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Search_Responses) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Search_Responses) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Search_StreamResponse) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Search_StreamResponse) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Filter) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Filter) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Filter_Target) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Filter_Target) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Filter_Config) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Filter_Config) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Insert) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Insert) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Insert_Request) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Insert_Request) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Insert_MultiRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Insert_MultiRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Insert_ObjectRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Insert_ObjectRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Insert_MultiObjectRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Insert_MultiObjectRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Insert_Config) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Insert_Config) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Update) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Update) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Update_Request) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Update_Request) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Update_MultiRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Update_MultiRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Update_ObjectRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Update_ObjectRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Update_MultiObjectRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Update_MultiObjectRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Update_Config) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Update_Config) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Upsert) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Upsert) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Upsert_Request) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Upsert_Request) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Upsert_MultiRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Upsert_MultiRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Upsert_ObjectRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Upsert_ObjectRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Upsert_MultiObjectRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Upsert_MultiObjectRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Upsert_Config) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Upsert_Config) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Remove) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Remove) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Remove_Request) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Remove_Request) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Remove_MultiRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Remove_MultiRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Remove_TimestampRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Remove_TimestampRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Remove_Timestamp) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Remove_Timestamp) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Remove_Config) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Remove_Config) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Flush) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Flush) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Flush_Request) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Flush_Request) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_VectorRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_VectorRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_Distance) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_Distance) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_StreamDistance) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_StreamDistance) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_ID) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_ID) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_IDs) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_IDs) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_Vector) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_Vector) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_GetTimestampRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_GetTimestampRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_Timestamp) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_Timestamp) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_Vectors) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_Vectors) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_StreamVector) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_StreamVector) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_ReshapeVector) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_ReshapeVector) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_Blob) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_Blob) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_StreamBlob) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_StreamBlob) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_Location) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_Location) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_StreamLocation) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_StreamLocation) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_Locations) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_Locations) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_List) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_List) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_List_Request) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_List_Request) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Object_List_Response) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Object_List_Response) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Control) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Control) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Control_CreateIndexRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Control_CreateIndexRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Discoverer) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Discoverer) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Discoverer_Request) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Discoverer_Request) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Index) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Index) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Index_Count) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Index_Count) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Index_UUID) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Index_UUID) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Index_UUID_Committed) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Index_UUID_Committed) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Index_UUID_Uncommitted) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Index_UUID_Uncommitted) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Pod) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Pod) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Node) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Node) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Service) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Service) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_ServicePort) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_ServicePort) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Labels) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Labels) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Annotations) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Annotations) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_CPU) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_CPU) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Memory) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Memory) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Pods) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Pods) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Nodes) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Nodes) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_Services) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_Services) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Info_IPs) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Info_IPs) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Mirror) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Mirror) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Mirror_Target) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Mirror_Target) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Mirror_Targets) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Mirror_Targets) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Empty) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Empty) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} diff --git a/apis/grpc/v1/payload/payload_vtproto.pb.go b/apis/grpc/v1/payload/payload_vtproto.pb.go index a9735924a7..53d8e69ecc 100644 --- a/apis/grpc/v1/payload/payload_vtproto.pb.go +++ b/apis/grpc/v1/payload/payload_vtproto.pb.go @@ -22,10 +22,12 @@ import ( math "math" protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + wrapperspb1 "github.com/planetscale/vtprotobuf/types/known/wrapperspb" io "github.com/vdaas/vald/internal/io" status "google.golang.org/genproto/googleapis/rpc/status" proto "google.golang.org/protobuf/proto" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" ) const ( @@ -181,6 +183,7 @@ func (m *Search_Config) CloneVT() *Search_Config { r.EgressFilters = m.EgressFilters.CloneVT() r.MinNum = m.MinNum r.AggregationAlgorithm = m.AggregationAlgorithm + r.Ratio = (*wrapperspb.FloatValue)((*wrapperspb1.FloatValue)(m.Ratio).CloneVT()) if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -2102,6 +2105,9 @@ func (this *Search_Config) EqualVT(that *Search_Config) bool { if this.AggregationAlgorithm != that.AggregationAlgorithm { return false } + if !(*wrapperspb1.FloatValue)(this.Ratio).EqualVT((*wrapperspb1.FloatValue)(that.Ratio)) { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -4745,6 +4751,16 @@ func (m *Search_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Ratio != nil { + size, err := (*wrapperspb1.FloatValue)(m.Ratio).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } if m.AggregationAlgorithm != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AggregationAlgorithm)) i-- @@ -8921,6 +8937,10 @@ func (m *Search_Config) SizeVT() (n int) { if m.AggregationAlgorithm != 0 { n += 1 + protohelpers.SizeOfVarint(uint64(m.AggregationAlgorithm)) } + if m.Ratio != nil { + l = (*wrapperspb1.FloatValue)(m.Ratio).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -11293,6 +11313,42 @@ func (m *Search_Config) UnmarshalVT(dAtA []byte) error { break } } + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ratio", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Ratio == nil { + m.Ratio = &wrapperspb.FloatValue{} + } + if err := (*wrapperspb1.FloatValue)(m.Ratio).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/apis/grpc/v1/rpc/errdetails/error_details.pb.go b/apis/grpc/v1/rpc/errdetails/error_details.pb.go index b63fb8a1ae..c126c47fa8 100644 --- a/apis/grpc/v1/rpc/errdetails/error_details.pb.go +++ b/apis/grpc/v1/rpc/errdetails/error_details.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/rpc/errdetails/error_details.proto diff --git a/apis/grpc/v1/rpc/errdetails/error_details.pb.json.go b/apis/grpc/v1/rpc/errdetails/error_details.pb.json.go new file mode 100644 index 0000000000..1829998e8b --- /dev/null +++ b/apis/grpc/v1/rpc/errdetails/error_details.pb.json.go @@ -0,0 +1,164 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Code generated by protoc-gen-go-json. DO NOT EDIT. +// source: v1/rpc/errdetails/error_details.proto + +package errdetails + +import ( + "google.golang.org/protobuf/encoding/protojson" +) + +// MarshalJSON implements json.Marshaler +func (msg *ErrorInfo) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *ErrorInfo) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *RetryInfo) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *RetryInfo) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *DebugInfo) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DebugInfo) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *QuotaFailure) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *QuotaFailure) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *QuotaFailure_Violation) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *QuotaFailure_Violation) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *PreconditionFailure) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *PreconditionFailure) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *PreconditionFailure_Violation) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *PreconditionFailure_Violation) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *BadRequest) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *BadRequest) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *BadRequest_FieldViolation) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *BadRequest_FieldViolation) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *RequestInfo) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *RequestInfo) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *ResourceInfo) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *ResourceInfo) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Help) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Help) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *Help_Link) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *Help_Link) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *LocalizedMessage) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{}.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *LocalizedMessage) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{}.Unmarshal(b, msg) +} diff --git a/apis/grpc/v1/vald/filter.pb.go b/apis/grpc/v1/vald/filter.pb.go index 18de53f45f..162881bc5e 100644 --- a/apis/grpc/v1/vald/filter.pb.go +++ b/apis/grpc/v1/vald/filter.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/vald/filter.proto diff --git a/apis/grpc/v1/vald/flush.pb.go b/apis/grpc/v1/vald/flush.pb.go index 65002337d2..a2afd36491 100644 --- a/apis/grpc/v1/vald/flush.pb.go +++ b/apis/grpc/v1/vald/flush.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/vald/flush.proto diff --git a/apis/grpc/v1/vald/insert.pb.go b/apis/grpc/v1/vald/insert.pb.go index be1b06d9b2..8a5f6997f6 100644 --- a/apis/grpc/v1/vald/insert.pb.go +++ b/apis/grpc/v1/vald/insert.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/vald/insert.proto diff --git a/apis/grpc/v1/vald/object.pb.go b/apis/grpc/v1/vald/object.pb.go index 7441264c93..9730bfff6a 100644 --- a/apis/grpc/v1/vald/object.pb.go +++ b/apis/grpc/v1/vald/object.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/vald/object.proto diff --git a/apis/grpc/v1/vald/remove.pb.go b/apis/grpc/v1/vald/remove.pb.go index e173431677..1e16f2f3b8 100644 --- a/apis/grpc/v1/vald/remove.pb.go +++ b/apis/grpc/v1/vald/remove.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/vald/remove.proto diff --git a/apis/grpc/v1/vald/search.pb.go b/apis/grpc/v1/vald/search.pb.go index 750b5299d1..960c0b5081 100644 --- a/apis/grpc/v1/vald/search.pb.go +++ b/apis/grpc/v1/vald/search.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/vald/search.proto diff --git a/apis/grpc/v1/vald/update.pb.go b/apis/grpc/v1/vald/update.pb.go index 3e758a7ac7..5c9fa2ed27 100644 --- a/apis/grpc/v1/vald/update.pb.go +++ b/apis/grpc/v1/vald/update.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/vald/update.proto diff --git a/apis/grpc/v1/vald/upsert.pb.go b/apis/grpc/v1/vald/upsert.pb.go index 115d2a1cc7..336c393e1b 100644 --- a/apis/grpc/v1/vald/upsert.pb.go +++ b/apis/grpc/v1/vald/upsert.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.34.1 // protoc (unknown) // source: v1/vald/upsert.proto diff --git a/apis/proto/v1/payload/payload.proto b/apis/proto/v1/payload/payload.proto index 60cefdaa60..5f9af665a0 100644 --- a/apis/proto/v1/payload/payload.proto +++ b/apis/proto/v1/payload/payload.proto @@ -19,6 +19,7 @@ syntax = "proto3"; package payload.v1; import "buf/validate/validate.proto"; +import "google/protobuf/wrappers.proto"; import "google/rpc/status.proto"; option go_package = "github.com/vdaas/vald/apis/grpc/v1/payload"; @@ -93,6 +94,8 @@ message Search { uint32 min_num = 8 [(buf.validate.field).uint32.gte = 0]; // Aggregation Algorithm AggregationAlgorithm aggregation_algorithm = 9; + // Search ratio for agent return result number. + google.protobuf.FloatValue ratio = 10; } // AggregationAlgorithm is enum of each aggregation algorithms diff --git a/apis/swagger/v1/vald/filter.swagger.json b/apis/swagger/v1/vald/filter.swagger.json index 0e060ee5d3..7cc3dd0b32 100644 --- a/apis/swagger/v1/vald/filter.swagger.json +++ b/apis/swagger/v1/vald/filter.swagger.json @@ -545,6 +545,11 @@ "aggregationAlgorithm": { "$ref": "#/definitions/SearchAggregationAlgorithm", "title": "Aggregation Algorithm" + }, + "ratio": { + "type": "number", + "format": "float", + "description": "Search ratio for agent return result number." } }, "description": "Represent search configuration." diff --git a/apis/swagger/v1/vald/search.swagger.json b/apis/swagger/v1/vald/search.swagger.json index b131377f51..ada40c7f6f 100644 --- a/apis/swagger/v1/vald/search.swagger.json +++ b/apis/swagger/v1/vald/search.swagger.json @@ -459,6 +459,11 @@ "aggregationAlgorithm": { "$ref": "#/definitions/SearchAggregationAlgorithm", "title": "Aggregation Algorithm" + }, + "ratio": { + "type": "number", + "format": "float", + "description": "Search ratio for agent return result number." } }, "description": "Represent search configuration." diff --git a/buf.gen.yaml b/buf.gen.yaml index faa772682d..d02588fc78 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -30,6 +30,10 @@ plugins: opt: - paths=source_relative - features=grpc+marshal+unmarshal+size+equal+clone + - plugin: buf.build/community/mfridman-go-json + out: apis/grpc + opt: + - paths=source_relative - plugin: buf.build/community/pseudomuto-doc out: apis/docs/v1 opt: diff --git a/charts/vald-benchmark-operator/README.md b/charts/vald-benchmark-operator/README.md index d46b716451..2a8c720903 100644 --- a/charts/vald-benchmark-operator/README.md +++ b/charts/vald-benchmark-operator/README.md @@ -21,164 +21,229 @@ Run the following command to install the chart, ## Configuration -| Key | Type | Default | Description | -| ----------------------------------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -| affinity | object | `{}` | affinity | -| annotations | object | `{}` | deployment annotations | -| 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":"JOB_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables | -| image.pullPolicy | string | `"Always"` | image pull policy | -| image.repository | string | `"vdaas/vald-benchmark-operator"` | job image repository | -| image.tag | string | `"v1.7.12"` | image tag for job docker image | -| job_image.pullPolicy | string | `"Always"` | | -| job_image.repository | string | `"vdaas/vald-benchmark-job"` | | -| job_image.tag | string | `"v1.7.12"` | | -| logging.format | string | `"raw"` | logging format. logging format must be `raw` or `json` | -| logging.level | string | `"debug"` | logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`. | -| logging.logger | string | `"glg"` | logger name. currently logger must be `glg` or `zap`. | -| name | string | `"vald-benchmark-operator"` | name of the deployment | -| nodeSelector | object | `{}` | node labels for pod assignment | -| observability.enabled | bool | `false` | | -| observability.metrics.enable_cgo | bool | `true` | | -| observability.metrics.enable_goroutine | bool | `true` | | -| observability.metrics.enable_memory | bool | `true` | | -| observability.metrics.enable_version_info | bool | `true` | | -| observability.metrics.version_info_labels[0] | string | `"vald_version"` | | -| observability.metrics.version_info_labels[1] | string | `"server_name"` | | -| observability.metrics.version_info_labels[2] | string | `"git_commit"` | | -| observability.metrics.version_info_labels[3] | string | `"build_time"` | | -| observability.metrics.version_info_labels[4] | string | `"go_version"` | | -| observability.metrics.version_info_labels[5] | string | `"go_os"` | | -| observability.metrics.version_info_labels[6] | string | `"go_arch"` | | -| observability.metrics.version_info_labels[7] | string | `"algorithm_info"` | | -| observability.otlp.attribute.namespace | string | `"_MY_POD_NAMESPACE_"` | | -| observability.otlp.attribute.node_name | string | `"_MY_NODE_NAME_"` | | -| observability.otlp.attribute.pod_name | string | `"_MY_POD_NAME_"` | | -| observability.otlp.attribute.service_name | string | `"vald-benchmark-operator"` | | -| observability.otlp.collector_endpoint | string | `""` | | -| observability.otlp.metrics_export_interval | string | `"1s"` | | -| observability.otlp.metrics_export_timeout | string | `"1m"` | | -| observability.otlp.trace_batch_timeout | string | `"1s"` | | -| observability.otlp.trace_export_timeout | string | `"1m"` | | -| observability.otlp.trace_max_export_batch_size | int | `1024` | | -| observability.otlp.trace_max_queue_size | int | `256` | | -| observability.trace.enabled | bool | `false` | | -| observability.trace.sampling_rate | int | `1` | | -| 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-benchmark-operator"` | name of roles and rolebindings | -| replicas | int | `1` | the number of replica for deployment | -| 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 | -| server_config.full_shutdown_duration | string | `"600s"` | | -| server_config.healths.liveness.enabled | bool | `true` | | -| server_config.healths.liveness.host | string | `"0.0.0.0"` | | -| server_config.healths.liveness.livenessProbe.failureThreshold | int | `2` | liveness probe failure threshold | -| server_config.healths.liveness.livenessProbe.httpGet.path | string | `"/liveness"` | readiness probe path | -| server_config.healths.liveness.livenessProbe.httpGet.port | string | `"liveness"` | readiness probe port | -| server_config.healths.liveness.livenessProbe.httpGet.scheme | string | `"HTTP"` | readiness probe scheme | -| server_config.healths.liveness.livenessProbe.initialDelaySeconds | int | `15` | liveness probe initial delay seconds | -| server_config.healths.liveness.livenessProbe.periodSeconds | int | `20` | liveness probe period seconds | -| server_config.healths.liveness.livenessProbe.successThreshold | int | `1` | liveness probe success threshold | -| server_config.healths.liveness.livenessProbe.timeoutSeconds | int | `5` | liveness probe timeout seconds | -| server_config.healths.liveness.port | int | `3000` | | -| server_config.healths.liveness.server.http.handler_timeout | string | `""` | | -| server_config.healths.liveness.server.http.idle_timeout | string | `""` | | -| server_config.healths.liveness.server.http.read_header_timeout | string | `""` | | -| server_config.healths.liveness.server.http.read_timeout | string | `""` | | -| server_config.healths.liveness.server.http.shutdown_duration | string | `"5s"` | | -| server_config.healths.liveness.server.http.write_timeout | string | `""` | | -| server_config.healths.liveness.server.mode | string | `""` | | -| server_config.healths.liveness.server.network | string | `"tcp"` | | -| server_config.healths.liveness.server.probe_wait_time | string | `"3s"` | | -| server_config.healths.liveness.server.socket_path | string | `""` | | -| server_config.healths.liveness.servicePort | int | `3000` | | -| server_config.healths.readiness.enabled | bool | `true` | | -| server_config.healths.readiness.host | string | `"0.0.0.0"` | | -| server_config.healths.readiness.port | int | `3001` | | -| server_config.healths.readiness.readinessProbe.failureThreshold | int | `2` | readiness probe failure threshold | -| server_config.healths.readiness.readinessProbe.httpGet.path | string | `"/readiness"` | readiness probe path | -| server_config.healths.readiness.readinessProbe.httpGet.port | string | `"readiness"` | readiness probe port | -| server_config.healths.readiness.readinessProbe.httpGet.scheme | string | `"HTTP"` | readiness probe scheme | -| server_config.healths.readiness.readinessProbe.initialDelaySeconds | int | `10` | readiness probe initial delay seconds | -| server_config.healths.readiness.readinessProbe.periodSeconds | int | `3` | readiness probe period seconds | -| server_config.healths.readiness.readinessProbe.successThreshold | int | `1` | readiness probe success threshold | -| server_config.healths.readiness.readinessProbe.timeoutSeconds | int | `2` | readiness probe timeout seconds | -| server_config.healths.readiness.server.http.handler_timeout | string | `""` | | -| server_config.healths.readiness.server.http.idle_timeout | string | `""` | | -| server_config.healths.readiness.server.http.read_header_timeout | string | `""` | | -| server_config.healths.readiness.server.http.read_timeout | string | `""` | | -| server_config.healths.readiness.server.http.shutdown_duration | string | `"0s"` | | -| server_config.healths.readiness.server.http.write_timeout | string | `""` | | -| server_config.healths.readiness.server.mode | string | `""` | | -| server_config.healths.readiness.server.network | string | `"tcp"` | | -| server_config.healths.readiness.server.probe_wait_time | string | `"3s"` | | -| server_config.healths.readiness.server.socket_path | string | `""` | | -| server_config.healths.readiness.servicePort | int | `3001` | | -| server_config.healths.startup.enabled | bool | `true` | enable startup probe. | -| server_config.healths.startup.startupProbe.failureThreshold | int | `30` | | -| server_config.healths.startup.startupProbe.httpGet.path | string | `"/liveness"` | | -| server_config.healths.startup.startupProbe.httpGet.port | string | `"liveness"` | | -| server_config.healths.startup.startupProbe.httpGet.scheme | string | `"HTTP"` | | -| server_config.healths.startup.startupProbe.initialDelaySeconds | int | `5` | | -| server_config.healths.startup.startupProbe.periodSeconds | int | `5` | | -| server_config.healths.startup.startupProbe.successThreshold | int | `1` | | -| server_config.healths.startup.startupProbe.timeoutSeconds | int | `2` | | -| server_config.metrics.pprof.enabled | bool | `false` | | -| server_config.metrics.pprof.host | string | `"0.0.0.0"` | | -| server_config.metrics.pprof.port | int | `6060` | | -| server_config.metrics.pprof.server.http.handler_timeout | string | `"5s"` | | -| server_config.metrics.pprof.server.http.idle_timeout | string | `"2s"` | | -| server_config.metrics.pprof.server.http.read_header_timeout | string | `"1s"` | | -| server_config.metrics.pprof.server.http.read_timeout | string | `"1s"` | | -| server_config.metrics.pprof.server.http.shutdown_duration | string | `"5s"` | | -| server_config.metrics.pprof.server.http.write_timeout | string | `"1m"` | | -| server_config.metrics.pprof.server.mode | string | `"REST"` | | -| server_config.metrics.pprof.server.network | string | `"tcp"` | | -| server_config.metrics.pprof.server.probe_wait_time | string | `"3s"` | | -| server_config.metrics.pprof.server.socket_path | string | `""` | | -| server_config.servers.grpc.enabled | bool | `true` | | -| server_config.servers.grpc.host | string | `"0.0.0.0"` | | -| server_config.servers.grpc.name | string | `"grpc"` | | -| server_config.servers.grpc.port | int | `8081` | | -| server_config.servers.grpc.server.grpc.bidirectional_stream_concurrency | int | `20` | | -| server_config.servers.grpc.server.grpc.connection_timeout | string | `""` | | -| server_config.servers.grpc.server.grpc.enable_reflection | bool | `true` | | -| server_config.servers.grpc.server.grpc.header_table_size | int | `0` | | -| server_config.servers.grpc.server.grpc.initial_conn_window_size | int | `0` | | -| server_config.servers.grpc.server.grpc.initial_window_size | int | `0` | | -| server_config.servers.grpc.server.grpc.interceptors | list | `[]` | | -| server_config.servers.grpc.server.grpc.keepalive.max_conn_age | string | `""` | gRPC server keep alive max connection age | -| server_config.servers.grpc.server.grpc.keepalive.max_conn_age_grace | string | `""` | gRPC server keep alive max connection age grace | -| server_config.servers.grpc.server.grpc.keepalive.max_conn_idle | string | `""` | gRPC server keep alive max connection idle | -| server_config.servers.grpc.server.grpc.keepalive.min_time | string | `"60s"` | gRPC server keep alive min_time | -| server_config.servers.grpc.server.grpc.keepalive.permit_without_stream | bool | `true` | gRPC server keep alive permit_without_stream | -| server_config.servers.grpc.server.grpc.keepalive.time | string | `"120s"` | gRPC server keep alive time | -| server_config.servers.grpc.server.grpc.keepalive.timeout | string | `"30s"` | gRPC server keep alive timeout | -| server_config.servers.grpc.server.grpc.max_header_list_size | int | `0` | | -| server_config.servers.grpc.server.grpc.max_receive_message_size | int | `0` | | -| server_config.servers.grpc.server.grpc.max_send_message_size | int | `0` | | -| server_config.servers.grpc.server.grpc.read_buffer_size | int | `0` | | -| server_config.servers.grpc.server.grpc.write_buffer_size | int | `0` | | -| server_config.servers.grpc.server.mode | string | `"GRPC"` | | -| server_config.servers.grpc.server.network | string | `"tcp"` | | -| server_config.servers.grpc.server.probe_wait_time | string | `"3s"` | | -| server_config.servers.grpc.server.restart | bool | `true` | | -| server_config.servers.grpc.server.socket_path | string | `""` | | -| server_config.servers.grpc.serviecPort | int | `8081` | | -| server_config.servers.rest.enabled | bool | `false` | | -| server_config.tls.ca | string | `"/path/to/ca"` | | -| server_config.tls.cert | string | `"/path/to/cert"` | | -| server_config.tls.enabled | bool | `false` | | -| server_config.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification | -| server_config.tls.key | string | `"/path/to/key"` | | -| 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-benchmark-operator"` | name of service account | -| time_zone | string | `""` | time_zone | -| tolerations | list | `[]` | tolerations | -| version | string | `"v0.0.0"` | version of benchmark-operator config | +| Key | Type | Default | Description | +| --------------------------------------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| affinity | object | `{}` | affinity | +| annotations | object | `{}` | deployment annotations | +| 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":"JOB_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}]` | environment variables | +| image.pullPolicy | string | `"Always"` | image pull policy | +| image.repository | string | `"vdaas/vald-benchmark-operator"` | job image repository | +| image.tag | string | `"v1.7.12"` | image tag for job docker image | +| job.client_config.addrs | list | `[]` | gRPC client addresses | +| job.client_config.backoff.backoff_factor | float | `1.1` | gRPC client backoff factor | +| job.client_config.backoff.backoff_time_limit | string | `"5s"` | gRPC client backoff time limit | +| job.client_config.backoff.enable_error_log | bool | `true` | gRPC client backoff log enabled | +| job.client_config.backoff.initial_duration | string | `"5ms"` | gRPC client backoff initial duration | +| job.client_config.backoff.jitter_limit | string | `"100ms"` | gRPC client backoff jitter limit | +| job.client_config.backoff.maximum_duration | string | `"5s"` | gRPC client backoff maximum duration | +| job.client_config.backoff.retry_count | int | `100` | gRPC client backoff retry count | +| job.client_config.call_option.max_recv_msg_size | int | `0` | gRPC client call option max receive message size | +| job.client_config.call_option.max_retry_rpc_buffer_size | int | `0` | gRPC client call option max retry rpc buffer size | +| job.client_config.call_option.max_send_msg_size | int | `0` | gRPC client call option max send message size | +| job.client_config.call_option.wait_for_ready | bool | `true` | gRPC client call option wait for ready | +| job.client_config.circuit_breaker.closed_error_rate | float | `0.7` | gRPC client circuitbreaker closed error rate | +| job.client_config.circuit_breaker.closed_refresh_timeout | string | `"10s"` | gRPC client circuitbreaker closed refresh timeout | +| job.client_config.circuit_breaker.half_open_error_rate | float | `0.5` | gRPC client circuitbreaker half-open error rate | +| job.client_config.circuit_breaker.min_samples | int | `1000` | gRPC client circuitbreaker minimum sampling count | +| job.client_config.circuit_breaker.open_timeout | string | `"1s"` | gRPC client circuitbreaker open timeout | +| job.client_config.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 | +| job.client_config.connection_pool.enable_rebalance | bool | `true` | enables gRPC client connection pool rebalance | +| job.client_config.connection_pool.old_conn_close_duration | string | `"2m"` | makes delay before gRPC client connection closing during connection pool rebalance | +| job.client_config.connection_pool.rebalance_duration | string | `"30m"` | gRPC client connection pool rebalance duration | +| job.client_config.connection_pool.size | int | `3` | gRPC client connection pool size | +| job.client_config.dial_option.backoff_base_delay | string | `"1s"` | gRPC client dial option base backoff delay | +| job.client_config.dial_option.backoff_jitter | float | `0.2` | gRPC client dial option base backoff delay | +| job.client_config.dial_option.backoff_max_delay | string | `"120s"` | gRPC client dial option max backoff delay | +| job.client_config.dial_option.backoff_multiplier | float | `1.6` | gRPC client dial option base backoff delay | +| job.client_config.dial_option.enable_backoff | bool | `false` | gRPC client dial option backoff enabled | +| job.client_config.dial_option.initial_connection_window_size | int | `0` | gRPC client dial option initial connection window size | +| job.client_config.dial_option.initial_window_size | int | `0` | gRPC client dial option initial window size | +| job.client_config.dial_option.insecure | bool | `true` | gRPC client dial option insecure enabled | +| job.client_config.dial_option.interceptors | list | `[]` | gRPC client interceptors | +| job.client_config.dial_option.keepalive.permit_without_stream | bool | `true` | gRPC client keep alive permit without stream | +| job.client_config.dial_option.keepalive.time | string | `"120s"` | gRPC client keep alive time | +| job.client_config.dial_option.keepalive.timeout | string | `"30s"` | gRPC client keep alive timeout | +| job.client_config.dial_option.max_msg_size | int | `0` | gRPC client dial option max message size | +| job.client_config.dial_option.min_connection_timeout | string | `"20s"` | gRPC client dial option minimum connection timeout | +| job.client_config.dial_option.net.dialer.dual_stack_enabled | bool | `true` | gRPC client TCP dialer dual stack enabled | +| job.client_config.dial_option.net.dialer.keepalive | string | `""` | gRPC client TCP dialer keep alive | +| job.client_config.dial_option.net.dialer.timeout | string | `""` | gRPC client TCP dialer timeout | +| job.client_config.dial_option.net.dns.cache_enabled | bool | `true` | gRPC client TCP DNS cache enabled | +| job.client_config.dial_option.net.dns.cache_expiration | string | `"1h"` | gRPC client TCP DNS cache expiration | +| job.client_config.dial_option.net.dns.refresh_duration | string | `"30m"` | gRPC client TCP DNS cache refresh duration | +| job.client_config.dial_option.net.socket_option.ip_recover_destination_addr | bool | `false` | server listen socket option for ip_recover_destination_addr functionality | +| job.client_config.dial_option.net.socket_option.ip_transparent | bool | `false` | server listen socket option for ip_transparent functionality | +| job.client_config.dial_option.net.socket_option.reuse_addr | bool | `true` | server listen socket option for reuse_addr functionality | +| job.client_config.dial_option.net.socket_option.reuse_port | bool | `true` | server listen socket option for reuse_port functionality | +| job.client_config.dial_option.net.socket_option.tcp_cork | bool | `false` | server listen socket option for tcp_cork functionality | +| job.client_config.dial_option.net.socket_option.tcp_defer_accept | bool | `true` | server listen socket option for tcp_defer_accept functionality | +| job.client_config.dial_option.net.socket_option.tcp_fast_open | bool | `true` | server listen socket option for tcp_fast_open functionality | +| job.client_config.dial_option.net.socket_option.tcp_no_delay | bool | `true` | server listen socket option for tcp_no_delay functionality | +| job.client_config.dial_option.net.socket_option.tcp_quick_ack | bool | `true` | server listen socket option for tcp_quick_ack functionality | +| job.client_config.dial_option.net.tls.ca | string | `"/path/to/ca"` | | +| job.client_config.dial_option.net.tls.cert | string | `"/path/to/cert"` | | +| job.client_config.dial_option.net.tls.enabled | bool | `false` | | +| job.client_config.dial_option.net.tls.insecure_skip_verify | bool | `false` | | +| job.client_config.dial_option.net.tls.key | string | `"/path/to/key"` | | +| job.client_config.dial_option.read_buffer_size | int | `0` | gRPC client dial option read buffer size | +| job.client_config.dial_option.timeout | string | `""` | gRPC client dial option timeout | +| job.client_config.dial_option.write_buffer_size | int | `0` | gRPC client dial option write buffer size | +| job.client_config.health_check_duration | string | `"1s"` | gRPC client health check duration | +| job.client_config.tls.ca | string | `"/path/to/ca"` | TLS ca path | +| job.client_config.tls.cert | string | `"/path/to/cert"` | TLS cert path | +| job.client_config.tls.enabled | bool | `false` | TLS enabled | +| job.client_config.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification | +| job.client_config.tls.key | string | `"/path/to/key"` | TLS key path | +| job.image.pullPolicy | string | `"Always"` | | +| job.image.repository | string | `"vdaas/vald-benchmark-job"` | | +| job.image.tag | string | `"v1.7.12"` | | +| logging.format | string | `"raw"` | logging format. logging format must be `raw` or `json` | +| logging.level | string | `"debug"` | logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`. | +| logging.logger | string | `"glg"` | logger name. currently logger must be `glg` or `zap`. | +| name | string | `"vald-benchmark-operator"` | name of the deployment | +| nodeSelector | object | `{}` | node labels for pod assignment | +| observability.enabled | bool | `false` | | +| observability.metrics.enable_cgo | bool | `true` | | +| observability.metrics.enable_goroutine | bool | `true` | | +| observability.metrics.enable_memory | bool | `true` | | +| observability.metrics.enable_version_info | bool | `true` | | +| observability.metrics.version_info_labels[0] | string | `"vald_version"` | | +| observability.metrics.version_info_labels[1] | string | `"server_name"` | | +| observability.metrics.version_info_labels[2] | string | `"git_commit"` | | +| observability.metrics.version_info_labels[3] | string | `"build_time"` | | +| observability.metrics.version_info_labels[4] | string | `"go_version"` | | +| observability.metrics.version_info_labels[5] | string | `"go_os"` | | +| observability.metrics.version_info_labels[6] | string | `"go_arch"` | | +| observability.metrics.version_info_labels[7] | string | `"algorithm_info"` | | +| observability.otlp.attribute.namespace | string | `"_MY_POD_NAMESPACE_"` | | +| observability.otlp.attribute.node_name | string | `"_MY_NODE_NAME_"` | | +| observability.otlp.attribute.pod_name | string | `"_MY_POD_NAME_"` | | +| observability.otlp.attribute.service_name | string | `"vald-benchmark-operator"` | | +| observability.otlp.collector_endpoint | string | `""` | | +| observability.otlp.metrics_export_interval | string | `"1s"` | | +| observability.otlp.metrics_export_timeout | string | `"1m"` | | +| observability.otlp.trace_batch_timeout | string | `"1s"` | | +| observability.otlp.trace_export_timeout | string | `"1m"` | | +| observability.otlp.trace_max_export_batch_size | int | `1024` | | +| observability.otlp.trace_max_queue_size | int | `256` | | +| observability.trace.enabled | bool | `false` | | +| observability.trace.sampling_rate | int | `1` | | +| 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-benchmark-operator"` | name of roles and rolebindings | +| replicas | int | `1` | the number of replica for deployment | +| 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 | +| server_config.full_shutdown_duration | string | `"600s"` | | +| server_config.healths.liveness.enabled | bool | `true` | | +| server_config.healths.liveness.host | string | `"0.0.0.0"` | | +| server_config.healths.liveness.livenessProbe.failureThreshold | int | `2` | liveness probe failure threshold | +| server_config.healths.liveness.livenessProbe.httpGet.path | string | `"/liveness"` | readiness probe path | +| server_config.healths.liveness.livenessProbe.httpGet.port | string | `"liveness"` | readiness probe port | +| server_config.healths.liveness.livenessProbe.httpGet.scheme | string | `"HTTP"` | readiness probe scheme | +| server_config.healths.liveness.livenessProbe.initialDelaySeconds | int | `15` | liveness probe initial delay seconds | +| server_config.healths.liveness.livenessProbe.periodSeconds | int | `20` | liveness probe period seconds | +| server_config.healths.liveness.livenessProbe.successThreshold | int | `1` | liveness probe success threshold | +| server_config.healths.liveness.livenessProbe.timeoutSeconds | int | `5` | liveness probe timeout seconds | +| server_config.healths.liveness.port | int | `3000` | | +| server_config.healths.liveness.server.http.handler_timeout | string | `""` | | +| server_config.healths.liveness.server.http.idle_timeout | string | `""` | | +| server_config.healths.liveness.server.http.read_header_timeout | string | `""` | | +| server_config.healths.liveness.server.http.read_timeout | string | `""` | | +| server_config.healths.liveness.server.http.shutdown_duration | string | `"5s"` | | +| server_config.healths.liveness.server.http.write_timeout | string | `""` | | +| server_config.healths.liveness.server.mode | string | `""` | | +| server_config.healths.liveness.server.network | string | `"tcp"` | | +| server_config.healths.liveness.server.probe_wait_time | string | `"3s"` | | +| server_config.healths.liveness.server.socket_path | string | `""` | | +| server_config.healths.liveness.servicePort | int | `3000` | | +| server_config.healths.readiness.enabled | bool | `true` | | +| server_config.healths.readiness.host | string | `"0.0.0.0"` | | +| server_config.healths.readiness.port | int | `3001` | | +| server_config.healths.readiness.readinessProbe.failureThreshold | int | `2` | readiness probe failure threshold | +| server_config.healths.readiness.readinessProbe.httpGet.path | string | `"/readiness"` | readiness probe path | +| server_config.healths.readiness.readinessProbe.httpGet.port | string | `"readiness"` | readiness probe port | +| server_config.healths.readiness.readinessProbe.httpGet.scheme | string | `"HTTP"` | readiness probe scheme | +| server_config.healths.readiness.readinessProbe.initialDelaySeconds | int | `10` | readiness probe initial delay seconds | +| server_config.healths.readiness.readinessProbe.periodSeconds | int | `3` | readiness probe period seconds | +| server_config.healths.readiness.readinessProbe.successThreshold | int | `1` | readiness probe success threshold | +| server_config.healths.readiness.readinessProbe.timeoutSeconds | int | `2` | readiness probe timeout seconds | +| server_config.healths.readiness.server.http.handler_timeout | string | `""` | | +| server_config.healths.readiness.server.http.idle_timeout | string | `""` | | +| server_config.healths.readiness.server.http.read_header_timeout | string | `""` | | +| server_config.healths.readiness.server.http.read_timeout | string | `""` | | +| server_config.healths.readiness.server.http.shutdown_duration | string | `"0s"` | | +| server_config.healths.readiness.server.http.write_timeout | string | `""` | | +| server_config.healths.readiness.server.mode | string | `""` | | +| server_config.healths.readiness.server.network | string | `"tcp"` | | +| server_config.healths.readiness.server.probe_wait_time | string | `"3s"` | | +| server_config.healths.readiness.server.socket_path | string | `""` | | +| server_config.healths.readiness.servicePort | int | `3001` | | +| server_config.healths.startup.enabled | bool | `true` | enable startup probe. | +| server_config.healths.startup.startupProbe.failureThreshold | int | `30` | | +| server_config.healths.startup.startupProbe.httpGet.path | string | `"/liveness"` | | +| server_config.healths.startup.startupProbe.httpGet.port | string | `"liveness"` | | +| server_config.healths.startup.startupProbe.httpGet.scheme | string | `"HTTP"` | | +| server_config.healths.startup.startupProbe.initialDelaySeconds | int | `5` | | +| server_config.healths.startup.startupProbe.periodSeconds | int | `5` | | +| server_config.healths.startup.startupProbe.successThreshold | int | `1` | | +| server_config.healths.startup.startupProbe.timeoutSeconds | int | `2` | | +| server_config.metrics.pprof.enabled | bool | `false` | | +| server_config.metrics.pprof.host | string | `"0.0.0.0"` | | +| server_config.metrics.pprof.port | int | `6060` | | +| server_config.metrics.pprof.server.http.handler_timeout | string | `"5s"` | | +| server_config.metrics.pprof.server.http.idle_timeout | string | `"2s"` | | +| server_config.metrics.pprof.server.http.read_header_timeout | string | `"1s"` | | +| server_config.metrics.pprof.server.http.read_timeout | string | `"1s"` | | +| server_config.metrics.pprof.server.http.shutdown_duration | string | `"5s"` | | +| server_config.metrics.pprof.server.http.write_timeout | string | `"1m"` | | +| server_config.metrics.pprof.server.mode | string | `"REST"` | | +| server_config.metrics.pprof.server.network | string | `"tcp"` | | +| server_config.metrics.pprof.server.probe_wait_time | string | `"3s"` | | +| server_config.metrics.pprof.server.socket_path | string | `""` | | +| server_config.servers.grpc.enabled | bool | `true` | | +| server_config.servers.grpc.host | string | `"0.0.0.0"` | | +| server_config.servers.grpc.name | string | `"grpc"` | | +| server_config.servers.grpc.port | int | `8081` | | +| server_config.servers.grpc.server.grpc.bidirectional_stream_concurrency | int | `20` | | +| server_config.servers.grpc.server.grpc.connection_timeout | string | `""` | | +| server_config.servers.grpc.server.grpc.enable_reflection | bool | `true` | | +| server_config.servers.grpc.server.grpc.header_table_size | int | `0` | | +| server_config.servers.grpc.server.grpc.initial_conn_window_size | int | `0` | | +| server_config.servers.grpc.server.grpc.initial_window_size | int | `0` | | +| server_config.servers.grpc.server.grpc.interceptors | list | `[]` | | +| server_config.servers.grpc.server.grpc.keepalive.max_conn_age | string | `""` | gRPC server keep alive max connection age | +| server_config.servers.grpc.server.grpc.keepalive.max_conn_age_grace | string | `""` | gRPC server keep alive max connection age grace | +| server_config.servers.grpc.server.grpc.keepalive.max_conn_idle | string | `""` | gRPC server keep alive max connection idle | +| server_config.servers.grpc.server.grpc.keepalive.min_time | string | `"60s"` | gRPC server keep alive min_time | +| server_config.servers.grpc.server.grpc.keepalive.permit_without_stream | bool | `true` | gRPC server keep alive permit_without_stream | +| server_config.servers.grpc.server.grpc.keepalive.time | string | `"120s"` | gRPC server keep alive time | +| server_config.servers.grpc.server.grpc.keepalive.timeout | string | `"30s"` | gRPC server keep alive timeout | +| server_config.servers.grpc.server.grpc.max_header_list_size | int | `0` | | +| server_config.servers.grpc.server.grpc.max_receive_message_size | int | `0` | | +| server_config.servers.grpc.server.grpc.max_send_message_size | int | `0` | | +| server_config.servers.grpc.server.grpc.read_buffer_size | int | `0` | | +| server_config.servers.grpc.server.grpc.write_buffer_size | int | `0` | | +| server_config.servers.grpc.server.mode | string | `"GRPC"` | | +| server_config.servers.grpc.server.network | string | `"tcp"` | | +| server_config.servers.grpc.server.probe_wait_time | string | `"3s"` | | +| server_config.servers.grpc.server.restart | bool | `true` | | +| server_config.servers.grpc.server.socket_path | string | `""` | | +| server_config.servers.grpc.serviecPort | int | `8081` | | +| server_config.servers.rest.enabled | bool | `false` | | +| server_config.tls.ca | string | `"/path/to/ca"` | | +| server_config.tls.cert | string | `"/path/to/cert"` | | +| server_config.tls.enabled | bool | `false` | | +| server_config.tls.insecure_skip_verify | bool | `false` | enable/disable skip SSL certificate verification | +| server_config.tls.key | string | `"/path/to/key"` | | +| 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-benchmark-operator"` | name of service account | +| time_zone | string | `""` | time_zone | +| tolerations | list | `[]` | tolerations | +| version | string | `"v0.0.0"` | version of benchmark-operator config | diff --git a/charts/vald-benchmark-operator/values.schema.json b/charts/vald-benchmark-operator/values.schema.json index 64e870fdfb..fc1ebcd1a6 100644 --- a/charts/vald-benchmark-operator/values.schema.json +++ b/charts/vald-benchmark-operator/values.schema.json @@ -31,15 +31,304 @@ } } }, - "job_image": { + "job": { "type": "object", "properties": { - "pullPolicy": { - "type": "string", - "enum": ["Always", "Never", "IfNotPresent"] + "client_config": { + "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" }, + "cert": { "type": "string" }, + "enabled": { "type": "boolean" }, + "insecure_skip_verify": { "type": "boolean" }, + "key": { "type": "string" } + } + } + } + }, + "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" } + } }, - "repository": { "type": "string" }, - "tag": { "type": "string" } + "image": { + "type": "object", + "properties": { + "pullPolicy": { + "type": "string", + "enum": ["Always", "Never", "IfNotPresent"] + }, + "repository": { "type": "string" }, + "tag": { "type": "string" } + } + } } }, "logging": { diff --git a/charts/vald-helm-operator/crds/valdrelease.yaml b/charts/vald-helm-operator/crds/valdrelease.yaml index afaddd335d..dff6669d2e 100644 --- a/charts/vald-helm-operator/crds/valdrelease.yaml +++ b/charts/vald-helm-operator/crds/valdrelease.yaml @@ -549,6 +549,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -643,6 +645,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -749,6 +753,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -936,6 +942,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -1418,6 +1426,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -1512,6 +1522,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -1618,6 +1630,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -1805,6 +1819,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -2261,6 +2277,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -2355,6 +2373,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -2461,6 +2481,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -2648,6 +2670,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -3120,6 +3144,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -3214,6 +3240,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -3320,6 +3348,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -3507,6 +3537,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -4483,6 +4515,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -4577,6 +4611,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -4683,6 +4719,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -4870,6 +4908,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -5819,6 +5859,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -5913,6 +5955,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -6019,6 +6063,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -6206,6 +6252,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -6875,6 +6923,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -6969,6 +7019,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -7075,6 +7127,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -7262,6 +7316,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -7939,6 +7995,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -8033,6 +8091,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -8139,6 +8199,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -8326,6 +8388,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -8913,6 +8977,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -9007,6 +9073,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -9113,6 +9181,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -9300,6 +9370,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10149,6 +10221,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10243,6 +10317,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10349,6 +10425,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10536,6 +10614,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10811,6 +10891,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10905,6 +10987,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -11011,6 +11095,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -11198,6 +11284,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -11807,6 +11895,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -11901,6 +11991,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12007,6 +12099,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12194,6 +12288,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12325,6 +12421,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12419,6 +12517,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12525,6 +12625,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12712,6 +12814,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: diff --git a/charts/vald/README.md b/charts/vald/README.md index b02589ed3f..593b000f7a 100644 --- a/charts/vald/README.md +++ b/charts/vald/README.md @@ -361,9 +361,10 @@ Run the following command to install the chart, | 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.mode | string | `"REST"` | liveness server mode | +| defaults.server_config.healths.liveness.server.network | string | `"tcp"` | network mode | | defaults.server_config.healths.liveness.server.probe_wait_time | string | `"3s"` | liveness server probe wait time | +| defaults.server_config.healths.liveness.server.restart | bool | `true` | This configuration enables automatic restart of the same configured server when it becomes unhealthy. | | 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 | @@ -373,7 +374,7 @@ Run the following command to install the chart, | 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.server.socket_path | string | `""` | server 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 | @@ -392,9 +393,10 @@ Run the following command to install the chart, | 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.mode | string | `"REST"` | readiness server mode | +| defaults.server_config.healths.readiness.server.network | string | `"tcp"` | network mode | | defaults.server_config.healths.readiness.server.probe_wait_time | string | `"3s"` | readiness server probe wait time | +| defaults.server_config.healths.readiness.server.restart | bool | `true` | This configuration enables automatic restart of the same configured server when it becomes unhealthy. | | 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 | @@ -404,7 +406,7 @@ Run the following command to install the chart, | 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.server.socket_path | string | `""` | server 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 | @@ -426,8 +428,9 @@ Run the following command to install the chart, | defaults.server_config.metrics.pprof.server.http.shutdown_duration | string | `"5s"` | pprof server shutdown duration | | defaults.server_config.metrics.pprof.server.http.write_timeout | string | `"1m"` | pprof server write timeout | | defaults.server_config.metrics.pprof.server.mode | string | `"REST"` | pprof server mode | -| defaults.server_config.metrics.pprof.server.network | string | `"tcp"` | mysql network | +| defaults.server_config.metrics.pprof.server.network | string | `"tcp"` | network mode | | defaults.server_config.metrics.pprof.server.probe_wait_time | string | `"3s"` | pprof server probe wait time | +| defaults.server_config.metrics.pprof.server.restart | bool | `true` | This configuration enables automatic restart of the same configured server when it becomes unhealthy. | | 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 | @@ -437,7 +440,7 @@ Run the following command to install the chart, | defaults.server_config.metrics.pprof.server.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality | | defaults.server_config.metrics.pprof.server.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality | | defaults.server_config.metrics.pprof.server.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality | -| defaults.server_config.metrics.pprof.server.socket_path | string | `""` | mysql socket_path | +| defaults.server_config.metrics.pprof.server.socket_path | string | `""` | server 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 | @@ -463,9 +466,9 @@ Run the following command to install the chart, | 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.network | string | `"tcp"` | network mode | | 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.restart | bool | `true` | This configuration enables automatic restart of the same configured server when it becomes unhealthy. | | 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 | @@ -475,7 +478,7 @@ Run the following command to install the chart, | defaults.server_config.servers.grpc.server.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality | | defaults.server_config.servers.grpc.server.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality | | defaults.server_config.servers.grpc.server.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality | -| defaults.server_config.servers.grpc.server.socket_path | string | `""` | mysql socket_path | +| defaults.server_config.servers.grpc.server.socket_path | string | `""` | server 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 | @@ -487,8 +490,9 @@ Run the following command to install the chart, | 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.network | string | `"tcp"` | network mode | | defaults.server_config.servers.rest.server.probe_wait_time | string | `"3s"` | REST server probe wait time | +| defaults.server_config.servers.rest.server.restart | bool | `true` | | | 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 | @@ -498,7 +502,7 @@ Run the following command to install the chart, | defaults.server_config.servers.rest.server.socket_option.tcp_fast_open | bool | `false` | server listen socket option for tcp_fast_open functionality | | defaults.server_config.servers.rest.server.socket_option.tcp_no_delay | bool | `false` | server listen socket option for tcp_no_delay functionality | | defaults.server_config.servers.rest.server.socket_option.tcp_quick_ack | bool | `false` | server listen socket option for tcp_quick_ack functionality | -| defaults.server_config.servers.rest.server.socket_path | string | `""` | mysql socket_path | +| defaults.server_config.servers.rest.server.socket_path | string | `""` | network 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 | diff --git a/charts/vald/values.schema.json b/charts/vald/values.schema.json index a4bc132f75..ef9c647eb7 100644 --- a/charts/vald/values.schema.json +++ b/charts/vald/values.schema.json @@ -712,7 +712,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -729,6 +729,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -772,7 +773,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -881,7 +882,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -898,6 +899,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -941,7 +943,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -1070,7 +1072,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -1087,6 +1089,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -1130,7 +1133,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -1272,7 +1275,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -1291,7 +1294,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -1336,7 +1339,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -1403,7 +1406,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -1420,6 +1423,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -1463,7 +1467,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -2219,7 +2223,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -2236,6 +2240,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -2279,7 +2284,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -2388,7 +2393,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -2405,6 +2410,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -2448,7 +2454,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -2577,7 +2583,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -2594,6 +2600,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -2637,7 +2644,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -2779,7 +2786,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -2798,7 +2805,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -2843,7 +2850,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -2910,7 +2917,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -2927,6 +2934,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -2970,7 +2978,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -3653,7 +3661,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -3670,6 +3678,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -3713,7 +3722,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -3822,7 +3831,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -3839,6 +3848,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -3882,7 +3892,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -4011,7 +4021,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -4028,6 +4038,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -4071,7 +4082,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -4213,7 +4224,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -4232,7 +4243,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -4277,7 +4288,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -4344,7 +4355,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -4361,6 +4372,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -4404,7 +4416,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -5071,7 +5083,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -5088,6 +5100,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -5131,7 +5144,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -5240,7 +5253,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -5257,6 +5270,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -5300,7 +5314,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -5429,7 +5443,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -5446,6 +5460,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -5489,7 +5504,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -5631,7 +5646,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -5650,7 +5665,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -5695,7 +5710,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -5762,7 +5777,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -5779,6 +5794,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -5822,7 +5838,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -7372,7 +7388,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -7389,6 +7405,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -7432,7 +7449,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -7541,7 +7558,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -7558,6 +7575,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -7601,7 +7619,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -7730,7 +7748,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -7747,6 +7765,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -7790,7 +7809,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -7932,7 +7951,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -7951,7 +7970,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -7996,7 +8015,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -8063,7 +8082,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -8080,6 +8099,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -8123,7 +8143,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -9638,7 +9658,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -9655,6 +9675,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -9698,7 +9719,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -9807,7 +9828,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -9824,6 +9845,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -9867,7 +9889,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -9996,7 +10018,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -10013,6 +10035,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -10056,7 +10079,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -10198,7 +10221,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -10217,7 +10240,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -10262,7 +10285,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -10329,7 +10352,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -10346,6 +10369,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -10389,7 +10413,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -11418,7 +11442,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -11435,6 +11459,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -11478,7 +11503,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -11587,7 +11612,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -11604,6 +11629,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -11647,7 +11673,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -11776,7 +11802,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -11793,6 +11819,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -11836,7 +11863,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -11978,7 +12005,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -11997,7 +12024,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -12042,7 +12069,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -12109,7 +12136,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -12126,6 +12153,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -12169,7 +12197,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -13242,7 +13270,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -13259,6 +13287,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -13302,7 +13331,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -13411,7 +13440,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -13428,6 +13457,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -13471,7 +13501,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -13600,7 +13630,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -13617,6 +13647,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -13660,7 +13691,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -13802,7 +13833,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -13821,7 +13852,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -13866,7 +13897,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -13933,7 +13964,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -13950,6 +13981,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -13993,7 +14025,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -14972,7 +15004,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -14989,6 +15021,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -15032,7 +15065,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -15141,7 +15174,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -15158,6 +15191,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -15201,7 +15235,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -15330,7 +15364,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -15347,6 +15381,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -15390,7 +15425,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -15532,7 +15567,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -15551,7 +15586,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -15596,7 +15631,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -15663,7 +15698,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -15680,6 +15715,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -15723,7 +15759,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -17069,7 +17105,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -17086,6 +17122,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -17129,7 +17166,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -17238,7 +17275,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -17255,6 +17292,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -17298,7 +17336,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -17427,7 +17465,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -17444,6 +17482,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -17487,7 +17526,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -17629,7 +17668,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -17648,7 +17687,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -17693,7 +17732,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -17760,7 +17799,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -17777,6 +17816,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -17820,7 +17860,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -18216,7 +18256,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -18233,6 +18273,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -18276,7 +18317,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -18385,7 +18426,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -18402,6 +18443,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -18445,7 +18487,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -18574,7 +18616,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -18591,6 +18633,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -18634,7 +18677,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -18776,7 +18819,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -18795,7 +18838,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -18840,7 +18883,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -18907,7 +18950,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -18924,6 +18967,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -18967,7 +19011,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -19979,7 +20023,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -19996,6 +20040,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -20039,7 +20084,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -20148,7 +20193,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -20165,6 +20210,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -20208,7 +20254,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -20337,7 +20383,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -20354,6 +20400,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -20397,7 +20444,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -20539,7 +20586,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -20558,7 +20605,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -20603,7 +20650,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -20670,7 +20717,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -20687,6 +20734,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -20730,7 +20778,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -20906,7 +20954,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -20923,6 +20971,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -20966,7 +21015,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -21075,7 +21124,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -21092,6 +21141,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -21135,7 +21185,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -21264,7 +21314,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -21281,6 +21331,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -21324,7 +21375,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, @@ -21466,7 +21517,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -21485,7 +21536,7 @@ }, "restart": { "type": "boolean", - "description": "gRPC server restart" + "description": "This configuration enables automatic restart of the same configured server when it becomes unhealthy." }, "socket_option": { "type": "object", @@ -21530,7 +21581,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "server socket_path" } } }, @@ -21597,7 +21648,7 @@ }, "network": { "type": "string", - "description": "mysql network", + "description": "network mode", "enum": [ "tcp", "tcp4", @@ -21614,6 +21665,7 @@ "type": "string", "description": "REST server probe wait time" }, + "restart": { "type": "boolean" }, "socket_option": { "type": "object", "properties": { @@ -21657,7 +21709,7 @@ }, "socket_path": { "type": "string", - "description": "mysql socket_path" + "description": "network socket_path" } } }, diff --git a/charts/vald/values.yaml b/charts/vald/values.yaml index 13c8f4765a..c005ed1db6 100644 --- a/charts/vald/values.yaml +++ b/charts/vald/values.yaml @@ -66,11 +66,14 @@ defaults: # defaults.server_config.servers.rest.server.probe_wait_time -- REST server probe wait time probe_wait_time: 3s # @schema {"name": "defaults.server_config.servers.rest.server.network", "type": "string", "enum": ["tcp", "tcp4", "tcp6", "udp", "udp4", "udp6", "unix", "unixgram", "unixpacket"]} - # defaults.server_config.servers.rest.server.network -- mysql network + # defaults.server_config.servers.rest.server.network -- network mode network: tcp # @schema {"name": "defaults.server_config.servers.rest.server.socket_path", "type": "string"} - # defaults.server_config.servers.rest.server.socket_path -- mysql socket_path + # defaults.server_config.servers.rest.server.socket_path -- network socket_path socket_path: "" + # @schema {"name": "defaults.server_config.servers.rest.server.restart", "type": "boolean"} + # defaults.server_config.servers.rest.server.restart + restart: true # @schema {"name": "defaults.server_config.servers.rest.server.http", "type": "object", "anchor": "http_server_config"} http: # @schema {"name": "defaults.server_config.servers.rest.server.http.shutdown_duration", "type": "string"} @@ -143,11 +146,14 @@ defaults: # defaults.server_config.servers.grpc.server.probe_wait_time -- gRPC server probe wait time probe_wait_time: "3s" # @schema {"name": "defaults.server_config.servers.grpc.server.network", "type": "string", "enum": ["tcp", "tcp4", "tcp6", "udp", "udp4", "udp6", "unix", "unixgram", "unixpacket"]} - # defaults.server_config.servers.grpc.server.network -- mysql network + # defaults.server_config.servers.grpc.server.network -- network mode network: tcp # @schema {"name": "defaults.server_config.servers.grpc.server.socket_path", "type": "string"} - # defaults.server_config.servers.grpc.server.socket_path -- mysql socket_path + # defaults.server_config.servers.grpc.server.socket_path -- server socket_path socket_path: "" + # @schema {"name": "defaults.server_config.servers.grpc.server.restart", "type": "boolean"} + # defaults.server_config.servers.grpc.server.restart -- This configuration enables automatic restart of the same configured server when it becomes unhealthy. + restart: true # @schema {"name": "defaults.server_config.servers.grpc.server.grpc", "type": "object", "anchor": "grpc_server_config"} grpc: # @schema {"name": "defaults.server_config.servers.grpc.server.grpc.bidirectional_stream_concurrency", "type": "integer"} @@ -233,9 +239,6 @@ defaults: ip_transparent: false # defaults.server_config.servers.grpc.server.socket_option.ip_recover_destination_addr -- server listen socket option for ip_recover_destination_addr functionality ip_recover_destination_addr: false - # @schema {"name": "defaults.server_config.servers.grpc.server.restart", "type": "boolean"} - # defaults.server_config.servers.grpc.server.restart -- gRPC server restart - restart: true # @schema {"name": "defaults.server_config.healths", "type": "object"} healths: # @schema {"name": "defaults.server_config.healths.startup", "type": "object"} @@ -320,16 +323,19 @@ defaults: server: # @schema {"name": "defaults.server_config.healths.liveness.server.mode", "type": "string"} # defaults.server_config.healths.liveness.server.mode -- liveness server mode - mode: "" + mode: REST # @schema {"name": "defaults.server_config.healths.liveness.server.probe_wait_time", "type": "string"} # defaults.server_config.healths.liveness.server.probe_wait_time -- liveness server probe wait time probe_wait_time: "3s" # @schema {"name": "defaults.server_config.healths.liveness.server.network", "type": "string", "enum": ["tcp", "tcp4", "tcp6", "udp", "udp4", "udp6", "unix", "unixgram", "unixpacket"]} - # defaults.server_config.healths.liveness.server.network -- mysql network + # defaults.server_config.healths.liveness.server.network -- network mode network: tcp # @schema {"name": "defaults.server_config.healths.liveness.server.socket_path", "type": "string"} - # defaults.server_config.healths.liveness.server.socket_path -- mysql socket_path + # defaults.server_config.healths.liveness.server.socket_path -- server socket_path socket_path: "" + # @schema {"name": "defaults.server_config.healths.liveness.server.restart", "type": "boolean"} + # defaults.server_config.healths.liveness.server.restart -- This configuration enables automatic restart of the same configured server when it becomes unhealthy. + restart: true # @schema {"name": "defaults.server_config.healths.liveness.server.http", "type": "object", "alias": "http_server_config"} http: # @schema {"name": "defaults.server_config.healths.liveness.server.http.shutdown_duration", "type": "string"} @@ -416,16 +422,19 @@ defaults: server: # @schema {"name": "defaults.server_config.healths.readiness.server.mode", "type": "string"} # defaults.server_config.healths.readiness.server.mode -- readiness server mode - mode: "" + mode: REST # @schema {"name": "defaults.server_config.healths.readiness.server.probe_wait_time", "type": "string"} # defaults.server_config.healths.readiness.server.probe_wait_time -- readiness server probe wait time probe_wait_time: "3s" # @schema {"name": "defaults.server_config.healths.readiness.server.network", "type": "string", "enum": ["tcp", "tcp4", "tcp6", "udp", "udp4", "udp6", "unix", "unixgram", "unixpacket"]} - # defaults.server_config.healths.readiness.server.network -- mysql network + # defaults.server_config.healths.readiness.server.network -- network mode network: tcp # @schema {"name": "defaults.server_config.healths.readiness.server.socket_path", "type": "string"} - # defaults.server_config.healths.readiness.server.socket_path -- mysql socket_path + # defaults.server_config.healths.readiness.server.socket_path -- server socket_path socket_path: "" + # @schema {"name": "defaults.server_config.healths.readiness.server.restart", "type": "boolean"} + # defaults.server_config.healths.readiness.server.restart -- This configuration enables automatic restart of the same configured server when it becomes unhealthy. + restart: true # @schema {"name": "defaults.server_config.healths.readiness.server.http", "type": "object", "alias": "http_server_config"} http: # @schema {"name": "defaults.server_config.healths.readiness.server.http.shutdown_duration", "type": "string"} @@ -491,11 +500,14 @@ defaults: # defaults.server_config.metrics.pprof.server.probe_wait_time -- pprof server probe wait time probe_wait_time: 3s # @schema {"name": "defaults.server_config.metrics.pprof.server.network", "type": "string", "enum": ["tcp", "tcp4", "tcp6", "udp", "udp4", "udp6", "unix", "unixgram", "unixpacket"]} - # defaults.server_config.metrics.pprof.server.network -- mysql network + # defaults.server_config.metrics.pprof.server.network -- network mode network: tcp # @schema {"name": "defaults.server_config.metrics.pprof.server.socket_path", "type": "string"} - # defaults.server_config.metrics.pprof.server.socket_path -- mysql socket_path + # defaults.server_config.metrics.pprof.server.socket_path -- server socket_path socket_path: "" + # @schema {"name": "defaults.server_config.metrics.pprof.server.restart", "type": "boolean"} + # defaults.server_config.metrics.pprof.server.restart -- This configuration enables automatic restart of the same configured server when it becomes unhealthy. + restart: true # @schema {"name": "defaults.server_config.metrics.pprof.server.http", "type": "object", "alias": "http_server_config"} http: # @schema {"name": "defaults.server_config.metrics.pprof.server.http.shutdown_duration", "type": "string"} diff --git a/dockers/tools/benchmark/job/Dockerfile b/dockers/tools/benchmark/job/Dockerfile index ae44d5fd02..d7ce37b64f 100644 --- a/dockers/tools/benchmark/job/Dockerfile +++ b/dockers/tools/benchmark/job/Dockerfile @@ -58,7 +58,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && mkdir -p ${LIB_DIR} \ - && curl -sOL https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz \ + && curl -fsSLO https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz \ && mkdir -p zlib \ && tar -xzvf zlib-${ZLIB_VERSION}.tar.gz -C zlib --strip-components 1 \ && cd zlib \ @@ -68,7 +68,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && make install \ && cd / \ && mkdir -p hdf5 \ - && curl -sOL https://github.com/HDFGroup/hdf5/releases/download/${HDF5_VERSION}/${HDF5_VERSION}.tar.gz \ + && curl -fsSLO https://github.com/HDFGroup/hdf5/releases/download/${HDF5_VERSION}/${HDF5_VERSION}.tar.gz \ && tar -xzvf ${HDF5_VERSION}.tar.gz -C hdf5 --strip-components 2 \ && cd hdf5 \ && ./configure --enable-build-mode=production --enable-static-exec --disable-shared --prefix=${BUILD_DIR} --with-zlib=${BUILD_DIR}/include,${LIB_DIR} LDFLAGS="-Wl,-rpath,${LIB_DIR}" \ diff --git a/docs/tutorial/get-started.md b/docs/tutorial/get-started.md index 0f5792ff59..5b711215af 100644 --- a/docs/tutorial/get-started.md +++ b/docs/tutorial/get-started.md @@ -35,7 +35,7 @@ If Helm or HDF5 is not installed, please install [Helm](https://helm.sh/docs/int
Installation command for Helm
```bash -curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash +curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash ```
@@ -443,8 +443,8 @@ If you are interested, please refer to [SDKs](../user-guides/sdks.md).
```go _, err := client.Flush(ctx, &payload.Flush_Request{}) if err != nil { - glg.Fatal(err) - } + glg.Fatal(err) + } ``` diff --git a/docs/tutorial/vald-agent-standalone-on-k8s.md b/docs/tutorial/vald-agent-standalone-on-k8s.md index 095b6831e8..669e03f285 100644 --- a/docs/tutorial/vald-agent-standalone-on-k8s.md +++ b/docs/tutorial/vald-agent-standalone-on-k8s.md @@ -36,7 +36,7 @@ If Helm or HDF5 is not installed, please install [Helm](https://helm.sh/docs/int
Installation command for Helm
```bash -curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash +curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash ```
diff --git a/docs/tutorial/vald-multicluster-on-k8s.md b/docs/tutorial/vald-multicluster-on-k8s.md index 2664cdfc88..2da2838bb0 100644 --- a/docs/tutorial/vald-multicluster-on-k8s.md +++ b/docs/tutorial/vald-multicluster-on-k8s.md @@ -29,7 +29,7 @@ If Helm or HDF5 is not installed, please install [Helm](https://helm.sh/docs/int
Installation command for Helm
```bash -curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash +curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash ```
diff --git a/docs/user-guides/deployment.md b/docs/user-guides/deployment.md index 9ec3c70388..68a50f904f 100644 --- a/docs/user-guides/deployment.md +++ b/docs/user-guides/deployment.md @@ -27,7 +27,7 @@ If Helm is not installed, please install [Helm](https://helm.sh/docs/intro/insta
Installation command for Helm
```bash -curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash +curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash ```
diff --git a/example/client/go.mod b/example/client/go.mod index d628a8567b..2c9b6a8e7a 100644 --- a/example/client/go.mod +++ b/example/client/go.mod @@ -1,6 +1,6 @@ module github.com/vdaas/vald/example/client -go 1.22.2 +go 1.22.3 replace ( github.com/envoyproxy/protoc-gen-validate => github.com/envoyproxy/protoc-gen-validate v1.0.4 @@ -8,14 +8,14 @@ replace ( github.com/golang/protobuf => github.com/golang/protobuf v1.5.4 github.com/kpango/glg => github.com/kpango/glg v1.6.15 github.com/pkg/sftp => github.com/pkg/sftp v1.13.6 - golang.org/x/crypto => golang.org/x/crypto v0.21.0 - golang.org/x/net => golang.org/x/net v0.23.0 - golang.org/x/text => golang.org/x/text v0.14.0 - google.golang.org/genproto => google.golang.org/genproto v0.0.0-20240401170217-c3f982113cda - google.golang.org/genproto/googleapis/api => google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda - google.golang.org/genproto/googleapis/rpc => google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda - google.golang.org/grpc => google.golang.org/grpc v1.63.0 - google.golang.org/protobuf => google.golang.org/protobuf v1.33.0 + golang.org/x/crypto => golang.org/x/crypto v0.23.0 + golang.org/x/net => golang.org/x/net v0.25.0 + golang.org/x/text => golang.org/x/text v0.15.0 + google.golang.org/genproto => google.golang.org/genproto v0.0.0-20240506185236-b8a5c65736ae + google.golang.org/genproto/googleapis/api => google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae + google.golang.org/genproto/googleapis/rpc => google.golang.org/genproto/googleapis/rpc v0.0.0-20240506185236-b8a5c65736ae + google.golang.org/grpc => google.golang.org/grpc v1.63.2 + google.golang.org/protobuf => google.golang.org/protobuf v1.34.1 gopkg.in/yaml.v2 => gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 => gopkg.in/yaml.v3 v3.0.1 ) @@ -25,7 +25,7 @@ require ( github.com/kpango/glg v1.6.14 github.com/vdaas/vald-client-go v1.7.12 gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 - google.golang.org/grpc v1.62.1 + google.golang.org/grpc v1.63.2 ) require ( @@ -34,9 +34,9 @@ require ( github.com/kpango/fastime v1.1.9 // indirect github.com/planetscale/vtprotobuf v0.6.0 // indirect golang.org/x/net v0.21.0 // indirect - golang.org/x/sys v0.18.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/sys v0.20.0 // indirect + golang.org/x/text v0.15.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa // indirect - google.golang.org/protobuf v1.33.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect + google.golang.org/protobuf v1.34.1 // indirect ) diff --git a/example/client/go.mod.default b/example/client/go.mod.default index e7ca203e14..eba3aefdcf 100644 --- a/example/client/go.mod.default +++ b/example/client/go.mod.default @@ -1,6 +1,6 @@ module github.com/vdaas/vald/example/client -go 1.22.2 +go 1.22.3 replace ( github.com/envoyproxy/protoc-gen-validate => github.com/envoyproxy/protoc-gen-validate latest diff --git a/example/client/go.sum b/example/client/go.sum index 48c74c7b4d..c526bb0895 100644 --- a/example/client/go.sum +++ b/example/client/go.sum @@ -24,20 +24,20 @@ go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 h1:vJpL69PeUullhJyKtTjHjENEmZU3BkO4e+fod7nKzgM= gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946/go.mod h1:BQUWDHIAygjdt1HnUPQ0eWqLN2n5FwJycrpYUVUOx2I= -google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda h1:b6F6WIV4xHHD0FA4oIyzU6mHWg2WI2X1RBehwa5QN38= -google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda/go.mod h1:AHcE/gZH76Bk/ROZhQphlRoWo5xKDEtz3eVEO1LfA8c= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda h1:LI5DOvAxUPMv/50agcLLoo+AdWc1irS9Rzz4vPuD1V4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/grpc v1.63.0 h1:WjKe+dnvABXyPJMD7KDNLxtoGk5tgk+YFWN6cBWjZE8= -google.golang.org/grpc v1.63.0/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae h1:AH34z6WAGVNkllnKs5raNq3yRq93VnjBG6rpfub/jYk= +google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae/go.mod h1:FfiGhwUm6CJviekPrc0oJ+7h29e+DmWU6UtjX0ZvI7Y= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240506185236-b8a5c65736ae h1:c55+MER4zkBS14uJhSZMGGmya0yJx5iHV4x/fpOSNRk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240506185236-b8a5c65736ae/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= +google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= +google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= diff --git a/go.mod b/go.mod index c589aa1d23..92a8a9826a 100644 --- a/go.mod +++ b/go.mod @@ -1,21 +1,21 @@ module github.com/vdaas/vald -go 1.22.2 +go 1.22.3 replace ( cloud.google.com/go => cloud.google.com/go v0.112.2 - cloud.google.com/go/bigquery => cloud.google.com/go/bigquery v1.60.0 - cloud.google.com/go/compute => cloud.google.com/go/compute v1.25.1 - cloud.google.com/go/datastore => cloud.google.com/go/datastore v1.15.0 + cloud.google.com/go/bigquery => cloud.google.com/go/bigquery v1.61.0 + cloud.google.com/go/compute => cloud.google.com/go/compute v1.26.0 + cloud.google.com/go/datastore => cloud.google.com/go/datastore v1.16.0 cloud.google.com/go/firestore => cloud.google.com/go/firestore v1.15.0 - cloud.google.com/go/iam => cloud.google.com/go/iam v1.1.7 - cloud.google.com/go/kms => cloud.google.com/go/kms v1.15.8 - cloud.google.com/go/monitoring => cloud.google.com/go/monitoring v1.18.1 - cloud.google.com/go/pubsub => cloud.google.com/go/pubsub v1.37.0 - cloud.google.com/go/secretmanager => cloud.google.com/go/secretmanager v1.12.0 + cloud.google.com/go/iam => cloud.google.com/go/iam v1.1.8 + cloud.google.com/go/kms => cloud.google.com/go/kms v1.15.9 + cloud.google.com/go/monitoring => cloud.google.com/go/monitoring v1.19.0 + cloud.google.com/go/pubsub => cloud.google.com/go/pubsub v1.38.0 + cloud.google.com/go/secretmanager => cloud.google.com/go/secretmanager v1.13.0 cloud.google.com/go/storage => cloud.google.com/go/storage v1.40.0 - cloud.google.com/go/trace => cloud.google.com/go/trace v1.10.6 - code.cloudfoundry.org/bytefmt => code.cloudfoundry.org/bytefmt v0.0.0-20240403132358-0898aa260181 + cloud.google.com/go/trace => cloud.google.com/go/trace v1.10.7 + code.cloudfoundry.org/bytefmt => code.cloudfoundry.org/bytefmt v0.0.0-20240507165102-251b29179075 contrib.go.opencensus.io/exporter/aws => contrib.go.opencensus.io/exporter/aws v0.0.0-20230502192102-15967c811cec contrib.go.opencensus.io/exporter/prometheus => contrib.go.opencensus.io/exporter/prometheus v0.4.2 contrib.go.opencensus.io/integrations/ocsql => contrib.go.opencensus.io/integrations/ocsql v0.1.7 @@ -23,8 +23,8 @@ replace ( github.com/Azure/azure-amqp-common-go/v3 => github.com/Azure/azure-amqp-common-go/v3 v3.2.3 github.com/Azure/azure-sdk-for-go => github.com/Azure/azure-sdk-for-go v68.0.0+incompatible github.com/Azure/azure-sdk-for-go/sdk/azcore => github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 - github.com/Azure/azure-sdk-for-go/sdk/azidentity => github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1 - github.com/Azure/azure-sdk-for-go/sdk/internal => github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 + github.com/Azure/azure-sdk-for-go/sdk/azidentity => github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2 + github.com/Azure/azure-sdk-for-go/sdk/internal => github.com/Azure/azure-sdk-for-go/sdk/internal v1.7.0 github.com/Azure/go-amqp => github.com/Azure/go-amqp v1.0.5 github.com/Azure/go-autorest => github.com/Azure/go-autorest v14.2.1-0.20240104002855-4c0e21ca2bbb+incompatible github.com/Azure/go-autorest/autorest => github.com/Azure/go-autorest/autorest v0.11.30-0.20240104002855-4c0e21ca2bbb @@ -36,7 +36,7 @@ replace ( github.com/Azure/go-autorest/tracing => github.com/Azure/go-autorest/tracing v0.6.1-0.20240104002855-4c0e21ca2bbb github.com/BurntSushi/toml => github.com/BurntSushi/toml v1.3.2 github.com/DATA-DOG/go-sqlmock => github.com/DATA-DOG/go-sqlmock v1.5.2 - github.com/GoogleCloudPlatform/cloudsql-proxy => github.com/GoogleCloudPlatform/cloudsql-proxy v1.34.1 + github.com/GoogleCloudPlatform/cloudsql-proxy => github.com/GoogleCloudPlatform/cloudsql-proxy v1.35.1 github.com/Masterminds/semver/v3 => github.com/Masterminds/semver/v3 v3.2.1 github.com/ajstarks/deck => github.com/ajstarks/deck v0.0.0-20240329135147-d1f085d9d01e github.com/ajstarks/deck/generate => github.com/ajstarks/deck/generate v0.0.0-20240329135147-d1f085d9d01e @@ -44,13 +44,13 @@ replace ( github.com/akrylysov/pogreb => github.com/akrylysov/pogreb v0.10.2 github.com/antihax/optional => github.com/antihax/optional v1.0.0 github.com/armon/go-socks5 => github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 - github.com/aws/aws-sdk-go => github.com/aws/aws-sdk-go v1.51.14 + github.com/aws/aws-sdk-go => github.com/aws/aws-sdk-go v1.52.4 github.com/aws/aws-sdk-go-v2 => github.com/aws/aws-sdk-go-v2 v1.26.1 github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 - github.com/aws/aws-sdk-go-v2/config => github.com/aws/aws-sdk-go-v2/config v1.27.10 - github.com/aws/aws-sdk-go-v2/credentials => github.com/aws/aws-sdk-go-v2/credentials v1.17.10 + github.com/aws/aws-sdk-go-v2/config => github.com/aws/aws-sdk-go-v2/config v1.27.11 + github.com/aws/aws-sdk-go-v2/credentials => github.com/aws/aws-sdk-go-v2/credentials v1.17.11 github.com/aws/aws-sdk-go-v2/feature/ec2/imds => github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 - github.com/aws/aws-sdk-go-v2/feature/s3/manager => github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.14 + github.com/aws/aws-sdk-go-v2/feature/s3/manager => github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 github.com/aws/aws-sdk-go-v2/internal/configsources => github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 => github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 github.com/aws/aws-sdk-go-v2/internal/ini => github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 @@ -58,13 +58,13 @@ replace ( github.com/aws/aws-sdk-go-v2/service/internal/checksum => github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url => github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 github.com/aws/aws-sdk-go-v2/service/internal/s3shared => github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 - github.com/aws/aws-sdk-go-v2/service/kms => github.com/aws/aws-sdk-go-v2/service/kms v1.30.1 + github.com/aws/aws-sdk-go-v2/service/kms => github.com/aws/aws-sdk-go-v2/service/kms v1.31.0 github.com/aws/aws-sdk-go-v2/service/s3 => github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 github.com/aws/aws-sdk-go-v2/service/secretsmanager => github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.28.6 github.com/aws/aws-sdk-go-v2/service/sns => github.com/aws/aws-sdk-go-v2/service/sns v1.29.4 github.com/aws/aws-sdk-go-v2/service/sqs => github.com/aws/aws-sdk-go-v2/service/sqs v1.31.4 - github.com/aws/aws-sdk-go-v2/service/ssm => github.com/aws/aws-sdk-go-v2/service/ssm v1.49.5 - github.com/aws/aws-sdk-go-v2/service/sso => github.com/aws/aws-sdk-go-v2/service/sso v1.20.4 + github.com/aws/aws-sdk-go-v2/service/ssm => github.com/aws/aws-sdk-go-v2/service/ssm v1.50.0 + github.com/aws/aws-sdk-go-v2/service/sso => github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 github.com/aws/aws-sdk-go-v2/service/sts => github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 github.com/aws/smithy-go => github.com/aws/smithy-go v1.20.2 github.com/benbjohnson/clock => github.com/benbjohnson/clock v1.3.5 @@ -74,12 +74,12 @@ replace ( github.com/buger/jsonparser => github.com/buger/jsonparser v1.1.1 github.com/cenkalti/backoff/v4 => github.com/cenkalti/backoff/v4 v4.3.0 github.com/census-instrumentation/opencensus-proto => github.com/census-instrumentation/opencensus-proto v0.4.1 - github.com/cespare/xxhash/v2 => github.com/cespare/xxhash/v2 v2.2.0 + github.com/cespare/xxhash/v2 => github.com/cespare/xxhash/v2 v2.3.0 github.com/chzyer/logex => github.com/chzyer/logex v1.2.1 github.com/chzyer/readline => github.com/chzyer/readline v1.5.1 github.com/chzyer/test => github.com/chzyer/test v1.0.0 github.com/cncf/udpa/go => github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe - github.com/cncf/xds/go => github.com/cncf/xds/go v0.0.0-20240329184929-0c46c01016dc + github.com/cncf/xds/go => github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b github.com/cockroachdb/apd => github.com/cockroachdb/apd v1.1.0 github.com/coreos/go-systemd/v22 => github.com/coreos/go-systemd/v22 v22.5.0 github.com/cpuguy83/go-md2man/v2 => github.com/cpuguy83/go-md2man/v2 v2.0.4 @@ -100,14 +100,14 @@ replace ( github.com/frankban/quicktest => github.com/frankban/quicktest v1.14.6 github.com/fsnotify/fsnotify => github.com/fsnotify/fsnotify v1.7.0 github.com/gin-contrib/sse => github.com/gin-contrib/sse v0.1.0 - github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.9.1 + github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.10.0 github.com/go-errors/errors => github.com/go-errors/errors v1.5.1 github.com/go-fonts/dejavu => github.com/go-fonts/dejavu v0.3.3 github.com/go-fonts/latin-modern => github.com/go-fonts/latin-modern v0.3.2 github.com/go-fonts/liberation => github.com/go-fonts/liberation v0.3.2 github.com/go-fonts/stix => github.com/go-fonts/stix v0.2.2 github.com/go-gl/gl => github.com/go-gl/gl v0.0.0-20231021071112-07e5d0ea2e71 - github.com/go-gl/glfw/v3.3/glfw => github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240307211618-a69d953ea142 + github.com/go-gl/glfw/v3.3/glfw => github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240506104042-037f3cc74f2a github.com/go-kit/log => github.com/go-kit/log v0.2.1 github.com/go-latex/latex => github.com/go-latex/latex v0.0.0-20231108140139-5c1ce85aa4ea github.com/go-logfmt/logfmt => github.com/go-logfmt/logfmt v0.6.0 @@ -121,7 +121,7 @@ replace ( github.com/go-playground/assert/v2 => github.com/go-playground/assert/v2 v2.2.0 github.com/go-playground/locales => github.com/go-playground/locales v0.14.1 github.com/go-playground/universal-translator => github.com/go-playground/universal-translator v0.18.1 - github.com/go-playground/validator/v10 => github.com/go-playground/validator/v10 v10.19.0 + github.com/go-playground/validator/v10 => github.com/go-playground/validator/v10 v10.20.0 github.com/go-redis/redis/v8 => github.com/go-redis/redis/v8 v8.11.5 github.com/go-sql-driver/mysql => github.com/go-sql-driver/mysql v1.8.1 github.com/go-task/slim-sprig => github.com/go-task/slim-sprig v2.20.0+incompatible @@ -130,7 +130,7 @@ replace ( github.com/go-toolsmith/strparse => github.com/go-toolsmith/strparse v1.1.0 github.com/gobwas/httphead => github.com/gobwas/httphead v0.1.0 github.com/gobwas/pool => github.com/gobwas/pool v0.2.1 - github.com/gobwas/ws => github.com/gobwas/ws v1.3.2 + github.com/gobwas/ws => github.com/gobwas/ws v1.4.0 github.com/goccy/go-json => github.com/goccy/go-json v0.10.2 github.com/gocql/gocql => github.com/gocql/gocql v1.6.0 github.com/gocraft/dbr/v2 => github.com/gocraft/dbr/v2 v2.7.6 @@ -141,7 +141,7 @@ replace ( github.com/golang-sql/civil => github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 github.com/golang-sql/sqlexp => github.com/golang-sql/sqlexp v0.1.0 github.com/golang/freetype => github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 - github.com/golang/glog => github.com/golang/glog v1.2.0 + github.com/golang/glog => github.com/golang/glog v1.2.1 github.com/golang/groupcache => github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/golang/mock => github.com/golang/mock v1.6.0 github.com/golang/protobuf => github.com/golang/protobuf v1.5.4 @@ -153,13 +153,13 @@ replace ( github.com/google/go-replayers/httpreplay => github.com/google/go-replayers/httpreplay v1.2.0 github.com/google/gofuzz => github.com/google/gofuzz v1.2.0 github.com/google/martian => github.com/google/martian v2.1.0+incompatible - github.com/google/martian/v3 => github.com/google/martian/v3 v3.3.2 - github.com/google/pprof => github.com/google/pprof v0.0.0-20240402174815-29b9bb013b0f + github.com/google/martian/v3 => github.com/google/martian/v3 v3.3.3 + github.com/google/pprof => github.com/google/pprof v0.0.0-20240507183855-6f11f98ebb1c github.com/google/shlex => github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 github.com/google/subcommands => github.com/google/subcommands v1.2.0 github.com/google/uuid => github.com/google/uuid v1.6.0 github.com/google/wire => github.com/google/wire v0.6.0 - github.com/googleapis/gax-go/v2 => github.com/googleapis/gax-go/v2 v2.12.3 + github.com/googleapis/gax-go/v2 => github.com/googleapis/gax-go/v2 v2.12.4 github.com/gorilla/mux => github.com/gorilla/mux v1.8.1 github.com/gorilla/websocket => github.com/gorilla/websocket v1.5.1 github.com/gregjones/httpcache => github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 @@ -184,14 +184,14 @@ replace ( github.com/jessevdk/go-flags => github.com/jessevdk/go-flags v1.5.0 github.com/jmespath/go-jmespath => github.com/jmespath/go-jmespath v0.4.0 github.com/jmespath/go-jmespath/internal/testify => github.com/jmespath/go-jmespath/internal/testify v1.5.1 - github.com/jmoiron/sqlx => github.com/jmoiron/sqlx v1.3.5 + github.com/jmoiron/sqlx => github.com/jmoiron/sqlx v1.4.0 github.com/joho/godotenv => github.com/joho/godotenv v1.5.1 github.com/josharian/intern => github.com/josharian/intern v1.0.0 github.com/json-iterator/go => github.com/json-iterator/go v1.1.12 github.com/jstemmer/go-junit-report => github.com/jstemmer/go-junit-report v1.0.0 github.com/kisielk/errcheck => github.com/kisielk/errcheck v1.7.0 github.com/kisielk/gotool => github.com/kisielk/gotool v1.0.0 - github.com/klauspost/compress => github.com/klauspost/compress v1.17.8-0.20240402110209-3f77d8c9ab20 + github.com/klauspost/compress => github.com/klauspost/compress v1.17.9-0.20240412100233-8bd3916ec655 github.com/klauspost/cpuid/v2 => github.com/klauspost/cpuid/v2 v2.2.7 github.com/kpango/fastime => github.com/kpango/fastime v1.1.9 github.com/kpango/fuid => github.com/kpango/fuid v0.0.0-20221203053508-503b5ad89aa1 @@ -224,8 +224,8 @@ replace ( github.com/niemeyer/pretty => github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e github.com/nxadm/tail => github.com/nxadm/tail v1.4.11 github.com/onsi/ginkgo => github.com/onsi/ginkgo v1.16.5 - github.com/onsi/ginkgo/v2 => github.com/onsi/ginkgo/v2 v2.17.1 - github.com/onsi/gomega => github.com/onsi/gomega v1.32.0 + github.com/onsi/ginkgo/v2 => github.com/onsi/ginkgo/v2 v2.17.3 + github.com/onsi/gomega => github.com/onsi/gomega v1.33.1 github.com/peterbourgon/diskv => github.com/peterbourgon/diskv v2.0.1+incompatible github.com/phpdave11/gofpdf => github.com/phpdave11/gofpdf v1.4.2 github.com/phpdave11/gofpdi => github.com/phpdave11/gofpdi v1.0.13 @@ -238,8 +238,8 @@ replace ( github.com/prashantv/gostub => github.com/prashantv/gostub v1.1.0 github.com/prometheus/client_golang => github.com/prometheus/client_golang v1.19.0 github.com/prometheus/client_model => github.com/prometheus/client_model v0.6.1 - github.com/prometheus/common => github.com/prometheus/common v0.52.2 - github.com/prometheus/procfs => github.com/prometheus/procfs v0.13.0 + github.com/prometheus/common => github.com/prometheus/common v0.53.0 + github.com/prometheus/procfs => github.com/prometheus/procfs v0.14.0 github.com/prometheus/prometheus => github.com/prometheus/prometheus v1.99.0 github.com/quasilyte/go-ruleguard => github.com/quasilyte/go-ruleguard v0.4.2 github.com/quasilyte/go-ruleguard/dsl => github.com/quasilyte/go-ruleguard/dsl v0.3.22 @@ -255,7 +255,7 @@ replace ( github.com/scylladb/go-reflectx => github.com/scylladb/go-reflectx v1.0.1 github.com/scylladb/gocqlx => github.com/scylladb/gocqlx v1.5.0 github.com/sergi/go-diff => github.com/sergi/go-diff v1.3.1 - github.com/shopspring/decimal => github.com/shopspring/decimal v1.3.1 + github.com/shopspring/decimal => github.com/shopspring/decimal v1.4.0 github.com/shurcooL/httpfs => github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c github.com/shurcooL/vfsgen => github.com/shurcooL/vfsgen v0.0.0-20230704071429-0000e147ea92 github.com/sirupsen/logrus => github.com/sirupsen/logrus v1.9.3 @@ -272,55 +272,55 @@ replace ( github.com/xlab/treeprint => github.com/xlab/treeprint v1.2.0 github.com/zeebo/assert => github.com/zeebo/assert v1.3.1 github.com/zeebo/xxh3 => github.com/zeebo/xxh3 v1.0.2 - go.etcd.io/bbolt => go.etcd.io/bbolt v1.3.9 + go.etcd.io/bbolt => go.etcd.io/bbolt v1.3.10 go.opencensus.io => go.opencensus.io v0.24.0 - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 - go.opentelemetry.io/otel => go.opentelemetry.io/otel v1.24.0 + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.51.0 + go.opentelemetry.io/otel => go.opentelemetry.io/otel v1.26.0 go.opentelemetry.io/otel/exporters/otlp/internal/retry => go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.17.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric => go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.43.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc => go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.24.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace => go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc => go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 - go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.24.0 - go.opentelemetry.io/otel/sdk => go.opentelemetry.io/otel/sdk v1.24.0 - go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v1.24.0 - go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v1.24.0 - go.opentelemetry.io/proto/otlp => go.opentelemetry.io/proto/otlp v1.1.0 - go.starlark.net => go.starlark.net v0.0.0-20240329153429-e6e8e7ce1b7a + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc => go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.26.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace => go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.26.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc => go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.26.0 + go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.26.0 + go.opentelemetry.io/otel/sdk => go.opentelemetry.io/otel/sdk v1.26.0 + go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v1.26.0 + go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v1.26.0 + go.opentelemetry.io/proto/otlp => go.opentelemetry.io/proto/otlp v1.2.0 + go.starlark.net => go.starlark.net v0.0.0-20240507195648-35fe9f26b4bc go.uber.org/atomic => go.uber.org/atomic v1.11.0 go.uber.org/automaxprocs => go.uber.org/automaxprocs v1.5.3 go.uber.org/goleak => go.uber.org/goleak v1.3.0 go.uber.org/multierr => go.uber.org/multierr v1.11.0 go.uber.org/zap => go.uber.org/zap v1.27.0 gocloud.dev => gocloud.dev v0.37.0 - golang.org/x/crypto => golang.org/x/crypto v0.21.0 - golang.org/x/exp => golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 - golang.org/x/exp/typeparams => golang.org/x/exp/typeparams v0.0.0-20240325151524-a685a6edb6d8 - golang.org/x/image => golang.org/x/image v0.15.0 + golang.org/x/crypto => golang.org/x/crypto v0.23.0 + golang.org/x/exp => golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 + golang.org/x/exp/typeparams => golang.org/x/exp/typeparams v0.0.0-20240506185415-9bf2ced13842 + golang.org/x/image => golang.org/x/image v0.16.0 golang.org/x/lint => golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 - golang.org/x/mobile => golang.org/x/mobile v0.0.0-20240401224555-755f4ef71bbd - golang.org/x/mod => golang.org/x/mod v0.16.0 - golang.org/x/net => golang.org/x/net v0.23.0 - golang.org/x/oauth2 => golang.org/x/oauth2 v0.18.0 - golang.org/x/sync => golang.org/x/sync v0.6.0 - golang.org/x/sys => golang.org/x/sys v0.18.0 - golang.org/x/term => golang.org/x/term v0.18.0 - golang.org/x/text => golang.org/x/text v0.14.0 + golang.org/x/mobile => golang.org/x/mobile v0.0.0-20240506190922-a1a533f289d3 + golang.org/x/mod => golang.org/x/mod v0.17.0 + golang.org/x/net => golang.org/x/net v0.25.0 + golang.org/x/oauth2 => golang.org/x/oauth2 v0.20.0 + golang.org/x/sync => golang.org/x/sync v0.7.0 + golang.org/x/sys => golang.org/x/sys v0.20.0 + golang.org/x/term => golang.org/x/term v0.20.0 + golang.org/x/text => golang.org/x/text v0.15.0 golang.org/x/time => golang.org/x/time v0.5.0 - golang.org/x/tools => golang.org/x/tools v0.19.0 + golang.org/x/tools => golang.org/x/tools v0.21.0 golang.org/x/xerrors => golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 gomodules.xyz/jsonpatch/v2 => gomodules.xyz/jsonpatch/v2 v2.4.0 gonum.org/v1/gonum => gonum.org/v1/gonum v0.15.0 gonum.org/v1/hdf5 => gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 gonum.org/v1/plot => gonum.org/v1/plot v0.14.0 - google.golang.org/api => google.golang.org/api v0.172.0 + google.golang.org/api => google.golang.org/api v0.178.0 google.golang.org/appengine => google.golang.org/appengine v1.6.8 - google.golang.org/genproto => google.golang.org/genproto v0.0.0-20240401170217-c3f982113cda - google.golang.org/genproto/googleapis/api => google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda - google.golang.org/genproto/googleapis/rpc => google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda - google.golang.org/grpc => google.golang.org/grpc v1.63.0 + google.golang.org/genproto => google.golang.org/genproto v0.0.0-20240506185236-b8a5c65736ae + google.golang.org/genproto/googleapis/api => google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae + google.golang.org/genproto/googleapis/rpc => google.golang.org/genproto/googleapis/rpc v0.0.0-20240506185236-b8a5c65736ae + google.golang.org/grpc => google.golang.org/grpc v1.63.2 google.golang.org/grpc/cmd/protoc-gen-go-grpc => google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 - google.golang.org/protobuf => google.golang.org/protobuf v1.33.0 + google.golang.org/protobuf => google.golang.org/protobuf v1.34.1 gopkg.in/check.v1 => gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c gopkg.in/inconshreveable/log15.v2 => gopkg.in/inconshreveable/log15.v2 v2.16.0 gopkg.in/inf.v0 => gopkg.in/inf.v0 v0.9.1 @@ -328,19 +328,19 @@ replace ( gopkg.in/yaml.v2 => gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 => gopkg.in/yaml.v3 v3.0.1 honnef.co/go/tools => honnef.co/go/tools v0.4.7 - k8s.io/api => k8s.io/api v0.29.3 - k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.29.3 - k8s.io/apimachinery => k8s.io/apimachinery v0.29.3 - k8s.io/cli-runtime => k8s.io/cli-runtime v0.29.3 - k8s.io/client-go => k8s.io/client-go v0.29.3 - k8s.io/component-base => k8s.io/component-base v0.29.3 + k8s.io/api => k8s.io/api v0.30.0 + k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.30.0 + k8s.io/apimachinery => k8s.io/apimachinery v0.30.0 + k8s.io/cli-runtime => k8s.io/cli-runtime v0.30.0 + k8s.io/client-go => k8s.io/client-go v0.30.0 + k8s.io/component-base => k8s.io/component-base v0.30.0 k8s.io/klog/v2 => k8s.io/klog/v2 v2.120.1 - k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20240403164606-bc84c2ddaf99 - k8s.io/kubernetes => k8s.io/kubernetes v0.29.3 - k8s.io/metrics => k8s.io/metrics v0.29.3 - nhooyr.io/websocket => nhooyr.io/websocket v1.8.10 + k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f + k8s.io/kubernetes => k8s.io/kubernetes v0.30.0 + k8s.io/metrics => k8s.io/metrics v0.30.0 + nhooyr.io/websocket => nhooyr.io/websocket v1.8.11 rsc.io/pdf => rsc.io/pdf v0.1.1 - sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.17.2 + sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.18.2 sigs.k8s.io/json => sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd sigs.k8s.io/kustomize => sigs.k8s.io/kustomize v2.0.3+incompatible sigs.k8s.io/structured-merge-diff/v4 => sigs.k8s.io/structured-merge-diff/v4 v4.4.1 @@ -348,11 +348,12 @@ replace ( ) require ( - buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240401165935-b983156c5e99.1 - cloud.google.com/go/storage v1.39.1 + buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.1-20240401165935-b983156c5e99.1 + cloud.google.com/go/storage v1.40.0 code.cloudfoundry.org/bytefmt v0.0.0-20190710193110-1eb035ffe2b6 github.com/akrylysov/pogreb v0.0.0-00010101000000-000000000000 github.com/aws/aws-sdk-go v1.50.36 + github.com/felixge/fgprof v0.9.4 github.com/fsnotify/fsnotify v1.7.0 github.com/go-redis/redis/v8 v8.0.0-00010101000000-000000000000 github.com/go-sql-driver/mysql v1.8.0 @@ -380,64 +381,63 @@ require ( github.com/zeebo/xxh3 v1.0.2 go.etcd.io/bbolt v1.3.8 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 - go.opentelemetry.io/otel v1.24.0 + go.opentelemetry.io/otel v1.26.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.0.0-00010101000000-000000000000 - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.26.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 - go.opentelemetry.io/otel/metric v1.24.0 - go.opentelemetry.io/otel/sdk v1.24.0 - go.opentelemetry.io/otel/sdk/metric v1.24.0 - go.opentelemetry.io/otel/trace v1.24.0 + go.opentelemetry.io/otel/metric v1.26.0 + go.opentelemetry.io/otel/sdk v1.26.0 + go.opentelemetry.io/otel/sdk/metric v1.26.0 + go.opentelemetry.io/otel/trace v1.26.0 go.uber.org/automaxprocs v0.0.0-00010101000000-000000000000 go.uber.org/goleak v1.3.0 go.uber.org/ratelimit v0.3.1 go.uber.org/zap v1.27.0 gocloud.dev v0.0.0-00010101000000-000000000000 - golang.org/x/net v0.22.0 - golang.org/x/oauth2 v0.18.0 - golang.org/x/sync v0.6.0 - golang.org/x/sys v0.18.0 - golang.org/x/text v0.14.0 + golang.org/x/net v0.25.0 + golang.org/x/oauth2 v0.20.0 + golang.org/x/sync v0.7.0 + golang.org/x/sys v0.20.0 + golang.org/x/text v0.15.0 golang.org/x/time v0.5.0 - golang.org/x/tools v0.19.0 + golang.org/x/tools v0.21.0 gonum.org/v1/hdf5 v0.0.0-00010101000000-000000000000 gonum.org/v1/plot v0.14.0 - google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa - google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa - google.golang.org/grpc v1.62.1 - google.golang.org/protobuf v1.33.0 + google.golang.org/genproto/googleapis/api v0.0.0-20240429193739-8cf5692501f6 + google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 + google.golang.org/grpc v1.63.2 + google.golang.org/protobuf v1.34.1 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.29.3 - k8s.io/apimachinery v0.29.3 + k8s.io/api v0.30.0 + k8s.io/apimachinery v0.30.0 k8s.io/cli-runtime v0.0.0-00010101000000-000000000000 - k8s.io/client-go v0.29.3 + k8s.io/client-go v0.30.0 k8s.io/metrics v0.0.0-00010101000000-000000000000 - k8s.io/utils v0.0.0-20240310230437-4693a0247e57 + k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 sigs.k8s.io/controller-runtime v0.0.0-00010101000000-000000000000 - sigs.k8s.io/yaml v1.4.0 + sigs.k8s.io/yaml v1.3.0 ) require ( cloud.google.com/go v0.112.2 // indirect - cloud.google.com/go/compute v1.25.1 // indirect - cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.7 // indirect + cloud.google.com/go/auth v0.3.0 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect + cloud.google.com/go/compute/metadata v0.3.0 // indirect + cloud.google.com/go/iam v1.1.8 // indirect filippo.io/edwards25519 v1.1.0 // indirect git.sr.ht/~sbinet/gg v0.5.0 // indirect github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect - github.com/Masterminds/goutils v1.1.1 // indirect - github.com/Masterminds/semver v1.5.0 // indirect github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b // indirect github.com/benbjohnson/clock v1.3.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/campoy/embedmd v1.0.0 // indirect - github.com/cenkalti/backoff/v4 v4.2.1 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect - github.com/evanphx/json-patch/v5 v5.8.0 // indirect + github.com/evanphx/json-patch/v5 v5.9.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-errors/errors v1.4.2 // indirect github.com/go-fonts/liberation v0.3.2 // indirect @@ -459,15 +459,16 @@ require ( github.com/google/btree v1.0.1 // indirect github.com/google/gnostic-models v0.6.8 // indirect github.com/google/gofuzz v1.2.0 // indirect + github.com/google/pprof v0.0.0-20240430035430-e4905b036c4e // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/wire v0.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.3 // indirect + github.com/googleapis/gax-go/v2 v2.12.4 // indirect + github.com/gorilla/websocket v1.5.0 // indirect github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 // indirect github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect - github.com/huandu/xstrings v1.4.0 // indirect github.com/imdario/mergo v0.3.6 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect @@ -499,26 +500,24 @@ require ( github.com/xlab/treeprint v1.2.0 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/proto/otlp v1.1.0 // indirect + go.opentelemetry.io/proto/otlp v1.2.0 // indirect go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.21.0 // indirect + golang.org/x/crypto v0.23.0 // indirect golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect golang.org/x/exp/typeparams v0.0.0-20240213143201-ec583247a57a // indirect - golang.org/x/image v0.15.0 // indirect - golang.org/x/mod v0.16.0 // indirect - golang.org/x/term v0.18.0 // indirect + golang.org/x/image v0.16.0 // indirect + golang.org/x/mod v0.17.0 // indirect + golang.org/x/term v0.20.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect - google.golang.org/api v0.170.0 // indirect - google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect + google.golang.org/api v0.177.0 // indirect + google.golang.org/genproto v0.0.0-20240401170217-c3f982113cda // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.29.0 // indirect - k8s.io/component-base v0.29.3 // indirect + k8s.io/apiextensions-apiserver v0.30.0 // indirect k8s.io/klog/v2 v2.120.1 // indirect - k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect + k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 // indirect sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 // indirect diff --git a/go.sum b/go.sum index 5ac06747f2..268541e1d4 100644 --- a/go.sum +++ b/go.sum @@ -1,142 +1,149 @@ -buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240401165935-b983156c5e99.1 h1:2IGhRovxlsOIQgx2ekZWo4wTPAYpck41+18ICxs37is= -buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240401165935-b983156c5e99.1/go.mod h1:Tgn5bgL220vkFOI0KPStlcClPeOJzAv4uT+V8JXGUnw= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.1-20240401165935-b983156c5e99.1 h1:npqzxtoNbSdWs7XBDzqvqA1ANrQQGc8QpN0zFq9sVHA= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.1-20240401165935-b983156c5e99.1/go.mod h1:XF+P8+RmfdufmIYpGUC+6bF7S+IlmHDEnCrO3OXaUAQ= cel.dev/expr v0.15.0 h1:O1jzfJCQBfL5BFoYktaxwIhuttaQPsVWerH9/EEKx0w= cel.dev/expr v0.15.0/go.mod h1:TRSuuV7DlVCE/uwv5QbAiW/v8l5O8C4eEPHeu7gf7Sg= cloud.google.com/go v0.112.2 h1:ZaGT6LiG7dBzi6zNOvVZwacaXlmf3lRqnC4DQzqyRQw= cloud.google.com/go v0.112.2/go.mod h1:iEqjp//KquGIJV/m+Pk3xecgKNhV+ry+vVTsy4TbDms= -cloud.google.com/go/accessapproval v1.7.6/go.mod h1:bdDCS3iLSLhlK3pu8lJClaeIVghSpTLGChl1Ihr9Fsc= -cloud.google.com/go/accesscontextmanager v1.8.5/go.mod h1:TInEhcZ7V9jptGNqN3EzZ5XMhT6ijWxTGjzyETwmL0Q= +cloud.google.com/go/accessapproval v1.7.7/go.mod h1:10ZDPYiTm8tgxuMPid8s2DL93BfCt6xBh/Vg0Xd8pU0= cloud.google.com/go/accesscontextmanager v1.8.6/go.mod h1:rMC0Z8pCe/JR6yQSksprDc6swNKjMEvkfCbaesh+OS0= -cloud.google.com/go/aiplatform v1.66.0/go.mod h1:bPQS0UjaXaTAq57UgP3XWDCtYFOIbXXpkMsl6uP4JAc= -cloud.google.com/go/analytics v0.23.1/go.mod h1:N+piBUJo0RfnVTa/u8E/d31jAxxQaHlnoJfUx0dechM= -cloud.google.com/go/apigateway v1.6.6/go.mod h1:bFH3EwOkeEC+31wVxKNuiadhk2xa7y9gJ3rK4Mctq6o= -cloud.google.com/go/apigeeconnect v1.6.6/go.mod h1:j8V/Xj51tEUl/cWnqwlolPvCpHj5OvgKrHEGfmYXG9Y= -cloud.google.com/go/apigeeregistry v0.8.4/go.mod h1:oA6iN7olOol8Rc28n1qd2q0LSD3ro2pdf/1l/y8SK4E= -cloud.google.com/go/appengine v1.8.6/go.mod h1:J0Vk696gUey9gbmTub3Qe4NYPy6qulXMkfwcQjadFnM= -cloud.google.com/go/area120 v0.8.6/go.mod h1:sjEk+S9QiyDt1fxo75TVut560XZLnuD9lMtps0qQSH0= -cloud.google.com/go/artifactregistry v1.14.8/go.mod h1:1UlSXh6sTXYrIT4kMO21AE1IDlMFemlZuX6QS+JXW7I= -cloud.google.com/go/asset v1.18.1/go.mod h1:QXivw0mVqwrhZyuX6iqFbyfCdzYE9AFCJVG47Eh5dMM= -cloud.google.com/go/assuredworkloads v1.11.6/go.mod h1:1dlhWKocQorGYkspt+scx11kQCI9qVHOi1Au6Rw9srg= -cloud.google.com/go/automl v1.13.6/go.mod h1:/0VtkKis6KhFJuPzi45e0E+e9AdQE09SNieChjJqU18= -cloud.google.com/go/baremetalsolution v1.2.5/go.mod h1:CImy7oNMC/7vLV1Ig68Og6cgLWuVaghDrm+sAhYSSxA= -cloud.google.com/go/batch v1.8.3/go.mod h1:mnDskkuz1h+6i/ra8IMhTf8HwG8GOswSRKPJdAOgSbE= -cloud.google.com/go/beyondcorp v1.0.5/go.mod h1:lFRWb7i/w4QBFW3MbM/P9wX15eLjwri/HYvQnZuk4Fw= -cloud.google.com/go/bigquery v1.60.0/go.mod h1:Clwk2OeC0ZU5G5LDg7mo+h8U7KlAa5v06z5rptKdM3g= -cloud.google.com/go/billing v1.18.4/go.mod h1:hECVHwfls2hhA/wrNVAvZ48GQzMxjWkQRq65peAnxyc= -cloud.google.com/go/binaryauthorization v1.8.2/go.mod h1:/v3/F2kBR5QmZBnlqqzq9QNwse8OFk+8l1gGNUzjedw= -cloud.google.com/go/certificatemanager v1.8.0/go.mod h1:5qq/D7PPlrMI+q9AJeLrSoFLX3eTkLc9MrcECKrWdIM= -cloud.google.com/go/channel v1.17.6/go.mod h1:fr0Oidb2mPfA0RNcV+JMSBv5rjpLHjy9zVM5PFq6Fm4= -cloud.google.com/go/cloudbuild v1.16.0/go.mod h1:CCWnqxLxEdh8kpOK83s3HTNBTpoIFn/U9j8DehlUyyA= -cloud.google.com/go/clouddms v1.7.5/go.mod h1:O4GVvxKPxbXlVfxkoUIXi8UAwwIHoszYm32dJ8tgbvE= -cloud.google.com/go/cloudtasks v1.12.7/go.mod h1:I6o/ggPK/RvvokBuUppsbmm4hrGouzFbf6fShIm0Pqc= -cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= -cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= +cloud.google.com/go/accesscontextmanager v1.8.7/go.mod h1:jSvChL1NBQ+uLY9zUBdPy9VIlozPoHptdBnRYeWuQoM= +cloud.google.com/go/aiplatform v1.67.0/go.mod h1:s/sJ6btBEr6bKnrNWdK9ZgHCvwbZNdP90b3DDtxxw+Y= +cloud.google.com/go/analytics v0.23.2/go.mod h1:vtE3olAXZ6edJYk1UOndEs6EfaEc9T2B28Y4G5/a7Fo= +cloud.google.com/go/apigateway v1.6.7/go.mod h1:7wAMb/33Rzln+PrGK16GbGOfA1zAO5Pq6wp19jtIt7c= +cloud.google.com/go/apigeeconnect v1.6.7/go.mod h1:hZxCKvAvDdKX8+eT0g5eEAbRSS9Gkzi+MPWbgAMAy5U= +cloud.google.com/go/apigeeregistry v0.8.5/go.mod h1:ZMg60hq2K35tlqZ1VVywb9yjFzk9AJ7zqxrysOxLi3o= +cloud.google.com/go/appengine v1.8.7/go.mod h1:1Fwg2+QTgkmN6Y+ALGwV8INLbdkI7+vIvhcKPZCML0g= +cloud.google.com/go/area120 v0.8.7/go.mod h1:L/xTq4NLP9mmxiGdcsVz7y1JLc9DI8pfaXRXbnjkR6w= +cloud.google.com/go/artifactregistry v1.14.9/go.mod h1:n2OsUqbYoUI2KxpzQZumm6TtBgtRf++QulEohdnlsvI= +cloud.google.com/go/asset v1.19.1/go.mod h1:kGOS8DiCXv6wU/JWmHWCgaErtSZ6uN5noCy0YwVaGfs= +cloud.google.com/go/assuredworkloads v1.11.7/go.mod h1:CqXcRH9N0KCDtHhFisv7kk+cl//lyV+pYXGi1h8rCEU= +cloud.google.com/go/auth v0.2.1/go.mod h1:khQRBNrvNoHiHhV1iu2x8fSnlNbCaVHilznW5MAI5GY= +cloud.google.com/go/auth v0.2.2/go.mod h1:2bDNJWtWziDT3Pu1URxHHbkHE/BbOCuyUiKIGcNvafo= +cloud.google.com/go/auth v0.3.0 h1:PRyzEpGfx/Z9e8+lHsbkoUVXD0gnu4MNmm7Gp8TQNIs= +cloud.google.com/go/auth v0.3.0/go.mod h1:lBv6NKTWp8E3LPzmO1TbiiRKc4drLOfHsgmlH9ogv5w= +cloud.google.com/go/auth/oauth2adapt v0.2.1/go.mod h1:tOdK/k+D2e4GEwfBRA48dKNQiDsqIXxLh7VU319eV0g= +cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4= +cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= +cloud.google.com/go/automl v1.13.7/go.mod h1:E+s0VOsYXUdXpq0y4gNZpi0A/s6y9+lAarmV5Eqlg40= +cloud.google.com/go/baremetalsolution v1.2.6/go.mod h1:KkS2BtYXC7YGbr42067nzFr+ABFMs6cxEcA1F+cedIw= +cloud.google.com/go/batch v1.8.5/go.mod h1:YSWU2RTIeoHWVwieZJDTLEfWWUsuk10uhAr5K1dTMiw= +cloud.google.com/go/beyondcorp v1.0.6/go.mod h1:wRkenqrVRtnGFfnyvIg0zBFUdN2jIfeojFF9JJDwVIA= +cloud.google.com/go/bigquery v1.61.0/go.mod h1:PjZUje0IocbuTOdq4DBOJLNYB0WF3pAKBHzAYyxCwFo= +cloud.google.com/go/billing v1.18.5/go.mod h1:lHw7fxS6p7hLWEPzdIolMtOd0ahLwlokW06BzbleKP8= +cloud.google.com/go/binaryauthorization v1.8.3/go.mod h1:Cul4SsGlbzEsWPOz2sH8m+g2Xergb6ikspUyQ7iOThE= +cloud.google.com/go/certificatemanager v1.8.1/go.mod h1:hDQzr50Vx2gDB+dOfmDSsQzJy/UPrYRdzBdJ5gAVFIc= +cloud.google.com/go/channel v1.17.7/go.mod h1:b+FkgBrhMKM3GOqKUvqHFY/vwgp+rwsAuaMd54wCdN4= +cloud.google.com/go/cloudbuild v1.16.1/go.mod h1:c2KUANTtCBD8AsRavpPout6Vx8W+fsn5zTsWxCpWgq4= +cloud.google.com/go/clouddms v1.7.6/go.mod h1:8HWZ2tznZ0mNAtTpfnRNT0QOThqn9MBUqTj0Lx8npIs= +cloud.google.com/go/cloudtasks v1.12.8/go.mod h1:aX8qWCtmVf4H4SDYUbeZth9C0n9dBj4dwiTYi4Or/P4= +cloud.google.com/go/compute v1.26.0/go.mod h1:T9RIRap4pVHCGUkVFRJ9hygT3KCXjip41X1GgWtBBII= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= -cloud.google.com/go/contactcenterinsights v1.13.1/go.mod h1:/3Ji8Rr1GS6d+/MOwlXM2gZPSuvTKIFyf8OG+7Pe5r8= -cloud.google.com/go/container v1.35.0/go.mod h1:02fCocALhTHLw4zwqrRaFrztjoQd53yZWFq0nvr+hQo= -cloud.google.com/go/containeranalysis v0.11.5/go.mod h1:DlgF5MaxAmGdq6F9wCUEp/JNx9lsr6QaQONFd4mxG8A= +cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= +cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/contactcenterinsights v1.13.2/go.mod h1:AfkSB8t7mt2sIY6WpfO61nD9J9fcidIchtxm9FqJVXk= +cloud.google.com/go/container v1.35.1/go.mod h1:udm8fgLm3TtpnjFN4QLLjZezAIIp/VnMo316yIRVRQU= +cloud.google.com/go/containeranalysis v0.11.6/go.mod h1:YRf7nxcTcN63/Kz9f86efzvrV33g/UV8JDdudRbYEUI= cloud.google.com/go/datacatalog v1.20.0/go.mod h1:fSHaKjIroFpmRrYlwz9XBB2gJBpXufpnxyAKaT4w6L0= -cloud.google.com/go/dataflow v0.9.6/go.mod h1:nO0hYepRlPlulvAHCJ+YvRPLnL/bwUswIbhgemAt6eM= -cloud.google.com/go/dataform v0.9.3/go.mod h1:c/TBr0tqx5UgBTmg3+5DZvLxX+Uy5hzckYZIngkuU/w= -cloud.google.com/go/datafusion v1.7.6/go.mod h1:cDJfsWRYcaktcM1xfwkBOIccOaWJ5mG3zm95EaLtINA= -cloud.google.com/go/datalabeling v0.8.6/go.mod h1:8gVcLufcZg0hzRnyMkf3UvcUen2Edo6abP6Rsz2jS6Q= -cloud.google.com/go/dataplex v1.15.0/go.mod h1:R5rUQ3X18d6wcMraLOUIOTEULasL/1nvSrNF7C98eyg= -cloud.google.com/go/dataproc/v2 v2.4.1/go.mod h1:HrymsaRUG1FjK2G1sBRQrHMhgj5+ENUIAwRbL130D8o= -cloud.google.com/go/dataqna v0.8.6/go.mod h1:3u2zPv3VwMUNW06oTRcSWS3+dDuxF/0w5hEWUCsLepw= -cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= -cloud.google.com/go/datastream v1.10.5/go.mod h1:BmIPX19K+Pjho3+sR7Jtddmf+vluzLgaG7465xje/wg= -cloud.google.com/go/deploy v1.17.2/go.mod h1:kKSAl1mab0Y27XlWGBrKNA5WOOrKo24KYzx2JRAfBL4= -cloud.google.com/go/dialogflow v1.52.0/go.mod h1:mMh76X5D0Tg48PjGXaCveHpeKDnKz+dpwGln3WEN7DQ= -cloud.google.com/go/dlp v1.12.1/go.mod h1:RBUw3yjNSVcFoU8L4ECuxAx0lo1MrusfA4y46bp9vLw= -cloud.google.com/go/documentai v1.26.1/go.mod h1:ljZB6yyT/aKZc9tCd0WGtBxIMWu8ZCEO6UiNwirqLU0= -cloud.google.com/go/domains v0.9.6/go.mod h1:hYaeMxsDZED5wuUwYHXf89+aXHJvh41+os8skywd8D4= -cloud.google.com/go/edgecontainer v1.2.0/go.mod h1:bI2foS+2fRbzBmkIQtrxNzeVv3zZZy780PFF96CiVxA= +cloud.google.com/go/datacatalog v1.20.1/go.mod h1:Jzc2CoHudhuZhpv78UBAjMEg3w7I9jHA11SbRshWUjk= +cloud.google.com/go/dataflow v0.9.7/go.mod h1:3BjkOxANrm1G3+/EBnEsTEEgJu1f79mFqoOOZfz3v+E= +cloud.google.com/go/dataform v0.9.4/go.mod h1:jjo4XY+56UrNE0wsEQsfAw4caUs4DLJVSyFBDelRDtQ= +cloud.google.com/go/datafusion v1.7.7/go.mod h1:qGTtQcUs8l51lFA9ywuxmZJhS4ozxsBSus6ItqCUWMU= +cloud.google.com/go/datalabeling v0.8.7/go.mod h1:/PPncW5gxrU15UzJEGQoOT3IobeudHGvoExrtZ8ZBwo= +cloud.google.com/go/dataplex v1.15.1/go.mod h1:+cUJLSCSIWfH53dIXOS5gLErCSz3MP0mZiswVVI8YTA= +cloud.google.com/go/dataproc/v2 v2.4.2/go.mod h1:smGSj1LZP3wtnsM9eyRuDYftNAroAl6gvKp/Wk64XDE= +cloud.google.com/go/dataqna v0.8.7/go.mod h1:hvxGaSvINAVH5EJJsONIwT1y+B7OQogjHPjizOFoWOo= +cloud.google.com/go/datastore v1.16.0/go.mod h1:WIGbYyZE4GUJC+RLuVgpl6myNMKZGzlfbtN3Tch4R+8= +cloud.google.com/go/datastream v1.10.6/go.mod h1:lPeXWNbQ1rfRPjBFBLUdi+5r7XrniabdIiEaCaAU55o= +cloud.google.com/go/deploy v1.18.0/go.mod h1:7Nv2yKPQG5Lv3sscLUuY58DlrEMqPlq6nedtpb1Prcg= +cloud.google.com/go/dialogflow v1.53.0/go.mod h1:LqAvxq7bXiiGC3/DWIz9XXCxth2z2qpSnBAAmlNOj6U= +cloud.google.com/go/dlp v1.12.2/go.mod h1:AkJim14g+g5JqE4tTr9IJYQp2HHKhBYw/r/G6KQLQi0= +cloud.google.com/go/documentai v1.28.0/go.mod h1:ZTt9RkTRmqOn5GQgU4JxHJxbobemOoo6FSy0byEQHqY= +cloud.google.com/go/domains v0.9.7/go.mod h1:u/yVf3BgfPJW3QDZl51qTJcDXo9PLqnEIxfGmGgbHEc= +cloud.google.com/go/edgecontainer v1.2.1/go.mod h1:OE2D0lbkmGDVYLCvpj8Y0M4a4K076QB7E2JupqOR/qU= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= -cloud.google.com/go/essentialcontacts v1.6.7/go.mod h1:5577lqt2pvnx9n4zP+eJSSWL02KLmQvjJPYknHdAbZg= -cloud.google.com/go/eventarc v1.13.5/go.mod h1:wrZcXnSOZk/AVbBYT5GpOa5QPuQFzSxiXKsKnynoPes= -cloud.google.com/go/filestore v1.8.2/go.mod h1:QU7EKJP/xmCtzIhxNVLfv/k1QBKHXTbbj9512kwUT1I= +cloud.google.com/go/essentialcontacts v1.6.8/go.mod h1:EHONVDSum2xxG2p+myyVda/FwwvGbY58ZYC4XqI/lDQ= +cloud.google.com/go/eventarc v1.13.6/go.mod h1:QReOaYnDNdjwAQQWNC7nfr63WnaKFUw7MSdQ9PXJYj0= +cloud.google.com/go/filestore v1.8.3/go.mod h1:QTpkYpKBF6jlPRmJwhLqXfJQjVrQisplyb4e2CwfJWc= cloud.google.com/go/firestore v1.15.0/go.mod h1:GWOxFXcv8GZUtYpWHw/w6IuYNux/BtmeVTMmjrm4yhk= -cloud.google.com/go/functions v1.16.1/go.mod h1:WcQy3bwDw6KblOuj+khLyQbsi8aupUrZUrPEKTtVaSQ= -cloud.google.com/go/gkebackup v1.4.0/go.mod h1:FpsE7Qcio7maQ5bPMvacN+qoXTPWrxHe4fm44RWa67U= -cloud.google.com/go/gkeconnect v0.8.6/go.mod h1:4/o9sXLLsMl2Rw2AyXjtVET0RMk4phdFJuBX45jRRHc= -cloud.google.com/go/gkehub v0.14.6/go.mod h1:SD3/ihO+7/vStQEwYA1S/J9mouohy7BfhM/gGjAmJl0= -cloud.google.com/go/gkemulticloud v1.1.2/go.mod h1:QhdIrilhqieDJJzOyfMPBqcfDVntENYGwqSeX2ZuIDE= -cloud.google.com/go/grafeas v0.3.4/go.mod h1:A5m316hcG+AulafjAbPKXBO/+I5itU4LOdKO2R/uDIc= -cloud.google.com/go/gsuiteaddons v1.6.6/go.mod h1:JmAp1/ojGgHtSe5d6ZPkOwJbYP7An7DRBkhSJ1aer8I= -cloud.google.com/go/iam v1.1.7 h1:z4VHOhwKLF/+UYXAJDFwGtNF0b6gjsW1Pk9Ml0U/IoM= -cloud.google.com/go/iam v1.1.7/go.mod h1:J4PMPg8TtyurAUvSmPj8FF3EDgY1SPRZxcUGrn7WXGA= -cloud.google.com/go/iap v1.9.5/go.mod h1:4zaAOm66mId/50vqRF7ZPDeCjvHQJSVAXD/mkUWo4Zk= -cloud.google.com/go/ids v1.4.6/go.mod h1:EJ1554UwEEs8HCHVnXPGn21WouM0uFvoq8UvEEr2ng4= -cloud.google.com/go/iot v1.7.6/go.mod h1:IMhFVfRGn5OqrDJ9Obu0rC5VIr2+SvSyUxQPHkXYuW0= -cloud.google.com/go/kms v1.15.8/go.mod h1:WoUHcDjD9pluCg7pNds131awnH429QGvRM3N/4MyoVs= -cloud.google.com/go/language v1.12.4/go.mod h1:Us0INRv/CEbrk2s8IBZcHaZjSBmK+bRlX4FUYZrD4I8= -cloud.google.com/go/lifesciences v0.9.6/go.mod h1:BkNWYU0tPZbwpy76RE4biZajWFe6NvWwEAaIlNiKXdE= +cloud.google.com/go/functions v1.16.2/go.mod h1:+gMvV5E3nMb9EPqX6XwRb646jTyVz8q4yk3DD6xxHpg= +cloud.google.com/go/gkebackup v1.4.1/go.mod h1:tVwSKC1/UxEA011ijRG8vlXaZThzTSy6vReO9fTOlX8= +cloud.google.com/go/gkeconnect v0.8.7/go.mod h1:iUH1jgQpTyNFMK5LgXEq2o0beIJ2p7KKUUFerkf/eGc= +cloud.google.com/go/gkehub v0.14.7/go.mod h1:NLORJVTQeCdxyAjDgUwUp0A6BLEaNLq84mCiulsM4OE= +cloud.google.com/go/gkemulticloud v1.1.3/go.mod h1:4WzfPnsOfdCIj6weekE5FIGCaeQKZ1HzGNUVZ1PpIxw= +cloud.google.com/go/grafeas v0.3.5/go.mod h1:y54iTBcI+lgUdI+kAPKb8jtPqeTkA2dsYzWSrQtpc5s= +cloud.google.com/go/gsuiteaddons v1.6.7/go.mod h1:u+sGBvr07OKNnOnQiB/Co1q4U2cjo50ERQwvnlcpNis= +cloud.google.com/go/iam v1.1.8 h1:r7umDwhj+BQyz0ScZMp4QrGXjSTI3ZINnpgU2nlB/K0= +cloud.google.com/go/iam v1.1.8/go.mod h1:GvE6lyMmfxXauzNq8NbgJbeVQNspG+tcdL/W8QO1+zE= +cloud.google.com/go/iap v1.9.6/go.mod h1:YiK+tbhDszhaVifvzt2zTEF2ch9duHtp6xzxj9a0sQk= +cloud.google.com/go/ids v1.4.7/go.mod h1:yUkDC71u73lJoTaoONy0dsA0T7foekvg6ZRg9IJL0AA= +cloud.google.com/go/iot v1.7.7/go.mod h1:tr0bCOSPXtsg64TwwZ/1x+ReTWKlQRVXbM+DnrE54yM= +cloud.google.com/go/kms v1.15.9/go.mod h1:5v/R/RRuBUVO+eJioGcqENr3syh8ZqNn1y1Wc9DjM+4= +cloud.google.com/go/language v1.12.5/go.mod h1:w/6a7+Rhg6Bc2Uzw6thRdKKNjnOzfKTJuxzD0JZZ0nM= +cloud.google.com/go/lifesciences v0.9.7/go.mod h1:FQ713PhjAOHqUVnuwsCe1KPi9oAdaTfh58h1xPiW13g= cloud.google.com/go/logging v1.9.0/go.mod h1:1Io0vnZv4onoUnsVUQY3HZ3Igb1nBchky0A0y7BBBhE= cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= -cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= cloud.google.com/go/longrunning v0.5.2/go.mod h1:nqo6DQbNV2pXhGDbDMoN2bWz68MjZUzqv2YttZiveCs= -cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= cloud.google.com/go/longrunning v0.5.5/go.mod h1:WV2LAxD8/rg5Z1cNW6FJ/ZpX4E4VnDnoTk0yawPBB7s= cloud.google.com/go/longrunning v0.5.6/go.mod h1:vUaDrWYOMKRuhiv6JBnn49YxCPz2Ayn9GqyjaBT8/mA= -cloud.google.com/go/managedidentities v1.6.6/go.mod h1:0+0qF22qx8o6eeaZ/Ku7HmHv9soBHD1piyNHgAP+c20= -cloud.google.com/go/maps v1.7.1/go.mod h1:fri+i4pO41ZUZ/Nrz3U9hNEtXsv5SROMFP2AwAHFSX8= -cloud.google.com/go/mediatranslation v0.8.6/go.mod h1:zI2ZvRRtrGimH572cwYtmq8t1elKbUGVVw4MAXIC4UQ= -cloud.google.com/go/memcache v1.10.6/go.mod h1:4elGf6MwGszZCM0Yopp15qmBoo+Y8M7wg7QRpSM8pzA= -cloud.google.com/go/metastore v1.13.5/go.mod h1:dmsJzIdQcJrpmRGhEaii3EhVq1JuhI0bxSBoy7A8hcQ= -cloud.google.com/go/monitoring v1.18.1/go.mod h1:52hTzJ5XOUMRm7jYi7928aEdVxBEmGwA0EjNJXIBvt8= -cloud.google.com/go/networkconnectivity v1.14.5/go.mod h1:Wy28mxRApI1uVwA9iHaYYxGNe74cVnSP311bCUJEpBc= -cloud.google.com/go/networkmanagement v1.13.0/go.mod h1:LcwkOGJmWtjM4yZGKfN1kSoEj/OLGFpZEQefWofHFKI= -cloud.google.com/go/networksecurity v0.9.6/go.mod h1:SZB02ji/2uittsqoAXu9PBqGG9nF9PuxPgtezQfihSA= -cloud.google.com/go/notebooks v1.11.4/go.mod h1:vtqPiCQMv++HOfQMzyE46f4auCB843rf20KEQW2zZKM= -cloud.google.com/go/optimization v1.6.4/go.mod h1:AfXfr2vlBXCF9RPh/Jpj46FhXR5JiWlyHA0rGI5Eu5M= -cloud.google.com/go/orchestration v1.9.1/go.mod h1:yLPB2q/tdlEheIiZS7DAPKHeXdf4qNTlKAJCp/2EzXA= -cloud.google.com/go/orgpolicy v1.12.1/go.mod h1:aibX78RDl5pcK3jA8ysDQCFkVxLj3aOQqrbBaUL2V5I= +cloud.google.com/go/longrunning v0.5.7/go.mod h1:8GClkudohy1Fxm3owmBGid8W0pSgodEMwEAztp38Xng= +cloud.google.com/go/managedidentities v1.6.7/go.mod h1:UzslJgHnc6luoyx2JV19cTCi2Fni/7UtlcLeSYRzTV8= +cloud.google.com/go/maps v1.7.3/go.mod h1:Jfe+h0i3YdG8Cc0wuNI+Q+WglTt7YnQ3PbKCqpBdTwc= +cloud.google.com/go/mediatranslation v0.8.7/go.mod h1:6eJbPj1QJwiCP8R4K413qMx6ZHZJUi9QFpApqY88xWU= +cloud.google.com/go/memcache v1.10.7/go.mod h1:SrU6+QBhvXJV0TA59+B3oCHtLkPx37eqdKmRUlmSE1k= +cloud.google.com/go/metastore v1.13.6/go.mod h1:OBCVMCP7X9vA4KKD+5J4Q3d+tiyKxalQZnksQMq5MKY= +cloud.google.com/go/monitoring v1.19.0/go.mod h1:25IeMR5cQ5BoZ8j1eogHE5VPJLlReQ7zFp5OiLgiGZw= +cloud.google.com/go/networkconnectivity v1.14.6/go.mod h1:/azB7+oCSmyBs74Z26EogZ2N3UcXxdCHkCPcz8G32bU= +cloud.google.com/go/networkmanagement v1.13.2/go.mod h1:24VrV/5HFIOXMEtVQEUoB4m/w8UWvUPAYjfnYZcBc4c= +cloud.google.com/go/networksecurity v0.9.7/go.mod h1:aB6UiPnh/l32+TRvgTeOxVRVAHAFFqvK+ll3idU5BoY= +cloud.google.com/go/notebooks v1.11.5/go.mod h1:pz6P8l2TvhWqAW3sysIsS0g2IUJKOzEklsjWJfi8sd4= +cloud.google.com/go/optimization v1.6.5/go.mod h1:eiJjNge1NqqLYyY75AtIGeQWKO0cvzD1ct/moCFaP2Q= +cloud.google.com/go/orchestration v1.9.2/go.mod h1:8bGNigqCQb/O1kK7PeStSNlyi58rQvZqDiuXT9KAcbg= cloud.google.com/go/orgpolicy v1.12.2/go.mod h1:XycP+uWN8Fev47r1XibYjOgZod8SjXQtZGsO2I8KXX8= -cloud.google.com/go/osconfig v1.12.5/go.mod h1:D9QFdxzfjgw3h/+ZaAb5NypM8bhOMqBzgmbhzWViiW8= +cloud.google.com/go/orgpolicy v1.12.3/go.mod h1:6BOgIgFjWfJzTsVcib/4QNHOAeOjCdaBj69aJVs//MA= cloud.google.com/go/osconfig v1.12.6/go.mod h1:2dcXGl5qNbKo6Hjsnqbt5t6H2GX7UCAaPjF6BwDlFq8= -cloud.google.com/go/oslogin v1.13.2/go.mod h1:U8Euw2VeOEhJ/NE/0Q8xpInxi0J1oo2zdRNNVA/ba7U= -cloud.google.com/go/phishingprotection v0.8.6/go.mod h1:OSnaLSZryNaS80qVzArfi2/EoNWEeTSutTiWA/29xKU= -cloud.google.com/go/policytroubleshooter v1.10.4/go.mod h1:kSp7PKn80ttbKt8SSjQ0Z/pYYug/PFapxSx2Pr7xjf0= -cloud.google.com/go/privatecatalog v0.9.6/go.mod h1:BTwLqXfNzM6Tn4cTjzYj8avfw9+h/N68soYuTrYXL9I= -cloud.google.com/go/pubsub v1.37.0/go.mod h1:YQOQr1uiUM092EXwKs56OPT650nwnawc+8/IjoUeGzQ= +cloud.google.com/go/osconfig v1.12.7/go.mod h1:ID7Lbqr0fiihKMwAOoPomWRqsZYKWxfiuafNZ9j1Y1M= +cloud.google.com/go/oslogin v1.13.3/go.mod h1:WW7Rs1OJQ1iSUckZDilvNBSNPE8on740zF+4ZDR4o8U= +cloud.google.com/go/phishingprotection v0.8.7/go.mod h1:FtYaOyGc/HQQU7wY4sfwYZBFDKAL+YtVBjUj8E3A3/I= +cloud.google.com/go/policytroubleshooter v1.10.5/go.mod h1:bpOf94YxjWUqsVKokzPBibMSAx937Jp2UNGVoMAtGYI= +cloud.google.com/go/privatecatalog v0.9.7/go.mod h1:NWLa8MCL6NkRSt8jhL8Goy2A/oHkvkeAxiA0gv0rIXI= +cloud.google.com/go/pubsub v1.38.0/go.mod h1:IPMJSWSus/cu57UyR01Jqa/bNOQA+XnPF6Z4dKW4fAA= cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= -cloud.google.com/go/recaptchaenterprise/v2 v2.12.0/go.mod h1:4TohRUt9x4hzECD53xRFER+TJavgbep6riguPnsr4oQ= -cloud.google.com/go/recommendationengine v0.8.6/go.mod h1:ratALtVdAkofp0vDzpkL87zJcTymiQLc7fQyohRKWoA= -cloud.google.com/go/recommender v1.12.2/go.mod h1:9YizZzqpUtJelRv0pw2bfl3+3i5bTwL/FuAucj15WJc= -cloud.google.com/go/redis v1.14.3/go.mod h1:YtYX9QC98d3LEI9GUixwZ339Niw6w5xFcxLRruuFuss= -cloud.google.com/go/resourcemanager v1.9.6/go.mod h1:d+XUOGbxg6Aka3lmC4fDiserslux3d15uX08C6a0MBg= -cloud.google.com/go/resourcesettings v1.6.6/go.mod h1:t1+N03/gwNuKyOqpnACg/hWNL7ujT8mQYGqOzxOjFVE= -cloud.google.com/go/retail v1.16.1/go.mod h1:xzHOcNrzFB5aew1AjWhZAPnHF2oCGqt7hMmTlrzQqAs= -cloud.google.com/go/run v1.3.6/go.mod h1:/ou4d0u5CcK5/44Hbpd3wsBjNFXmn6YAWChu+XAKwSU= -cloud.google.com/go/scheduler v1.10.7/go.mod h1:AfKUtlPF0D2xtfWy+k6rQFaltcBeeoSOY7XKQkWs+1s= -cloud.google.com/go/secretmanager v1.12.0/go.mod h1:Y1Gne3Ag+fZ2TDTiJc8ZJCMFbi7k1rYT4Rw30GXfvlk= -cloud.google.com/go/security v1.15.6/go.mod h1:UMEAGVBMqE6xZvkCR1FvUIeBEmGOCRIDwtwT357xmok= -cloud.google.com/go/securitycenter v1.28.0/go.mod h1:kmS8vAIwPbCIg7dDuiVKF/OTizYfuWe5f0IIW6NihN8= -cloud.google.com/go/servicedirectory v1.11.5/go.mod h1:hp2Ix2Qko7hIh5jaFWftbdwKXHQhYPijcGPpLgTVZvw= -cloud.google.com/go/shell v1.7.6/go.mod h1:Ax+fG/h5TbwbnlhyzkgMeDK7KPfINYWE0V/tZUuuPXo= -cloud.google.com/go/spanner v1.60.0/go.mod h1:D2bOAeT/dC6zsZhXRIxbdYa5nQEYU3wYM/1KN3eg7Fs= -cloud.google.com/go/speech v1.22.1/go.mod h1:s8C9OLTemdGb4FHX3imHIp5AanwKR4IhdSno0Cg1s7k= +cloud.google.com/go/recaptchaenterprise/v2 v2.13.0/go.mod h1:jNYyn2ScR4DTg+VNhjhv/vJQdaU8qz+NpmpIzEE7HFQ= +cloud.google.com/go/recommendationengine v0.8.7/go.mod h1:YsUIbweUcpm46OzpVEsV5/z+kjuV6GzMxl7OAKIGgKE= +cloud.google.com/go/recommender v1.12.3/go.mod h1:OgN0MjV7/6FZUUPgF2QPQtYErtZdZc4u+5onvurcGEI= +cloud.google.com/go/redis v1.14.4/go.mod h1:EnHDflqTNQmCBPCN4FQPZdM28vLdweAgxe6avAZpqug= +cloud.google.com/go/resourcemanager v1.9.7/go.mod h1:cQH6lJwESufxEu6KepsoNAsjrUtYYNXRwxm4QFE5g8A= +cloud.google.com/go/resourcesettings v1.6.7/go.mod h1:zwRL5ZoNszs1W6+eJYMk6ILzgfnTj13qfU4Wvfupuqk= +cloud.google.com/go/retail v1.16.2/go.mod h1:T7UcBh4/eoxRBpP3vwZCoa+PYA9/qWRTmOCsV8DRdZ0= +cloud.google.com/go/run v1.3.7/go.mod h1:iEUflDx4Js+wK0NzF5o7hE9Dj7QqJKnRj0/b6rhVq20= +cloud.google.com/go/scheduler v1.10.8/go.mod h1:0YXHjROF1f5qTMvGTm4o7GH1PGAcmu/H/7J7cHOiHl0= +cloud.google.com/go/secretmanager v1.13.0/go.mod h1:yWdfNmM2sLIiyv6RM6VqWKeBV7CdS0SO3ybxJJRhBEs= +cloud.google.com/go/security v1.16.1/go.mod h1:UoF8QXvvJlV9ORs4YW/izW5GmDQtFUoq2P6TJgPlif8= +cloud.google.com/go/securitycenter v1.30.0/go.mod h1:/tmosjS/dfTnzJxOzZhTXdX3MXWsCmPWfcYOgkJmaJk= +cloud.google.com/go/servicedirectory v1.11.6/go.mod h1:peVGYNc1xArhcqSuhPP+NXp8kdl22XhB5E8IiNBNfZY= +cloud.google.com/go/shell v1.7.7/go.mod h1:7OYaMm3TFMSZBh8+QYw6Qef+fdklp7CjjpxYAoJpZbQ= +cloud.google.com/go/spanner v1.61.0/go.mod h1:+hdNE+zL7EWNfOWRetw01jxz8H5qsE/ayZvF/pfrAl8= +cloud.google.com/go/speech v1.23.1/go.mod h1:UNgzNxhNBuo/OxpF1rMhA/U2rdai7ILL6PBXFs70wq0= cloud.google.com/go/storage v1.40.0 h1:VEpDQV5CJxFmJ6ueWNsKxcr1QAYOXEgxDa+sBbJahPw= cloud.google.com/go/storage v1.40.0/go.mod h1:Rrj7/hKlG87BLqDJYtwR0fbPld8uJPbQ2ucUMY7Ir0g= -cloud.google.com/go/storagetransfer v1.10.5/go.mod h1:086WXPZlWXLfql+/nlmcc8ZzFWvITqfSGUQyMdf5eBk= -cloud.google.com/go/talent v1.6.7/go.mod h1:OLojlmmygm0wuTqi+UXKO0ZdLHsAedUfDgxDrkIWxTo= -cloud.google.com/go/texttospeech v1.7.6/go.mod h1:nhRJledkoE6/6VvEq/d0CX7nPnDwc/uzfaqePlmiPVE= -cloud.google.com/go/tpu v1.6.6/go.mod h1:T4gCNpT7SO28mMkCVJTWQ3OXAUY3YlScOqU4+5iX2B8= -cloud.google.com/go/trace v1.10.6/go.mod h1:EABXagUjxGuKcZMy4pXyz0fJpE5Ghog3jzTxcEsVJS4= -cloud.google.com/go/translate v1.10.2/go.mod h1:M4xIFGUwTrmuhyMMpJFZrBuSOhaX7Fhj4U1//mfv4BE= -cloud.google.com/go/video v1.20.5/go.mod h1:tCaG+vfAM6jmkwHvz2M0WU3KhiXpmDbQy3tBryMo8I0= -cloud.google.com/go/videointelligence v1.11.6/go.mod h1:b6dd26k4jUM+9evzWxLK1QDwVvoOA1piEYiTDv3jF6w= -cloud.google.com/go/vision/v2 v2.8.1/go.mod h1:0n3GzR+ZyRVDHTH5koELHFqIw3lXaFdLzlHUvlXNWig= -cloud.google.com/go/vmmigration v1.7.6/go.mod h1:HpLc+cOfjHgW0u6jdwcGlOSbkeemIEwGiWKS+8Mqy1M= -cloud.google.com/go/vmwareengine v1.1.2/go.mod h1:7wZHC+0NM4TnQE8gUpW397KgwccH+fAnc4Lt5zB0T1k= -cloud.google.com/go/vpcaccess v1.7.6/go.mod h1:BV6tTobbojd2AhrEOBLfywFUJlFU63or5Qgd0XrFsCc= -cloud.google.com/go/webrisk v1.9.6/go.mod h1:YzrDCXBOpnC64+GRRpSXPMQSvR8I4r5YO78y7A/T0Ac= -cloud.google.com/go/websecurityscanner v1.6.6/go.mod h1:zjsc4h9nV1sUxuSMurR2v3gJwWKYorJ+Nanm+1/w6G0= -cloud.google.com/go/workflows v1.12.5/go.mod h1:KbK5/Ef28G8MKLXcsvt/laH1Vka4CKeQj0I1/wEiByo= -code.cloudfoundry.org/bytefmt v0.0.0-20240403132358-0898aa260181 h1:DQavZi+azaFHvlBWvj5pVe/ZVd6kOSpYrwpYbJ9ZWuA= -code.cloudfoundry.org/bytefmt v0.0.0-20240403132358-0898aa260181/go.mod h1:rUP3YSaxKT+3aSMMTiXqdxLz0C21nQAoPkQX/lHINjM= +cloud.google.com/go/storagetransfer v1.10.6/go.mod h1:3sAgY1bx1TpIzfSzdvNGHrGYldeCTyGI/Rzk6Lc6A7w= +cloud.google.com/go/talent v1.6.8/go.mod h1:kqPAJvhxmhoUTuqxjjk2KqA8zUEeTDmH+qKztVubGlQ= +cloud.google.com/go/texttospeech v1.7.7/go.mod h1:XO4Wr2VzWHjzQpMe3gS58Oj68nmtXMyuuH+4t0wy9eA= +cloud.google.com/go/tpu v1.6.7/go.mod h1:o8qxg7/Jgt7TCgZc3jNkd4kTsDwuYD3c4JTMqXZ36hU= +cloud.google.com/go/trace v1.10.7/go.mod h1:qk3eiKmZX0ar2dzIJN/3QhY2PIFh1eqcIdaN5uEjQPM= +cloud.google.com/go/translate v1.10.3/go.mod h1:GW0vC1qvPtd3pgtypCv4k4U8B7EdgK9/QEF2aJEUovs= +cloud.google.com/go/video v1.20.6/go.mod h1:d5AOlIfWXpDg15wvztHmjFvKTTImWJU7EnMVWkoiEAk= +cloud.google.com/go/videointelligence v1.11.7/go.mod h1:iMCXbfjurmBVgKuyLedTzv90kcnppOJ6ttb0+rLDID0= +cloud.google.com/go/vision/v2 v2.8.2/go.mod h1:BHZA1LC7dcHjSr9U9OVhxMtLKd5l2jKPzLRALEJvuaw= +cloud.google.com/go/vmmigration v1.7.7/go.mod h1:qYIK5caZY3IDMXQK+A09dy81QU8qBW0/JDTc39OaKRw= +cloud.google.com/go/vmwareengine v1.1.3/go.mod h1:UoyF6LTdrIJRvDN8uUB8d0yimP5A5Ehkr1SRzL1APZw= +cloud.google.com/go/vpcaccess v1.7.7/go.mod h1:EzfSlgkoAnFWEMznZW0dVNvdjFjEW97vFlKk4VNBhwY= +cloud.google.com/go/webrisk v1.9.7/go.mod h1:7FkQtqcKLeNwXCdhthdXHIQNcFWPF/OubrlyRcLHNuQ= +cloud.google.com/go/websecurityscanner v1.6.7/go.mod h1:EpiW84G5KXxsjtFKK7fSMQNt8JcuLA8tQp7j0cyV458= +cloud.google.com/go/workflows v1.12.6/go.mod h1:oDbEHKa4otYg4abwdw2Z094jB0TLLiFGAPA78EDAKag= +code.cloudfoundry.org/bytefmt v0.0.0-20240507165102-251b29179075 h1:/EIavdKMlm6qZfFDnXJfu2M2R2jFctue9C4BF742EtE= +code.cloudfoundry.org/bytefmt v0.0.0-20240507165102-251b29179075/go.mod h1:KghGLYo7qPX+I2O+IKHD3in3uE/bYcXmuL0jb6I0mRM= dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20221208032759-85de2813cf6b/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d/go.mod h1:OYVuxibdk9OSLX8vAqydtRPP87PyTFcT9uH3MlEGBQA= @@ -162,12 +169,9 @@ github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg6 github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= +github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.0/go.mod h1:dppbR7CwXD4pgtV9t3wD1812RaLDcBjtblcDF5f1vI0= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9/go.mod h1:7uhhqiBaR4CpN0k9rMjOtjpcfGd6DG2m04zQxKnWQ0I= -github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= -github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/ajstarks/deck v0.0.0-20240329135147-d1f085d9d01e/go.mod h1:RuIzK38BeA036XEv6Cyl34k98GMwIuciL8v5f+yjo0k= github.com/ajstarks/deck/generate v0.0.0-20240329135147-d1f085d9d01e/go.mod h1:al/X+Mdfx3esXeGnnIVn5aYB6SfwTu+9T0u4EXmKJuk= github.com/ajstarks/fc v0.0.0-20230606144319-ef5d5cb73a3d/go.mod h1:Qp3TfzbBiIjHwDxIpu+g9nYfNw+xXF2Yqp4WmMlTtwM= @@ -186,24 +190,24 @@ github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW5 github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/stroke v0.0.0-20221221101821-bd29b49d73f0/go.mod h1:ccdDYaY5+gO+cbnQdFxEXqfy0RkoV25H3jLXUDNM3wg= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/apache/arrow/go/v14 v14.0.2/go.mod h1:u3fgh3EdgN/YQ8cVQRguVW3R+seMybFg8QBQ5LU+eBY= +github.com/apache/arrow/go/v15 v15.0.2/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= github.com/apache/thrift v0.17.0/go.mod h1:OLxhMRJxomX+1I/KUw03qoV3mMz16BwaKI+d4fPBx7Q= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/aws/aws-sdk-go v1.51.14 h1:qedX6zZEO1a+5kra+D4ythOYR3TgaROC0hTPxhTFh8I= -github.com/aws/aws-sdk-go v1.51.14/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go v1.52.4 h1:9VsBVJ2TKf8xPP3+yIPGSYcEBIEymXsJzQoFgQuyvA0= +github.com/aws/aws-sdk-go v1.52.4/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= github.com/aws/aws-sdk-go-v2 v1.26.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg= -github.com/aws/aws-sdk-go-v2/config v1.27.10 h1:PS+65jThT0T/snC5WjyfHHyUgG+eBoupSDV+f838cro= -github.com/aws/aws-sdk-go-v2/config v1.27.10/go.mod h1:BePM7Vo4OBpHreKRUMuDXX+/+JWP38FLkzl5m27/Jjs= -github.com/aws/aws-sdk-go-v2/credentials v1.17.10 h1:qDZ3EA2lv1KangvQB6y258OssCHD0xvaGiEDkG4X/10= -github.com/aws/aws-sdk-go-v2/credentials v1.17.10/go.mod h1:6t3sucOaYDwDssHQa0ojH1RpmVmF5/jArkye1b2FKMI= +github.com/aws/aws-sdk-go-v2/config v1.27.11 h1:f47rANd2LQEYHda2ddSCKYId18/8BhSRM4BULGmfgNA= +github.com/aws/aws-sdk-go-v2/config v1.27.11/go.mod h1:SMsV78RIOYdve1vf36z8LmnszlRWkwMQtomCAI0/mIE= +github.com/aws/aws-sdk-go-v2/credentials v1.17.11 h1:YuIB1dJNf1Re822rriUOTxopaHHvIq0l/pX3fwO+Tzs= +github.com/aws/aws-sdk-go-v2/credentials v1.17.11/go.mod h1:AQtFPsDH9bI2O+71anW6EKL+NcD7LG3dpKGMV4SShgo= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 h1:FVJ0r5XTHSmIHJV6KuDmdYhEpvlHpiSd38RQWhut5J4= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.14 h1:Nhcq+ODoD9FRQYI3lATy6iADS5maER3ZXSfE8v3FMh8= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.14/go.mod h1:VlBbwTpgCj3rKWMVkEAYiAR3FKs7Mi3jALTMGfbfuns= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 h1:7Zwtt/lP3KNRkeZre7soMELMGNoBrutx8nobg1jKWmo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15/go.mod h1:436h2adoHb57yd+8W+gYPrrA9U/R/SuAuOO42Ushzhw= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 h1:aw39xVGeRWlWx9EzGVnhOR4yOjQDHPQ6o6NmBlscyQg= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5/go.mod h1:FSaRudD0dXiMPK2UjknVwwTYyZMRsHv3TtkabsZih5I= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 h1:PG1F3OD1szkuQPzDw3CIQsRIrtTlUC3lP84taWzHlq0= @@ -222,8 +226,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 h1:f9RyWNtS8oH7cZ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5/go.mod h1:h5CoMZV2VF297/VLhRhO1WF+XYWOzXo+4HsObA4HjBQ= github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 h1:6cnno47Me9bRykw9AEv9zkXE+5or7jz8TsskTTccbgc= github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1/go.mod h1:qmdkIIAC+GCLASF7R2whgNrJADz0QZPX+Seiw/i4S3o= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.4 h1:WzFol5Cd+yDxPAdnzTA5LmpHYSWinhmSj4rQChV0ee8= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.4/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 h1:vN8hEbpRnL7+Hopy9dzmRle1xmDc7o8tmY0klsr175w= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.5/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 h1:pi0Skl6mNl2w8qWZXcdOyg197Zsf4G97U7Sso9JXGZE= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2/go.mod h1:JYzLoEVeLXk+L4tn1+rrkfhkxl6mLDEVaDSvGq9og90= github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 h1:cwIxeBttqPN3qkaAjcEcsh8NYr8n2HZPkcKgPAi1phU= @@ -243,17 +247,16 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3 github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmtGzzhLsnLs= github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww= github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20240329184929-0c46c01016dc h1:Xo7J+m6Iq9pGYXnooTSpxZ11PzNzI7cKU9V81dpKSRQ= -github.com/cncf/xds/go v0.0.0-20240329184929-0c46c01016dc/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b h1:ga8SEFjZ60pxLcmhnThWgvH2wg8376yUJmPhEH4H3kw= +github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.21 h1:1/QdRyBaHHJP61QkWMXlOIBfsgdDeeKfK8SYVUWJKf0= github.com/creack/pty v1.1.21/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= @@ -273,13 +276,16 @@ github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/Ir github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/esiqveland/notify v0.11.0/go.mod h1:63UbVSaeJwF0LVJARHFuPgUAoM7o1BEvCZyknsuonBc= +github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= github.com/evanphx/json-patch v0.5.2 h1:xVCHIVMUu1wtM/VkR9jVZ45N3FhZfYMMYGorLCR8P3k= github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= -github.com/evanphx/json-patch/v5 v5.8.0 h1:lRj6N9Nci7MvzrXuX6HFzU8XjmhPiXPlsKEy1u0KQro= -github.com/evanphx/json-patch/v5 v5.8.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= +github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg= +github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= +github.com/felixge/fgprof v0.9.4 h1:ocDNwMFlnA0NU0zSB3I52xkO4sFXk80VK9lXjLClu88= +github.com/felixge/fgprof v0.9.4/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= @@ -303,7 +309,7 @@ github.com/go-fonts/liberation v0.3.2 h1:XuwG0vGHFBPRRI8Qwbi5tIvR3cku9LUfZGq/Ar1 github.com/go-fonts/liberation v0.3.2/go.mod h1:N0QsDLVUQPy3UYg9XAc3Uh3UDMp2Z7M1o4+X98dXkmI= github.com/go-fonts/stix v0.2.2/go.mod h1:SUxggC9dxd/Q+rb5PkJuvfvTbOPtNc2Qaua00fIp9iU= github.com/go-gl/gl v0.0.0-20231021071112-07e5d0ea2e71/go.mod h1:9YTyiznxEY1fVinfM7RvRcjRHbw2xLBJ3AAGIT0I4Nw= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240307211618-a69d953ea142/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240506104042-037f3cc74f2a/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-latex/latex v0.0.0-20231108140139-5c1ce85aa4ea h1:DfZQkvEbdmOe+JK2TMtBM+0I9GSdzE2y/L1/AmD8xKc= github.com/go-latex/latex v0.0.0-20231108140139-5c1ce85aa4ea/go.mod h1:Y7Vld91/HRbTBm7JwoI7HejdDB0u+e9AUBO9MB7yuZk= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= @@ -324,13 +330,15 @@ github.com/go-pdf/fpdf v1.4.3/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhO github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.19.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= +github.com/go-playground/validator/v10 v10.20.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI= github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/go-task/slim-sprig v2.20.0+incompatible h1:4Xh3bDzO29j4TWNOI+24ubc0vbVFMg2PMnXKxK54/CA= github.com/go-task/slim-sprig v2.20.0+incompatible/go.mod h1:N/mhXZITr/EQAOErEHciKvO1bFei2Lld2Ym6h96pdy0= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-text/typesetting v0.0.0-20230405155246-bf9c697c6e16/go.mod h1:zvWM81wAVW6QfVDI6yxfbCuoLnobSYTuMsrXU/u11y8= github.com/go-text/typesetting v0.0.0-20230803102845-24e03d8b5372/go.mod h1:evDBbvNR/KaVFZ2ZlDSOWWXIUKq0wCOEtzLxRM8SG3k= github.com/go-text/typesetting-utils v0.0.0-20230326210548-458646692de6/go.mod h1:RaqFwjcYyM5BjbYGwON0H5K0UqwO3sJlo9ukKha80ZE= @@ -343,7 +351,7 @@ github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQi github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.3.2/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= +github.com/gobwas/ws v1.4.0/go.mod h1:G3gNqMNtPppf5XUz7O4shetPpcZ1VJ7zt18dlUeakrc= github.com/goccmack/gocc v0.0.0-20230228185258-2292f9e40198/go.mod h1:DTh/Y2+NbnOVVoypCCQrovMPDKUGp4yZpSbWg5D0XIM= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= @@ -364,7 +372,7 @@ github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= @@ -386,10 +394,10 @@ github.com/google/go-replayers/httpreplay v1.2.0 h1:VM1wEyyjaoU53BwrOnaf9VhAyQQE github.com/google/go-replayers/httpreplay v1.2.0/go.mod h1:WahEFFZZ7a1P4VM1qEeHy+tME4bwyqPcwWbNlUI1Mcg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= -github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20240402174815-29b9bb013b0f h1:f00RU+zOX+B3rLAmMMkzHUF2h1z4DeYR9tTCvEq2REY= -github.com/google/pprof v0.0.0-20240402174815-29b9bb013b0f/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= +github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc= +github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0= +github.com/google/pprof v0.0.0-20240507183855-6f11f98ebb1c h1:GCixZ7sgey01Kjw8pxBzCD0uVrubxl8SRzRgI0jwP+A= +github.com/google/pprof v0.0.0-20240507183855-6f11f98ebb1c/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= @@ -406,13 +414,14 @@ github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5 github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/gax-go/v2 v2.12.3 h1:5/zPPDvw8Q1SuXjrqrZslrqT7dL/uJT2CQii/cLCKqA= -github.com/googleapis/gax-go/v2 v2.12.3/go.mod h1:AKloxT6GtNbaLm8QTNSidHUVsHYcBHwWRvkNFJUQcS4= +github.com/googleapis/gax-go/v2 v2.12.4 h1:9gWcmF85Wvq4ryPFvGFaOgPIs1AQX0d0bcbGw4Z96qg= +github.com/googleapis/gax-go/v2 v2.12.4/go.mod h1:KYEYLorsnIGDi/rPC8b5TdlB9kbKoFubselGIoBMCwI= github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20211219123610-ec9572f70e60/go.mod h1:cz9oNYuRUWGdHmLF2IodMLkAhcPtXeULvcBNagUrxTI= github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= github.com/goxjs/gl v0.0.0-20210104184919-e3fafc6f8f2a/go.mod h1:dy/f2gjY09hwVfIyATps4G2ai7/hLwLkc5TrPqONuXY= github.com/goxjs/glfw v0.0.0-20191126052801-d2efb5f20838/go.mod h1:oS8P8gVOT4ywTcjV6wZlOU4GuVFQ8F5328KY3MJ79CY= @@ -420,11 +429,10 @@ github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJr github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 h1:/c3QmbOGMGTOumP2iT/rCwB7b0QDGLKzqOmktBjT+Is= github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1/go.mod h1:5SN9VR2LTsRFsrEC6FHgRbTWrTHu6tqPeKxEQv15giM= +github.com/hamba/avro/v2 v2.17.2/go.mod h1:Q9YK+qxAhtVrNqOhwlZTATLgLA8qxG2vtvkhK8fJ7Jo= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= -github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= @@ -439,8 +447,8 @@ github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9Y github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= -github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= +github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= +github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY= github.com/josephspurrier/goversioninfo v0.0.0-20200309025242-14b0ab84c6ca/go.mod h1:eJTEwMjXb7kZ633hO3Ln9mBUCOjX2+FlTljvpl9SYdE= github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= @@ -454,8 +462,8 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C github.com/kisielk/errcheck v1.7.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= -github.com/klauspost/compress v1.17.8-0.20240402110209-3f77d8c9ab20 h1:SLnbzi4JPR/ALYU0ClsXR7YaWj17KskkHMOGsNsKxME= -github.com/klauspost/compress v1.17.8-0.20240402110209-3f77d8c9ab20/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.9-0.20240412100233-8bd3916ec655 h1:8Wwu7TntAfVPzPYVkCUGw5YrA8ohgXPg9nJTtk/VbA8= +github.com/klauspost/compress v1.17.9-0.20240412100233-8bd3916ec655/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/kpango/fastime v1.1.9 h1:xVQHcqyPt5M69DyFH7g1EPRns1YQNap9d5eLhl/Jy84= @@ -499,6 +507,7 @@ github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2/go.mod h1:76rf github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/term v0.0.0-20221205130635-1aeaba878587 h1:HfkjXDfhgVaN5rmueG8cL8KKeFNecRCXFhaJ2qZ5SKA= @@ -521,10 +530,10 @@ github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.17.1 h1:V++EzdbhI4ZV4ev0UTIj0PzhzOcReJFyJaLjtSF55M8= -github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs= -github.com/onsi/gomega v1.32.0 h1:JRYU78fJ1LPxlckP6Txi/EYqJvjtMrDC04/MM5XRHPk= -github.com/onsi/gomega v1.32.0/go.mod h1:a4x4gW6Pz2yK1MAmvluYme5lvYTn61afQ2ETw/8n4Lg= +github.com/onsi/ginkgo/v2 v2.17.3 h1:oJcvKpIb7/8uLpDDtnQuf18xVnwKp8DTD7DQ6gTd/MU= +github.com/onsi/ginkgo/v2 v2.17.3/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc= +github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= +github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= @@ -547,10 +556,10 @@ github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7km github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.52.2 h1:LW8Vk7BccEdONfrJBDffQGRtpSzi5CQaRZGtboOO2ck= -github.com/prometheus/common v0.52.2/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= -github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o= -github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43ZKY6tow0Y1g= +github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= +github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/procfs v0.14.0 h1:Lw4VdGGoKEZilJsayHf0B+9YgLGREba2C6xr+Fdfq6s= +github.com/prometheus/procfs v0.14.0/go.mod h1:XL+Iwz8k8ZabyZfMFHPiilCniixqQarAy5Mu67pHlNQ= github.com/quasilyte/go-ruleguard v0.4.2 h1:htXcXDK6/rO12kiTHKfHuqR4kr3Y4M0J0rOL6CH/BYs= github.com/quasilyte/go-ruleguard v0.4.2/go.mod h1:GJLgqsLeo4qgavUoL8JeGFNS7qcisx3awV/w9eWTmNI= github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE= @@ -597,6 +606,10 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/substrait-io/substrait-go v0.4.2/go.mod h1:qhpnLmrcvAnlZsUyPXZRqldiHapPTXC3t7xFgDi3aQg= github.com/tevino/abool v1.2.0/go.mod h1:qc66Pna1RiIsPa7O4Egxxs9OqkuxDX55zznh9K07Tzg= +github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/urfave/cli/v2 v2.4.0/go.mod h1:NX9W0zmTvedE5oDoOMs2RTC8RvdK98NTYZE5LbaEYPg= github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= @@ -605,37 +618,37 @@ github.com/zeebo/assert v1.3.1 h1:vukIABvugfNMZMQO1ABsyQDJDTVQbn+LWSMy1ol1h6A= github.com/zeebo/assert v1.3.1/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -go.einride.tech/aip v0.66.0/go.mod h1:qAhMsfT7plxBX+Oy7Huol6YUvZ0ZzdUz26yZsQwfl1M= -go.etcd.io/bbolt v1.3.9 h1:8x7aARPEXiXbHmtUwAIv7eV2fQFHrLLavdiJ3uzJXoI= -go.etcd.io/bbolt v1.3.9/go.mod h1:zaO32+Ti0PK1ivdPtgMESzuzL2VPoIG1PCQNvOdo/dE= +go.einride.tech/aip v0.67.1/go.mod h1:ZGX4/zKw8dcgzdLsrvpOOGxfxI2QSk12SlP7d6c0/XI= +go.etcd.io/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0= +go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.51.0 h1:A3SayB3rNyt+1S6qpI9mHPkeHTZbD7XILEqWnYZb2l0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.51.0/go.mod h1:27iA5uvhuRNmalO+iEUdVn5ZMj2qy10Mm+XRIpRmyuU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.48.0/go.mod h1:rdENBZMT2OE6Ne/KLwpiXudnAsbdrdBaqBvTN8M8BgA= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= -go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.24.0 h1:f2jriWfOdldanBwS9jNBdeOKAQN7b4ugAMaNu1/1k9g= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.24.0/go.mod h1:B+bcQI1yTY+N0vqMpoZbEN7+XU4tNM0DmUiOwebFJWI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 h1:t6wl9SPayj+c7lEIFgm4ooDBZVb01IhLB4InpomhRw8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0/go.mod h1:iSDOcsnSA5INXzZtwaBPrKp/lWu/V14Dd+llD0oI2EA= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 h1:Mw5xcxMwlqoJd97vwPxA8isEaIoxsta9/Q51+TTJLGE= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0/go.mod h1:CQNu9bj7o7mC6U7+CA/schKEYakYXWr79ucDHTMGhCM= -go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= -go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= -go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= -go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= -go.opentelemetry.io/otel/sdk/metric v1.24.0 h1:yyMQrPzF+k88/DbH7o4FMAs80puqd+9osbiBrJrz/w8= -go.opentelemetry.io/otel/sdk/metric v1.24.0/go.mod h1:I6Y5FjH6rvEnTTAYQz3Mmv2kl6Ek5IIrmwTLqMrrOE0= -go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= -go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= -go.opentelemetry.io/proto/otlp v1.1.0 h1:2Di21piLrCqJ3U3eXGCTPHE9R8Nh+0uglSnOyxikMeI= -go.opentelemetry.io/proto/otlp v1.1.0/go.mod h1:GpBHCBWiqvVLDqmHZsoMM3C5ySeKTC7ej/RNTae6MdY= -go.starlark.net v0.0.0-20240329153429-e6e8e7ce1b7a h1:Oe+v9w90BBIxQZ4U39+axR8KxrBbxqnRudPPcBIlP3o= -go.starlark.net v0.0.0-20240329153429-e6e8e7ce1b7a/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8= +go.opentelemetry.io/otel v1.26.0 h1:LQwgL5s/1W7YiiRwxf03QGnWLb2HW4pLiAhaA5cZXBs= +go.opentelemetry.io/otel v1.26.0/go.mod h1:UmLkJHUAidDval2EICqBMbnAd0/m2vmpf/dAM+fvFs4= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.26.0 h1:+hm+I+KigBy3M24/h1p/NHkUx/evbLH0PNcjpMyCHc4= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.26.0/go.mod h1:NjC8142mLvvNT6biDpaMjyz78kyEHIwAJlSX0N9P5KI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.26.0 h1:1u/AyyOqAWzy+SkPxDpahCNZParHV8Vid1RnI2clyDE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.26.0/go.mod h1:z46paqbJ9l7c9fIPCXTqTGwhQZ5XoTIsfeFYWboizjs= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.26.0 h1:Waw9Wfpo/IXzOI8bCB7DIk+0JZcqqsyn1JFnAc+iam8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.26.0/go.mod h1:wnJIG4fOqyynOnnQF/eQb4/16VlX2EJAHhHgqIqWfAo= +go.opentelemetry.io/otel/metric v1.26.0 h1:7S39CLuY5Jgg9CrnA9HHiEjGMF/X2VHvoXGgSllRz30= +go.opentelemetry.io/otel/metric v1.26.0/go.mod h1:SY+rHOI4cEawI9a7N1A4nIg/nTQXe1ccCNWYOJUrpX4= +go.opentelemetry.io/otel/sdk v1.26.0 h1:Y7bumHf5tAiDlRYFmGqetNcLaVUZmh4iYfmGxtmz7F8= +go.opentelemetry.io/otel/sdk v1.26.0/go.mod h1:0p8MXpqLeJ0pzcszQQN4F0S5FVjBLgypeGSngLsmirs= +go.opentelemetry.io/otel/sdk/metric v1.26.0 h1:cWSks5tfriHPdWFnl+qpX3P681aAYqlZHcAyHw5aU9Y= +go.opentelemetry.io/otel/sdk/metric v1.26.0/go.mod h1:ClMFFknnThJCksebJwz7KIyEDHO+nTB6gK8obLy8RyE= +go.opentelemetry.io/otel/trace v1.26.0 h1:1ieeAUb4y0TE26jUFrCIXKpTuVK7uJGN9/Z/2LP5sQA= +go.opentelemetry.io/otel/trace v1.26.0/go.mod h1:4iDxvGDQuUkHve82hJJ8UqrwswHYsZuWCBllGV2U2y0= +go.opentelemetry.io/proto/otlp v1.2.0 h1:pVeZGk7nXDC9O2hncA6nHldxEjm6LByfA2aN8IOkz94= +go.opentelemetry.io/proto/otlp v1.2.0/go.mod h1:gGpR8txAl5M03pDhMC79G6SdqNV26naRm/KDsgaHD8A= +go.starlark.net v0.0.0-20240507195648-35fe9f26b4bc h1:WMJEq47tB89BoJ5HUfoMZVtN+0u6f32LgIfQlu3mMF8= +go.starlark.net v0.0.0-20240507195648-35fe9f26b4bc/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8= @@ -650,38 +663,38 @@ go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= gocloud.dev v0.37.0 h1:XF1rN6R0qZI/9DYjN16Uy0durAmSlf58DHOcb28GPro= gocloud.dev v0.37.0/go.mod h1:7/O4kqdInCNsc6LqgmuFnS0GRew4XNNYWpA44yQnwco= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw= -golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= +golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91/go.mod h1:VjAR7z0ngyATZTELrBSkxOOHhhlnVUxDye4mcjx5h/8= golang.org/x/exp/shiny v0.0.0-20230801115018-d63ba01acd4b/go.mod h1:UH99kUObWAZkDnWqppdQe5ZhPYESUw8I0zVV1uWBR+0= golang.org/x/exp/shiny v0.0.0-20230817173708-d852ddb80c63/go.mod h1:UH99kUObWAZkDnWqppdQe5ZhPYESUw8I0zVV1uWBR+0= -golang.org/x/exp/typeparams v0.0.0-20240325151524-a685a6edb6d8 h1:ShhqwXlNzuDeQzaa6htzo1S333ACXZzJZgZLpKAza8E= -golang.org/x/exp/typeparams v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/image v0.15.0 h1:kOELfmgrmJlw4Cdb7g/QGuB3CvDrXbqEIww/pNtNBm8= -golang.org/x/image v0.15.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE= +golang.org/x/exp/typeparams v0.0.0-20240506185415-9bf2ced13842 h1:S62OJe0/hUkTgveY1HXZMHWBOy21DVrobMYz2cMCO64= +golang.org/x/exp/typeparams v0.0.0-20240506185415-9bf2ced13842/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/image v0.16.0 h1:9kloLAKhUufZhA12l5fwnx2NZW39/we1UhBesW433jw= +golang.org/x/image v0.16.0/go.mod h1:ugSZItdV4nOxyqp56HmXwH0Ry0nBCpjnZdpDaIHdoPs= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20240401224555-755f4ef71bbd/go.mod h1:DN+F2TpepQEh5goqWnM3gopfFakSWM8OmHiz0rPRjT4= -golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= -golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= -golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/mobile v0.0.0-20240506190922-a1a533f289d3/go.mod h1:EiXZlVfUTaAyySFVJb9rsODuiO+WXu8HrUuySb7nYFw= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= +golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= -golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= -golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= +golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= +golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= @@ -692,22 +705,20 @@ gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 h1:vJpL69PeUullhJyKtTjHjENE gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946/go.mod h1:BQUWDHIAygjdt1HnUPQ0eWqLN2n5FwJycrpYUVUOx2I= gonum.org/v1/plot v0.14.0 h1:+LBDVFYwFe4LHhdP8coW6296MBEY4nQ+Y4vuUpJopcE= gonum.org/v1/plot v0.14.0/go.mod h1:MLdR9424SJed+5VqC6MsouEpig9pZX2VZ57H9ko2bXU= -google.golang.org/api v0.172.0 h1:/1OcMZGPmW1rX2LCu2CmGUD1KXK1+pfzxotxyRUCCdk= -google.golang.org/api v0.172.0/go.mod h1:+fJZq6QXWfa9pXhnIzsjx4yI22d4aI9ZpLb58gvXjis= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/api v0.178.0 h1:yoW/QMI4bRVCHF+NWOTa4cL8MoWL3Jnuc7FlcFF91Ok= +google.golang.org/api v0.178.0/go.mod h1:84/k2v8DFpDRebpGcooklv/lais3MEfqpaBLA12gl2U= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= -google.golang.org/genproto v0.0.0-20240401170217-c3f982113cda h1:wu/KJm9KJwpfHWhkkZGohVC6KRrc1oJNr4jwtQMOQXw= -google.golang.org/genproto v0.0.0-20240401170217-c3f982113cda/go.mod h1:g2LLCvCeCSir/JJSWosk19BR4NVxGqHUC6rxIRsd7Aw= -google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda h1:b6F6WIV4xHHD0FA4oIyzU6mHWg2WI2X1RBehwa5QN38= -google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda/go.mod h1:AHcE/gZH76Bk/ROZhQphlRoWo5xKDEtz3eVEO1LfA8c= -google.golang.org/genproto/googleapis/bytestream v0.0.0-20240318140521-94a12d6c2237/go.mod h1:IN9OQUXZ0xT+26MDwZL8fJcYw+y99b0eYPA2U15Jt8o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda h1:LI5DOvAxUPMv/50agcLLoo+AdWc1irS9Rzz4vPuD1V4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/grpc v1.63.0 h1:WjKe+dnvABXyPJMD7KDNLxtoGk5tgk+YFWN6cBWjZE8= -google.golang.org/grpc v1.63.0/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/genproto v0.0.0-20240506185236-b8a5c65736ae h1:HjgkYCl6cWQEKSHkpUp4Q8VB74swzyBwTz1wtTzahm0= +google.golang.org/genproto v0.0.0-20240506185236-b8a5c65736ae/go.mod h1:i4np6Wrjp8EujFAUn0CM0SH+iZhY1EbrfzEIJbFkHFM= +google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae h1:AH34z6WAGVNkllnKs5raNq3yRq93VnjBG6rpfub/jYk= +google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae/go.mod h1:FfiGhwUm6CJviekPrc0oJ+7h29e+DmWU6UtjX0ZvI7Y= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20240429193739-8cf5692501f6/go.mod h1:ULqtoQMxDLNRfW+pJbKA68wtIy1OiYjdIsJs3PMpzh8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240506185236-b8a5c65736ae h1:c55+MER4zkBS14uJhSZMGGmya0yJx5iHV4x/fpOSNRk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240506185236-b8a5c65736ae/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= +google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= +google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= @@ -721,26 +732,24 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= honnef.co/go/js/dom v0.0.0-20210725211120-f030747120f2/go.mod h1:sUMDUKNB2ZcVjt92UnLy3cdGs+wDAcrPdV3JP6sVgA4= honnef.co/go/tools v0.4.7/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0= -k8s.io/api v0.29.3 h1:2ORfZ7+bGC3YJqGpV0KSDDEVf8hdGQ6A03/50vj8pmw= -k8s.io/api v0.29.3/go.mod h1:y2yg2NTyHUUkIoTC+phinTnEa3KFM6RZ3szxt014a80= -k8s.io/apiextensions-apiserver v0.29.3 h1:9HF+EtZaVpFjStakF4yVufnXGPRppWFEQ87qnO91YeI= -k8s.io/apiextensions-apiserver v0.29.3/go.mod h1:po0XiY5scnpJfFizNGo6puNU6Fq6D70UJY2Cb2KwAVc= -k8s.io/apimachinery v0.29.3 h1:2tbx+5L7RNvqJjn7RIuIKu9XTsIZ9Z5wX2G22XAa5EU= -k8s.io/apimachinery v0.29.3/go.mod h1:hx/S4V2PNW4OMg3WizRrHutyB5la0iCUbZym+W0EQIU= -k8s.io/cli-runtime v0.29.3 h1:r68rephmmytoywkw2MyJ+CxjpasJDQY7AGc3XY2iv1k= -k8s.io/cli-runtime v0.29.3/go.mod h1:aqVUsk86/RhaGJwDhHXH0jcdqBrgdF3bZWk4Z9D4mkM= -k8s.io/client-go v0.29.3 h1:R/zaZbEAxqComZ9FHeQwOh3Y1ZUs7FaHKZdQtIc2WZg= -k8s.io/client-go v0.29.3/go.mod h1:tkDisCvgPfiRpxGnOORfkljmS+UrW+WtXAy2fTvXJB0= -k8s.io/component-base v0.29.3 h1:Oq9/nddUxlnrCuuR2K/jp6aflVvc0uDvxMzAWxnGzAo= -k8s.io/component-base v0.29.3/go.mod h1:Yuj33XXjuOk2BAaHsIGHhCKZQAgYKhqIxIjIr2UXYio= +k8s.io/api v0.30.0 h1:siWhRq7cNjy2iHssOB9SCGNCl2spiF1dO3dABqZ8niA= +k8s.io/api v0.30.0/go.mod h1:OPlaYhoHs8EQ1ql0R/TsUgaRPhpKNxIMrKQfWUp8QSE= +k8s.io/apiextensions-apiserver v0.30.0 h1:jcZFKMqnICJfRxTgnC4E+Hpcq8UEhT8B2lhBcQ+6uAs= +k8s.io/apiextensions-apiserver v0.30.0/go.mod h1:N9ogQFGcrbWqAY9p2mUAL5mGxsLqwgtUce127VtRX5Y= +k8s.io/apimachinery v0.30.0 h1:qxVPsyDM5XS96NIh9Oj6LavoVFYff/Pon9cZeDIkHHA= +k8s.io/apimachinery v0.30.0/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc= +k8s.io/cli-runtime v0.30.0 h1:0vn6/XhOvn1RJ2KJOC6IRR2CGqrpT6QQF4+8pYpWQ48= +k8s.io/cli-runtime v0.30.0/go.mod h1:vATpDMATVTMA79sZ0YUCzlMelf6rUjoBzlp+RnoM+cg= +k8s.io/client-go v0.30.0 h1:sB1AGGlhY/o7KCyCEQ0bPWzYDL0pwOZO4vAtTSh/gJQ= +k8s.io/client-go v0.30.0/go.mod h1:g7li5O5256qe6TYdAMyX/otJqMhIiGgTapdLchhmOaY= k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20240403164606-bc84c2ddaf99 h1:w6nThEmGo9zcL+xH1Tu6pjxJ3K1jXFW+V0u4peqN8ks= -k8s.io/kube-openapi v0.0.0-20240403164606-bc84c2ddaf99/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= -k8s.io/metrics v0.29.3 h1:nN+eavbMQ7Kuif2tIdTr2/F2ec2E/SIAWSruTZ+Ye6U= -k8s.io/metrics v0.29.3/go.mod h1:kb3tGGC4ZcIDIuvXyUE291RwJ5WmDu0tB4wAVZM6h2I= -k8s.io/utils v0.0.0-20240310230437-4693a0247e57 h1:gbqbevonBh57eILzModw6mrkbwM0gQBEuevE/AaBsHY= -k8s.io/utils v0.0.0-20240310230437-4693a0247e57/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f h1:0LQagt0gDpKqvIkAMPaRGcXawNMouPECM1+F9BVxEaM= +k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f/go.mod h1:S9tOR0FxgyusSNR+MboCuiDpVWkAifZvaYI1Q2ubgro= +k8s.io/metrics v0.30.0 h1:tqB+T0GJY288KahaO3Eb41HaDVeLR18gBmyPo0R417s= +k8s.io/metrics v0.30.0/go.mod h1:nSDA8V19WHhCTBhRYuyzJT9yPJBxSpqbyrGCCQ4jPj4= +k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 h1:jgGTlFYnhF1PM1Ax/lAlxUPE+KfCIXHaathvJg1C3ak= +k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= lukechampine.com/uint128 v1.3.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= @@ -774,8 +783,8 @@ modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.7.0/go.mod h1:hVdgNMh8ggTuRG1rGU8x+xGRFfiQUIAw0ZqlPy8+HyQ= rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -sigs.k8s.io/controller-runtime v0.17.2 h1:FwHwD1CTUemg0pW2otk7/U5/i5m2ymzvOXdbeGOUvw0= -sigs.k8s.io/controller-runtime v0.17.2/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s= +sigs.k8s.io/controller-runtime v0.18.2 h1:RqVW6Kpeaji67CY5nPEfRz6ZfFMk0lWQlNrLqlNpx+Q= +sigs.k8s.io/controller-runtime v0.18.2/go.mod h1:tuAt1+wbVsXIT8lPtk5RURxqAnq7xkpv2Mhttslg7Hw= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 h1:XX3Ajgzov2RKUdc5jW3t5jwY7Bo7dcRm+tFxT+NfgY0= diff --git a/hack/go.mod.default b/hack/go.mod.default index 218989067f..a6b76d935c 100644 --- a/hack/go.mod.default +++ b/hack/go.mod.default @@ -1,6 +1,6 @@ module github.com/vdaas/vald -go 1.22.2 +go 1.22.3 replace ( cloud.google.com/go => cloud.google.com/go upgrade @@ -328,19 +328,19 @@ replace ( gopkg.in/yaml.v2 => gopkg.in/yaml.v2 upgrade gopkg.in/yaml.v3 => gopkg.in/yaml.v3 upgrade honnef.co/go/tools => honnef.co/go/tools upgrade - k8s.io/api => k8s.io/api v0.29.3 - k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.29.3 - k8s.io/apimachinery => k8s.io/apimachinery v0.29.3 - k8s.io/cli-runtime => k8s.io/cli-runtime v0.29.3 - k8s.io/client-go => k8s.io/client-go v0.29.3 - k8s.io/component-base => k8s.io/component-base v0.29.3 + k8s.io/api => k8s.io/api v0.30.0 + k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.30.0 + k8s.io/apimachinery => k8s.io/apimachinery v0.30.0 + k8s.io/cli-runtime => k8s.io/cli-runtime v0.30.0 + k8s.io/client-go => k8s.io/client-go v0.30.0 + k8s.io/component-base => k8s.io/component-base v0.30.0 k8s.io/klog/v2 => k8s.io/klog/v2 upgrade k8s.io/kube-openapi => k8s.io/kube-openapi master - k8s.io/kubernetes => k8s.io/kubernetes v0.29.3 - k8s.io/metrics => k8s.io/metrics v0.29.3 + k8s.io/kubernetes => k8s.io/kubernetes v0.30.0 + k8s.io/metrics => k8s.io/metrics v0.30.0 nhooyr.io/websocket => nhooyr.io/websocket upgrade rsc.io/pdf => rsc.io/pdf upgrade - sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.17.2 + sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.18.2 sigs.k8s.io/json => sigs.k8s.io/json upgrade sigs.k8s.io/kustomize => sigs.k8s.io/kustomize upgrade sigs.k8s.io/structured-merge-diff/v4 => sigs.k8s.io/structured-merge-diff/v4 upgrade diff --git a/internal/config/grpc.go b/internal/config/grpc.go index 42f29e2234..e8970e51d7 100644 --- a/internal/config/grpc.go +++ b/internal/config/grpc.go @@ -161,9 +161,10 @@ func (g *GRPCClient) Opts() ([]grpc.Option, error) { return nil, nil } opts := make([]grpc.Option, 0, 18) - opts = append(opts, - grpc.WithHealthCheckDuration(g.HealthCheckDuration), - ) + + if len(g.HealthCheckDuration) != 0 { + opts = append(opts, grpc.WithHealthCheckDuration(g.HealthCheckDuration)) + } if g.ConnectionPool != nil { opts = append(opts, diff --git a/internal/config/grpc_test.go b/internal/config/grpc_test.go index 54ea40046e..3072f98008 100644 --- a/internal/config/grpc_test.go +++ b/internal/config/grpc_test.go @@ -1029,10 +1029,10 @@ func TestGRPCClient_Opts(t *testing.T) { }, }, { - name: "return 1 grpc.Option when all parameters are set", + name: "return empty slice grpc.Option when all parameters are not set", fields: fields{}, want: want{ - want: make([]grpc.Option, 1), + want: make([]grpc.Option, 0), }, }, } diff --git a/internal/net/grpc/client.go b/internal/net/grpc/client.go index 640c25c297..291a8c0c83 100644 --- a/internal/net/grpc/client.go +++ b/internal/net/grpc/client.go @@ -117,7 +117,10 @@ type gRPCClient struct { stopMonitor context.CancelFunc } -const apiName = "vald/internal/net/grpc" +const ( + apiName = "vald/internal/net/grpc" + defaultHealthCheckDuration = 10 * time.Second +) func New(opts ...Option) (c Client) { g := &gRPCClient{ @@ -188,24 +191,51 @@ func (g *gRPCClient) StartConnectionMonitor(ctx context.Context) (<-chan error, ctx, g.stopMonitor = context.WithCancel(ctx) g.eg.Go(safety.RecoverFunc(func() (err error) { defer g.monitorRunning.Store(false) - prTick := &time.Ticker{ // pool rebalance ticker - C: make(chan time.Time), - } + defer close(ech) + defer func() { + if err := g.Close(context.Background()); err != nil { + log.Error(err) + } + }() + + var hcTick, prTick *time.Ticker + // this duration is for timeout to prevent blocking health check loop, which should be minimum duration of hcDur and prDur reconnLimitDuration := time.Second - hcTick := time.NewTicker(g.hcDur) // health check ticker + if g.hcDur.Nanoseconds() <= 0 { + g.hcDur = defaultHealthCheckDuration + } + + err = safety.RecoverFunc(func() error { + hcTick = time.NewTicker(g.hcDur) // health check ticker + return nil + })() + if err != nil || hcTick == nil { + ech <- err + return err + } + defer hcTick.Stop() + if g.enablePoolRebalance && g.prDur.Nanoseconds() > 0 { - prTick.Stop() - prTick = time.NewTicker(g.prDur) + err = safety.RecoverFunc(func() error { + prTick = time.NewTicker(g.prDur) // pool rebalance ticker + return nil + })() reconnLimitDuration = time.Duration(int64(math.Min(float64(g.hcDur.Nanoseconds()), float64(g.prDur.Nanoseconds())))) } else { + err = safety.RecoverFunc(func() error { + prTick = time.NewTicker(g.hcDur) // pool rebalance ticker + return nil + })() reconnLimitDuration = g.hcDur } - defer close(ech) - defer g.Close(context.Background()) - defer hcTick.Stop() + if err != nil || prTick == nil { + ech <- err + return err + } defer prTick.Stop() + disconnectTargets := make([]string, 0, len(addrs)) for { select { diff --git a/internal/net/grpc/option.go b/internal/net/grpc/option.go index 4e5f3533d0..320c9d3d2d 100644 --- a/internal/net/grpc/option.go +++ b/internal/net/grpc/option.go @@ -20,7 +20,6 @@ package grpc import ( "context" "crypto/tls" - "time" "github.com/vdaas/vald/internal/backoff" "github.com/vdaas/vald/internal/circuitbreaker" @@ -71,9 +70,17 @@ func WithAddrs(addrs ...string) Option { func WithHealthCheckDuration(dur string) Option { return func(g *gRPCClient) { + if len(dur) == 0 { + return + } d, err := timeutil.Parse(dur) if err != nil { - d = time.Second + log.Errorf("failed to parse health check duration: %v", err) + return + } + if d <= 0 { + log.Errorf("invalid health check duration: %d", d) + return } g.hcDur = d } @@ -86,7 +93,12 @@ func WithConnectionPoolRebalanceDuration(dur string) Option { } d, err := timeutil.Parse(dur) if err != nil { - d = time.Hour + log.Errorf("failed to parse connection pool rebalance duration: %v", err) + return + } + if d <= 0 { + log.Errorf("invalid connection pool rebalance duration: %d", d) + return } g.prDur = d } @@ -124,9 +136,17 @@ func WithDialOptions(opts ...grpc.DialOption) Option { func WithBackoffMaxDelay(dur string) Option { return func(g *gRPCClient) { + if len(dur) == 0 { + return + } d, err := timeutil.Parse(dur) if err != nil { - d = time.Second + log.Errorf("failed to parse backoff max delay: %v", err) + return + } + if d <= 0 { + log.Errorf("invalid backoff max delay: %d", d) + return } g.gbo.MaxDelay = d } @@ -134,9 +154,17 @@ func WithBackoffMaxDelay(dur string) Option { func WithBackoffBaseDelay(dur string) Option { return func(g *gRPCClient) { + if len(dur) == 0 { + return + } d, err := timeutil.Parse(dur) if err != nil { - d = time.Second + log.Errorf("failed to parse backoff base delay: %v", err) + return + } + if d <= 0 { + log.Errorf("invalid backoff base delay: %d", d) + return } g.gbo.BaseDelay = d } @@ -156,9 +184,17 @@ func WithBackoffJitter(j float64) Option { func WithMinConnectTimeout(dur string) Option { return func(g *gRPCClient) { + if len(dur) == 0 { + return + } d, err := timeutil.Parse(dur) if err != nil { - d = time.Second + log.Errorf("failed to parse minimum connection timeout: %v", err) + return + } + if d <= 0 { + log.Errorf("invalid minimum connection timeout: %d", d) + return } g.mcd = d } @@ -303,10 +339,20 @@ func WithKeepaliveParams(t, to string, permitWithoutStream bool) Option { } td, err := timeutil.Parse(t) if err != nil { + log.Errorf("failed to parse grpc keepalive time: %v", err) + return + } + if td <= 0 { + log.Errorf("invalid grpc keepalive time: %d", td) return } tod, err := timeutil.Parse(t) if err != nil { + log.Errorf("failed to parse grpc keepalive timeout: %v", err) + return + } + if tod <= 0 { + log.Errorf("invalid grpc keepalive timeout: %d", tod) return } g.dopts = append(g.dopts, diff --git a/internal/net/http/metrics/pprof.go b/internal/net/http/metrics/pprof.go index e938ab8683..d7d5c258ce 100644 --- a/internal/net/http/metrics/pprof.go +++ b/internal/net/http/metrics/pprof.go @@ -21,102 +21,114 @@ import ( "net/http" "net/http/pprof" + "github.com/felixge/fgprof" "github.com/vdaas/vald/internal/net/http/rest" "github.com/vdaas/vald/internal/net/http/routing" ) -// NewPProfRoutes returns PProf server route&method information from debug flag. -func NewPProfHandler() http.Handler { - return routing.New( - routing.WithRoutes([]routing.Route{ - { - Name: "Debug pprof", - Methods: []string{ - http.MethodGet, - }, - Pattern: "/debug/pprof/", - HandlerFunc: rest.HandlerToRestFunc(pprof.Index), +func GetProfileRoutes() (r []routing.Route) { + return []routing.Route{ + { + Name: "Debug pprof", + Methods: []string{ + http.MethodGet, }, - { - Name: "Debug cmdline", - Methods: []string{ - http.MethodGet, - }, - Pattern: "/debug/pprof/cmdline", - HandlerFunc: rest.HandlerToRestFunc(pprof.Cmdline), + Pattern: "/debug/pprof/", + HandlerFunc: rest.HandlerToRestFunc(pprof.Index), + }, + { + Name: "Debug cmdline", + Methods: []string{ + http.MethodGet, }, - { - Name: "Debug profile", - Methods: []string{ - http.MethodGet, - }, - Pattern: "/debug/pprof/profile", - HandlerFunc: rest.HandlerToRestFunc(pprof.Profile), + Pattern: "/debug/pprof/cmdline", + HandlerFunc: rest.HandlerToRestFunc(pprof.Cmdline), + }, + { + Name: "Debug profile", + Methods: []string{ + http.MethodGet, }, - { - Name: "Debug symbol profile", - Methods: []string{ - http.MethodGet, - }, - Pattern: "/debug/pprof/symbol", - HandlerFunc: rest.HandlerToRestFunc(pprof.Symbol), + Pattern: "/debug/pprof/profile", + HandlerFunc: rest.HandlerToRestFunc(pprof.Profile), + }, + { + Name: "Debug symbol profile", + Methods: []string{ + http.MethodGet, }, - { - Name: "Debug trace profile", - Methods: []string{ - http.MethodGet, - }, - Pattern: "/debug/pprof/trace", - HandlerFunc: rest.HandlerToRestFunc(pprof.Trace), + Pattern: "/debug/pprof/symbol", + HandlerFunc: rest.HandlerToRestFunc(pprof.Symbol), + }, + { + Name: "Debug trace profile", + Methods: []string{ + http.MethodGet, }, - { - Name: "Debug allocs profile", - Methods: []string{ - http.MethodGet, - }, - Pattern: "/debug/pprof/allocs", - HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("allocs").ServeHTTP), + Pattern: "/debug/pprof/trace", + HandlerFunc: rest.HandlerToRestFunc(pprof.Trace), + }, + { + Name: "Debug allocs profile", + Methods: []string{ + http.MethodGet, }, - { - Name: "Debug heap profile", - Methods: []string{ - http.MethodGet, - }, - Pattern: "/debug/pprof/heap", - HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("heap").ServeHTTP), + Pattern: "/debug/pprof/allocs", + HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("allocs").ServeHTTP), + }, + { + Name: "Debug heap profile", + Methods: []string{ + http.MethodGet, }, - { - Name: "Debug goroutine profile", - Methods: []string{ - http.MethodGet, - }, - Pattern: "/debug/pprof/goroutine", - HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("goroutine").ServeHTTP), + Pattern: "/debug/pprof/heap", + HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("heap").ServeHTTP), + }, + { + Name: "Debug goroutine profile", + Methods: []string{ + http.MethodGet, }, - { - Name: "Debug thread profile", - Methods: []string{ - http.MethodGet, - }, - Pattern: "/debug/pprof/threadcreate", - HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("threadcreate").ServeHTTP), + Pattern: "/debug/pprof/goroutine", + HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("goroutine").ServeHTTP), + }, + { + Name: "Debug thread profile", + Methods: []string{ + http.MethodGet, }, - { - Name: "Debug block profile", - Methods: []string{ - http.MethodGet, - }, - Pattern: "/debug/pprof/block", - HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("block").ServeHTTP), + Pattern: "/debug/pprof/threadcreate", + HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("threadcreate").ServeHTTP), + }, + { + Name: "Debug block profile", + Methods: []string{ + http.MethodGet, }, - - { - Name: "Debug mutex profile", - Methods: []string{ - http.MethodGet, - }, - Pattern: "/debug/pprof/mutex", - HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("mutex").ServeHTTP), + Pattern: "/debug/pprof/block", + HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("block").ServeHTTP), + }, + { + Name: "Debug mutex profile", + Methods: []string{ + http.MethodGet, + }, + Pattern: "/debug/pprof/mutex", + HandlerFunc: rest.HandlerToRestFunc(pprof.Handler("mutex").ServeHTTP), + }, + { + Name: "Debug fgprof profile", + Methods: []string{ + http.MethodGet, }, - }...)) + Pattern: "/debug/fgprof", + HandlerFunc: rest.HandlerToRestFunc(fgprof.Handler().ServeHTTP), + }, + } +} + +// NewPProfRoutes returns PProf server route&method information from debug flag. +func NewPProfHandler() http.Handler { + return routing.New( + routing.WithRoutes(GetProfileRoutes()...)) } diff --git a/internal/net/http/metrics/pprof_test.go b/internal/net/http/metrics/pprof_test.go index 0b18c53ce4..48a3657843 100644 --- a/internal/net/http/metrics/pprof_test.go +++ b/internal/net/http/metrics/pprof_test.go @@ -13,24 +13,27 @@ // limitations under the License. package metrics -import "testing" +import ( + "net/http" + "net/http/httptest" + "testing" +) func TestNewPProfHandler(t *testing.T) { - tests := []struct { - name string - initialized bool - }{ - { - name: "initialize success", - initialized: true, - }, - } + handler := NewPProfHandler() + server := httptest.NewServer(handler) + defer server.Close() + + for _, route := range GetProfileRoutes() { + t.Run(route.Name, func(t *testing.T) { + resp, err := http.Get(server.URL + route.Pattern) + if err != nil { + t.Errorf("Failed to make GET request for %s: %v", route.Name, err) + } + defer resp.Body.Close() - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - got := NewPProfHandler() - if (got != nil) != tt.initialized { - t.Error("NewPProfHandler() is wrong.") + if resp.StatusCode != http.StatusOK { + t.Errorf("Expected status code 200 for %s, got %d", route.Name, resp.StatusCode) } }) } diff --git a/internal/safety/safety.go b/internal/safety/safety.go index 9e3a0c0e29..f26ae577bb 100644 --- a/internal/safety/safety.go +++ b/internal/safety/safety.go @@ -38,12 +38,12 @@ func recoverFn(fn func() error, withPanic bool) func() error { defer func() { if r := recover(); r != nil { infoStr := info.Get().String() - log.Warnf("recovered: %#v\nstacktrace:\n%s", r, infoStr) + log.Warnf("function %#v panic recovered: %#v\ninfo:\n%s", fn, r, infoStr) switch x := r.(type) { case runtime.Error: err = errors.ErrRuntimeError(err, x) if withPanic { - log.Errorf("recovered but this thread is going to panic: the reason is runtimer.Error\nerror: %v\ninfo:\n%s\nstacktrace:\n%s", err, infoStr) + log.Errorf("recovered but this thread is going to panic: the reason is runtimer.Error\nerror:\t%v\ninfo:\n%s\nrecovered:\t%#v", err, infoStr, r) panic(err) } @@ -57,7 +57,7 @@ func recoverFn(fn func() error, withPanic bool) func() error { err = errors.ErrPanicRecovered(err, x) } if err != nil { - log.Errorf("recovered error: %v\ninfo:\n%s\nstacktrace:\n%s", err, infoStr) + log.Errorf("function %#v panic recovered error:\t%v\ninfo:\n%s\nrecovered:\t%#v", fn, err, infoStr, r) } } }() diff --git a/k8s/agent/ngt/configmap.yaml b/k8s/agent/ngt/configmap.yaml index cbe05d8702..e5f207c05d 100644 --- a/k8s/agent/ngt/configmap.yaml +++ b/k8s/agent/ngt/configmap.yaml @@ -87,9 +87,10 @@ data: read_timeout: "" shutdown_duration: 5s write_timeout: "" - mode: "" + mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false @@ -111,9 +112,10 @@ data: read_timeout: "" shutdown_duration: 0s write_timeout: "" - mode: "" + mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false @@ -139,6 +141,7 @@ data: mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false diff --git a/k8s/discoverer/configmap.yaml b/k8s/discoverer/configmap.yaml index 114ba74f54..508421d40c 100644 --- a/k8s/discoverer/configmap.yaml +++ b/k8s/discoverer/configmap.yaml @@ -87,9 +87,10 @@ data: read_timeout: "" shutdown_duration: 5s write_timeout: "" - mode: "" + mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false @@ -111,9 +112,10 @@ data: read_timeout: "" shutdown_duration: 0s write_timeout: "" - mode: "" + mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false @@ -139,6 +141,7 @@ data: mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false diff --git a/k8s/discoverer/deployment.yaml b/k8s/discoverer/deployment.yaml index d919aeb6a0..e3a3d57212 100644 --- a/k8s/discoverer/deployment.yaml +++ b/k8s/discoverer/deployment.yaml @@ -46,7 +46,7 @@ spec: app.kubernetes.io/instance: release-name app.kubernetes.io/component: discoverer annotations: - checksum/configmap: 3576aef4e662ff42d12a62b3bf5e3976ad5977b31d53b08f070ec4c5e6825b2e + checksum/configmap: c1664a7fa169aab131d0279a7802bfa6bfdbbd83fdb17e5cad70143e8357c69f profefe.com/enable: "true" profefe.com/port: "6060" profefe.com/service: vald-discoverer diff --git a/k8s/gateway/gateway/lb/configmap.yaml b/k8s/gateway/gateway/lb/configmap.yaml index 7e9f8605f6..dacd773fa2 100644 --- a/k8s/gateway/gateway/lb/configmap.yaml +++ b/k8s/gateway/gateway/lb/configmap.yaml @@ -87,9 +87,10 @@ data: read_timeout: "" shutdown_duration: 5s write_timeout: "" - mode: "" + mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false @@ -111,9 +112,10 @@ data: read_timeout: "" shutdown_duration: 0s write_timeout: "" - mode: "" + mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false @@ -139,6 +141,7 @@ data: mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false diff --git a/k8s/gateway/gateway/lb/deployment.yaml b/k8s/gateway/gateway/lb/deployment.yaml index 44dc9b6181..95d2e41cd6 100644 --- a/k8s/gateway/gateway/lb/deployment.yaml +++ b/k8s/gateway/gateway/lb/deployment.yaml @@ -45,7 +45,7 @@ spec: app.kubernetes.io/instance: release-name app.kubernetes.io/component: gateway-lb annotations: - checksum/configmap: 9be7108fab18302bca4c553ace0bfda5b1f7449bb5956ff795496693da400f13 + checksum/configmap: 197ae1dffeb538177df847a7cc24057514955477b909c357fce83db14d4c43a1 profefe.com/enable: "true" profefe.com/port: "6060" profefe.com/service: vald-lb-gateway diff --git a/k8s/manager/index/configmap.yaml b/k8s/manager/index/configmap.yaml index 021f44e776..db515d404a 100644 --- a/k8s/manager/index/configmap.yaml +++ b/k8s/manager/index/configmap.yaml @@ -87,9 +87,10 @@ data: read_timeout: "" shutdown_duration: 5s write_timeout: "" - mode: "" + mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false @@ -111,9 +112,10 @@ data: read_timeout: "" shutdown_duration: 0s write_timeout: "" - mode: "" + mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false @@ -139,6 +141,7 @@ data: mode: REST network: tcp probe_wait_time: 3s + restart: true socket_option: ip_recover_destination_addr: false ip_transparent: false diff --git a/k8s/manager/index/deployment.yaml b/k8s/manager/index/deployment.yaml index 61b847553f..6836917831 100644 --- a/k8s/manager/index/deployment.yaml +++ b/k8s/manager/index/deployment.yaml @@ -46,7 +46,7 @@ spec: app.kubernetes.io/instance: release-name app.kubernetes.io/component: manager-index annotations: - checksum/configmap: a7f406999d62770af1134699e65d5283c6df909bd3e2b9571b75b66a69cec18d + checksum/configmap: b8d9b266c9a3287471fb49379255e815e40e91e8b69e680fcf4e5e99be1bf080 profefe.com/enable: "true" profefe.com/port: "6060" profefe.com/service: vald-manager-index diff --git a/k8s/operator/helm/crds/valdrelease.yaml b/k8s/operator/helm/crds/valdrelease.yaml index afaddd335d..dff6669d2e 100644 --- a/k8s/operator/helm/crds/valdrelease.yaml +++ b/k8s/operator/helm/crds/valdrelease.yaml @@ -549,6 +549,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -643,6 +645,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -749,6 +753,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -936,6 +942,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -1418,6 +1426,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -1512,6 +1522,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -1618,6 +1630,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -1805,6 +1819,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -2261,6 +2277,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -2355,6 +2373,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -2461,6 +2481,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -2648,6 +2670,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -3120,6 +3144,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -3214,6 +3240,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -3320,6 +3348,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -3507,6 +3537,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -4483,6 +4515,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -4577,6 +4611,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -4683,6 +4719,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -4870,6 +4908,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -5819,6 +5859,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -5913,6 +5955,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -6019,6 +6063,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -6206,6 +6252,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -6875,6 +6923,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -6969,6 +7019,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -7075,6 +7127,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -7262,6 +7316,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -7939,6 +7995,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -8033,6 +8091,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -8139,6 +8199,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -8326,6 +8388,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -8913,6 +8977,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -9007,6 +9073,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -9113,6 +9181,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -9300,6 +9370,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10149,6 +10221,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10243,6 +10317,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10349,6 +10425,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10536,6 +10614,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10811,6 +10891,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -10905,6 +10987,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -11011,6 +11095,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -11198,6 +11284,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -11807,6 +11895,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -11901,6 +11991,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12007,6 +12099,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12194,6 +12288,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12325,6 +12421,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12419,6 +12517,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12525,6 +12625,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: @@ -12712,6 +12814,8 @@ spec: - unixpacket probe_wait_time: type: string + restart: + type: boolean socket_option: type: object properties: diff --git a/pkg/gateway/lb/handler/grpc/aggregation.go b/pkg/gateway/lb/handler/grpc/aggregation.go index 81423c6bd2..21eededf57 100644 --- a/pkg/gateway/lb/handler/grpc/aggregation.go +++ b/pkg/gateway/lb/handler/grpc/aggregation.go @@ -39,6 +39,8 @@ import ( type Aggregator interface { Start(ctx context.Context) Send(ctx context.Context, data *payload.Search_Response) + GetNum() int // get top-k number + GetFnum() int // get forwarding top-k number calculated by search ratio Result() *payload.Search_Response } @@ -47,8 +49,11 @@ type DistPayload struct { distance *big.Float } -func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, cfg *payload.Search_Config, - f func(ctx context.Context, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error)) ( +func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, + bcfg *payload.Search_Config, // Base Config of Request + f func(ctx context.Context, + fcfg *payload.Search_Config, // Forwarding Config to Agent + vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error)) ( res *payload.Search_Response, err error, ) { ctx, span := trace.StartSpan(grpc.WrapGRPCMethod(ctx, "aggregationSearch"), apiName+"/aggregationSearch") @@ -58,15 +63,20 @@ func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, cfg *pa } }() - num := int(cfg.GetNum()) - min := int(cfg.GetMinNum()) + num := aggr.GetNum() + min := int(bcfg.GetMinNum()) + var timeout time.Duration - if to := cfg.GetTimeout(); to != 0 { + if to := bcfg.GetTimeout(); to != 0 { timeout = time.Duration(to) } else { timeout = s.timeout } + fcfg := bcfg.CloneVT() // Forwarding Config to Agent, this config need to modify like below so it should be cloned + fcfg.Num = uint32(aggr.GetFnum()) + fcfg.MinNum = 0 + ctx, cancel := context.WithTimeout(ctx, timeout) aggr.Start(ctx) err = s.gateway.BroadCast(ctx, service.READ, func(ctx context.Context, target string, vc vald.Client, copts ...grpc.CallOption) error { @@ -76,7 +86,7 @@ func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, cfg *pa sspan.End() } }() - r, err := f(sctx, vc, copts...) + r, err := f(sctx, fcfg, vc, copts...) if err != nil { switch { case errors.Is(err, context.Canceled), @@ -143,7 +153,7 @@ func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, cfg *pa log.Debug(err) return nil default: - r, err = f(sctx, vc, copts...) + r, err = f(sctx, fcfg, vc, copts...) if err != nil { switch { case errors.Is(err, context.Canceled), @@ -217,8 +227,8 @@ func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, cfg *pa if errors.Is(err, errors.ErrGRPCClientConnNotFound("*")) { err = status.WrapWithInternal("search API connection not found", err, &errdetails.RequestInfo{ - RequestId: cfg.GetRequestId(), - ServingData: errdetails.Serialize(cfg), + RequestId: bcfg.GetRequestId(), + ServingData: errdetails.Serialize(bcfg), }, &errdetails.ResourceInfo{ ResourceType: errdetails.ValdGRPCResourceTypePrefix + "/vald.v1.search", @@ -242,8 +252,8 @@ func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, cfg *pa "error search result length is 0 due to the timeoutage limit", errors.ErrEmptySearchResult, &errdetails.RequestInfo{ - RequestId: cfg.GetRequestId(), - ServingData: errdetails.Serialize(cfg), + RequestId: bcfg.GetRequestId(), + ServingData: errdetails.Serialize(bcfg), }, &errdetails.ResourceInfo{ ResourceType: errdetails.ValdGRPCResourceTypePrefix + "/vald.v1.search", @@ -262,8 +272,8 @@ func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, cfg *pa fmt.Sprintf("error search result length is not enough due to the timeoutage limit, required: %d, found: %d", min, len(res.GetResults())), errors.ErrInsuffcientSearchResult, &errdetails.RequestInfo{ - RequestId: cfg.GetRequestId(), - ServingData: errdetails.Serialize(cfg), + RequestId: bcfg.GetRequestId(), + ServingData: errdetails.Serialize(bcfg), }, &errdetails.ResourceInfo{ ResourceType: errdetails.ValdGRPCResourceTypePrefix + "/vald.v1.search", @@ -283,8 +293,8 @@ func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, cfg *pa st, msg, err := status.ParseError(err, codes.Internal, "failed to parse search gRPC error response", &errdetails.RequestInfo{ - RequestId: cfg.GetRequestId(), - ServingData: errdetails.Serialize(cfg), + RequestId: bcfg.GetRequestId(), + ServingData: errdetails.Serialize(bcfg), }, &errdetails.ResourceInfo{ ResourceType: errdetails.ValdGRPCResourceTypePrefix + "/vald.v1.search", @@ -306,8 +316,8 @@ func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, cfg *pa } err = status.WrapWithNotFound("error search result length is 0", err, &errdetails.RequestInfo{ - RequestId: cfg.GetRequestId(), - ServingData: errdetails.Serialize(cfg), + RequestId: bcfg.GetRequestId(), + ServingData: errdetails.Serialize(bcfg), }, &errdetails.ResourceInfo{ ResourceType: errdetails.ValdGRPCResourceTypePrefix + "/vald.v1.search", @@ -334,8 +344,8 @@ func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, cfg *pa fmt.Sprintf("error search result length is not enough required: %d, found: %d", min, len(res.GetResults())), errors.ErrInsuffcientSearchResult, &errdetails.RequestInfo{ - RequestId: cfg.GetRequestId(), - ServingData: errdetails.Serialize(cfg), + RequestId: bcfg.GetRequestId(), + ServingData: errdetails.Serialize(bcfg), }, &errdetails.ResourceInfo{ ResourceType: errdetails.ValdGRPCResourceTypePrefix + "/vald.v1.search", @@ -349,13 +359,14 @@ func (s *server) aggregationSearch(ctx context.Context, aggr Aggregator, cfg *pa } return nil, err } - res.RequestId = cfg.GetRequestId() + res.RequestId = bcfg.GetRequestId() return res, nil } // vald standard algorithm. type valdStdAggr struct { - num int + num int // top-k number + fnum int // forward top-k number wg sync.WaitGroup dch chan DistPayload closed atomic.Bool @@ -365,10 +376,11 @@ type valdStdAggr struct { cancel context.CancelFunc } -func newStd(num, replica int) Aggregator { +func newStd(num, fnum, replica int) Aggregator { vsa := &valdStdAggr{ - num: num, - dch: make(chan DistPayload, num*replica), + num: num, + fnum: fnum, + dch: make(chan DistPayload, num*replica), maxDist: func() (av atomic.Value) { av.Store(big.NewFloat(math.MaxFloat64)) return av @@ -450,8 +462,8 @@ func (v *valdStdAggr) Start(ctx context.Context) { func (v *valdStdAggr) Send(ctx context.Context, data *payload.Search_Response) { result := data.GetResults() - if len(result) > v.num { - result = result[:v.num] + if len(result) > v.fnum { + result = result[:v.fnum] } for _, dist := range result { if dist != nil { @@ -485,18 +497,34 @@ func (v *valdStdAggr) Result() *payload.Search_Response { } } +func (v *valdStdAggr) GetNum() int { + if v != nil { + return v.num + } + return 0 +} + +func (v *valdStdAggr) GetFnum() int { + if v != nil { + return v.fnum + } + return 0 +} + // pairing heap. type valdPairingHeapAggr struct { - num int + num int // top-k number + fnum int // forward top-k number ph *PairingHeap mu sync.Mutex visited sync.Map[string, any] result []*payload.Object_Distance } -func newPairingHeap(num, replica int) Aggregator { +func newPairingHeap(num, fnum, replica int) Aggregator { return &valdPairingHeapAggr{ num: num, + fnum: fnum, ph: new(PairingHeap), result: make([]*payload.Object_Distance, 0, num), } @@ -506,8 +534,8 @@ func (v *valdPairingHeapAggr) Start(_ context.Context) {} func (v *valdPairingHeapAggr) Send(ctx context.Context, data *payload.Search_Response) { result := data.GetResults() - if len(result) > v.num { - result = result[:v.num] + if len(result) > v.fnum { + result = result[:v.fnum] } for _, dist := range result { if dist != nil { @@ -544,16 +572,32 @@ func (v *valdPairingHeapAggr) Result() *payload.Search_Response { } } +func (v *valdPairingHeapAggr) GetNum() int { + if v != nil { + return v.num + } + return 0 +} + +func (v *valdPairingHeapAggr) GetFnum() int { + if v != nil { + return v.fnum + } + return 0 +} + // plane sort. type valdSliceAggr struct { - num int + num int // top-k number + fnum int // forward top-k number mu sync.Mutex result []*DistPayload } -func newSlice(num, replica int) Aggregator { +func newSlice(num, fnum, replica int) Aggregator { return &valdSliceAggr{ num: num, + fnum: fnum, result: make([]*DistPayload, 0, num*replica), } } @@ -562,8 +606,8 @@ func (*valdSliceAggr) Start(_ context.Context) {} func (v *valdSliceAggr) Send(ctx context.Context, data *payload.Search_Response) { result := data.GetResults() - if len(result) > v.num { - result = result[:v.num] + if len(result) > v.fnum { + result = result[:v.fnum] } for _, dist := range result { if dist != nil { @@ -597,9 +641,24 @@ func (v *valdSliceAggr) Result() (res *payload.Search_Response) { return res } +func (v *valdSliceAggr) GetNum() int { + if v != nil { + return v.num + } + return 0 +} + +func (v *valdSliceAggr) GetFnum() int { + if v != nil { + return v.fnum + } + return 0 +} + // plane sort. type valdPoolSliceAggr struct { - num int + num int // top-k number + fnum int // forward top-k number mu sync.Mutex result []*DistPayload } @@ -613,13 +672,14 @@ var ( poolLen atomic.Uint64 ) -func newPoolSlice(num, replica int) Aggregator { +func newPoolSlice(num, fnum, replica int) Aggregator { l := uint64(num * replica) if poolLen.Load() < l { poolLen.Store(l) } return &valdPoolSliceAggr{ num: num, + fnum: fnum, result: poolDist.Get().([]*DistPayload), } } @@ -628,8 +688,8 @@ func (_ *valdPoolSliceAggr) Start(_ context.Context) {} func (v *valdPoolSliceAggr) Send(ctx context.Context, data *payload.Search_Response) { result := data.GetResults() - if len(result) > v.num { - result = result[:v.num] + if len(result) > v.fnum { + result = result[:v.fnum] } for _, dist := range result { if dist != nil { @@ -664,6 +724,20 @@ func (v *valdPoolSliceAggr) Result() (res *payload.Search_Response) { return res } +func (v *valdPoolSliceAggr) GetNum() int { + if v != nil { + return v.num + } + return 0 +} + +func (v *valdPoolSliceAggr) GetFnum() int { + if v != nil { + return v.fnum + } + return 0 +} + func removeDuplicates[S ~[]E, E comparable](x S, less func(left, right E) int) S { if len(x) < 2 { return x diff --git a/pkg/gateway/lb/handler/grpc/handler.go b/pkg/gateway/lb/handler/grpc/handler.go index ea3c8d150c..8959095f6d 100644 --- a/pkg/gateway/lb/handler/grpc/handler.go +++ b/pkg/gateway/lb/handler/grpc/handler.go @@ -21,6 +21,7 @@ import ( "context" "fmt" "io" + "math" "slices" "strconv" "sync/atomic" @@ -296,22 +297,8 @@ func (s *server) Search(ctx context.Context, req *payload.Search_Request) (res * } return nil, err } - cfg := req.GetConfig() - mn := cfg.GetMinNum() - if req.Config != nil { - req.Config.MinNum = 0 - } - res, err = s.doSearch(ctx, &payload.Search_Config{ - RequestId: cfg.GetRequestId(), - Num: cfg.GetNum(), - MinNum: mn, - Radius: cfg.GetRadius(), - Epsilon: cfg.GetEpsilon(), - Timeout: cfg.GetTimeout(), - IngressFilters: cfg.GetIngressFilters(), - EgressFilters: cfg.GetEgressFilters(), - AggregationAlgorithm: cfg.GetAggregationAlgorithm(), - }, func(ctx context.Context, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + res, err = s.doSearch(ctx, req.GetConfig(), func(ctx context.Context, fcfg *payload.Search_Config, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + req.Config = fcfg return vc.Search(ctx, req, copts...) }) if err != nil { @@ -337,7 +324,7 @@ func (s *server) Search(ctx context.Context, req *payload.Search_Request) (res * func (s *server) SearchByID(ctx context.Context, req *payload.Search_IDRequest) ( res *payload.Search_Response, err error, ) { - ctx, span := trace.StartSpan(grpc.WithGRPCMethod(ctx, vald.PackageName+"."+vald.SearchRPCServiceName+"/"+vald.SearchByIDRPCName), apiName+"/"+vald.SearchRPCName) + ctx, span := trace.StartSpan(grpc.WithGRPCMethod(ctx, vald.PackageName+"."+vald.SearchRPCServiceName+"/"+vald.SearchByIDRPCName), apiName+"/"+vald.SearchByIDRPCName) defer func() { if span != nil { span.End() @@ -371,22 +358,6 @@ func (s *server) SearchByID(ctx context.Context, req *payload.Search_IDRequest) return nil, err } vec, err := s.getObject(ctx, uuid) - cfg := req.GetConfig() - mn := cfg.GetMinNum() - if req.Config != nil { - req.Config.MinNum = 0 - } - scfg := &payload.Search_Config{ - RequestId: cfg.GetRequestId(), - Num: cfg.GetNum(), - MinNum: mn, - Radius: cfg.GetRadius(), - Epsilon: cfg.GetEpsilon(), - Timeout: cfg.GetTimeout(), - IngressFilters: cfg.GetIngressFilters(), - EgressFilters: cfg.GetEgressFilters(), - AggregationAlgorithm: cfg.GetAggregationAlgorithm(), - } if err != nil { var ( attrs trace.Attributes @@ -436,7 +407,9 @@ func (s *server) SearchByID(ctx context.Context, req *payload.Search_IDRequest) } return nil, err } - res, err = s.doSearch(ctx, scfg, func(ctx context.Context, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + // try search by using agent's SearchByID method this operation is emergency fallback, the search quality is not same as usual SearchByID operation. + res, err = s.doSearch(ctx, req.GetConfig(), func(ctx context.Context, fcfg *payload.Search_Config, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + req.Config = fcfg return vc.SearchByID(ctx, req, copts...) }) if err == nil { @@ -452,12 +425,16 @@ func (s *server) SearchByID(ctx context.Context, req *payload.Search_IDRequest) } res, err = s.Search(ctx, &payload.Search_Request{ Vector: vec.GetVector(), - Config: scfg, + Config: req.GetConfig(), }) if err != nil { - res, err = s.doSearch(ctx, scfg, func(ctx context.Context, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + res, err = s.doSearch(ctx, req.GetConfig(), func(ctx context.Context, fcfg *payload.Search_Config, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + req.Config = fcfg return vc.SearchByID(ctx, req, copts...) }) + if err == nil { + return res, nil + } if err != nil { st, msg, err := status.ParseError(err, codes.Internal, vald.SearchByIDRPCName+" API failed to process search request", reqInfo, resInfo) if span != nil { @@ -471,8 +448,26 @@ func (s *server) SearchByID(ctx context.Context, req *payload.Search_IDRequest) return res, nil } +// calculateNum adjusts the number of search results based on the ratio and the number of replicas. +// It ensures that the number of results is not less than the minimum required and adjusts based on the provided ratio. +func (s *server) calculateNum(ctx context.Context, num uint32, ratio float32) (n uint32) { + min := float64(s.replica) / float64(len(s.gateway.Addrs(ctx))) + if ratio < 0.0 { + return uint32(math.Ceil(float64(num) * min)) + } + if ratio == 0.0 { + return num + } + n = uint32(math.Ceil(float64(num) * (min + ((1 - min) * float64(ratio))))) + sn := uint32(math.Ceil(float64(num) * min)) + if n-1 < sn { + return sn + } + return n - 1 +} + func (s *server) doSearch(ctx context.Context, cfg *payload.Search_Config, - f func(ctx context.Context, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error)) ( + f func(ctx context.Context, cfg *payload.Search_Config, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error)) ( res *payload.Search_Response, err error, ) { ctx, span := trace.StartSpan(grpc.WrapGRPCMethod(ctx, "doSearch"), apiName+"/doSearch") @@ -483,25 +478,34 @@ func (s *server) doSearch(ctx context.Context, cfg *payload.Search_Config, }() var ( - aggr Aggregator num = int(cfg.GetNum()) + fnum int replica = s.gateway.GetAgentCount(ctx) ) - switch cfg.GetAggregationAlgorithm() { - case payload.Search_Unknown: - aggr = newStd(num, replica) - case payload.Search_ConcurrentQueue: - aggr = newStd(num, replica) + + if cfg.GetRatio() != nil { + fnum = int(s.calculateNum(ctx, cfg.GetNum(), cfg.GetRatio().GetValue())) + } + if fnum <= 0 { + fnum = num + } + + return s.aggregationSearch(ctx, selectAggregator(cfg.GetAggregationAlgorithm(), num, fnum, replica), cfg, f) +} + +func selectAggregator(algo payload.Search_AggregationAlgorithm, num, fnum, replica int) Aggregator { + switch algo { + case payload.Search_Unknown, payload.Search_ConcurrentQueue: + return newStd(num, fnum, replica) case payload.Search_SortSlice: - aggr = newSlice(num, replica) + return newSlice(num, fnum, replica) case payload.Search_SortPoolSlice: - aggr = newPoolSlice(num, replica) + return newPoolSlice(num, fnum, replica) case payload.Search_PairingHeap: - aggr = newPairingHeap(num, replica) + return newPairingHeap(num, fnum, replica) default: - aggr = newStd(num, replica) + return newStd(num, fnum, replica) } - return s.aggregationSearch(ctx, aggr, cfg, f) } func (s *server) StreamSearch(stream vald.Search_StreamSearchServer) (err error) { @@ -779,20 +783,8 @@ func (s *server) LinearSearch(ctx context.Context, req *payload.Search_Request) } return nil, err } - cfg := req.GetConfig() - mn := cfg.GetMinNum() - if req.Config != nil { - req.Config.MinNum = 0 - } - res, err = s.doSearch(ctx, &payload.Search_Config{ - RequestId: cfg.GetRequestId(), - Num: cfg.GetNum(), - MinNum: mn, - Timeout: cfg.GetTimeout(), - IngressFilters: cfg.GetIngressFilters(), - EgressFilters: cfg.GetEgressFilters(), - AggregationAlgorithm: cfg.GetAggregationAlgorithm(), - }, func(ctx context.Context, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + res, err = s.doSearch(ctx, req.GetConfig(), func(ctx context.Context, fcfg *payload.Search_Config, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + req.Config = fcfg return vc.LinearSearch(ctx, req, copts...) }) if err != nil { @@ -824,16 +816,16 @@ func (s *server) LinearSearchByID(ctx context.Context, req *payload.Search_IDReq span.End() } }() - uuid := req.GetId() reqInfo := &errdetails.RequestInfo{ - RequestId: uuid, + RequestId: uuid, + ServingData: errdetails.Serialize(req), } resInfo := &errdetails.ResourceInfo{ ResourceType: errdetails.ValdGRPCResourceTypePrefix + "/vald.v1." + vald.LinearSearchByIDRPCName, ResourceName: fmt.Sprintf("%s: %s(%s) to %v", apiName, s.name, s.ip, s.gateway.Addrs(ctx)), } - if len(req.GetId()) == 0 { + if len(uuid) == 0 { err = errors.ErrInvalidMetaDataConfig err = status.WrapWithInvalidArgument(vald.LinearSearchByIDRPCName+" API invalid uuid", err, reqInfo, resInfo, &errdetails.BadRequest{ @@ -852,20 +844,6 @@ func (s *server) LinearSearchByID(ctx context.Context, req *payload.Search_IDReq return nil, err } vec, err := s.getObject(ctx, uuid) - cfg := req.GetConfig() - mn := cfg.GetMinNum() - if req.Config != nil { - req.Config.MinNum = 0 - } - scfg := &payload.Search_Config{ - RequestId: cfg.GetRequestId(), - Num: cfg.GetNum(), - MinNum: mn, - Timeout: cfg.GetTimeout(), - IngressFilters: cfg.GetIngressFilters(), - EgressFilters: cfg.GetEgressFilters(), - AggregationAlgorithm: cfg.GetAggregationAlgorithm(), - } if err != nil { var ( attrs trace.Attributes @@ -875,7 +853,7 @@ func (s *server) LinearSearchByID(ctx context.Context, req *payload.Search_IDReq switch { case errors.Is(err, errors.ErrInvalidUUID(uuid)): err = status.WrapWithInvalidArgument( - vald.GetObjectRPCName+" API for "+vald.SearchByIDRPCName+" API invalid argument for uuid \""+uuid+"\" detected", + vald.GetObjectRPCName+" API for "+vald.LinearSearchByIDRPCName+" API invalid argument for uuid \""+uuid+"\" detected", err, reqInfo, resInfo, @@ -890,18 +868,18 @@ func (s *server) LinearSearchByID(ctx context.Context, req *payload.Search_IDReq ) attrs = trace.StatusCodeInvalidArgument(err.Error()) case errors.Is(err, errors.ErrGRPCClientConnNotFound("*")): - err = status.WrapWithInternal(vald.GetObjectRPCName+" API for "+vald.SearchByIDRPCName+" API connection not found", err, reqInfo, resInfo) + err = status.WrapWithInternal(vald.GetObjectRPCName+" API for "+vald.LinearSearchByIDRPCName+" API connection not found", err, reqInfo, resInfo) attrs = trace.StatusCodeInternal(err.Error()) case errors.Is(err, context.Canceled): - err = status.WrapWithCanceled(vald.GetObjectRPCName+" API for "+vald.SearchByIDRPCName+" API canceled", err, reqInfo, resInfo) + err = status.WrapWithCanceled(vald.GetObjectRPCName+" API for "+vald.LinearSearchByIDRPCName+" API canceled", err, reqInfo, resInfo) attrs = trace.StatusCodeCancelled(err.Error()) case errors.Is(err, context.DeadlineExceeded): - err = status.WrapWithDeadlineExceeded(vald.GetObjectRPCName+" API for "+vald.SearchByIDRPCName+" API deadline exceeded", err, reqInfo, resInfo) + err = status.WrapWithDeadlineExceeded(vald.GetObjectRPCName+" API for "+vald.LinearSearchByIDRPCName+" API deadline exceeded", err, reqInfo, resInfo) attrs = trace.StatusCodeDeadlineExceeded(err.Error()) case errors.Is(err, errors.ErrObjectIDNotFound(uuid)), errors.Is(err, errors.ErrObjectNotFound(nil, uuid)): err = nil default: - st, msg, err = status.ParseError(err, codes.Unknown, vald.GetObjectRPCName+" API for "+vald.SearchByIDRPCName+" API uuid "+uuid+"'s request returned error", reqInfo, resInfo) + st, msg, err = status.ParseError(err, codes.Unknown, vald.GetObjectRPCName+" API for "+vald.LinearSearchByIDRPCName+" API uuid "+uuid+"'s request returned error", reqInfo, resInfo) attrs = trace.FromGRPCStatus(st.Code(), msg) if st == nil || st.Code() == codes.NotFound { err = nil @@ -915,7 +893,9 @@ func (s *server) LinearSearchByID(ctx context.Context, req *payload.Search_IDReq } return nil, err } - res, err = s.doSearch(ctx, scfg, func(ctx context.Context, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + // try search by using agent's LinearSearchByID method this operation is emergency fallback, the search quality is not same as usual LinearSearchByID operation. + res, err = s.doSearch(ctx, req.GetConfig(), func(ctx context.Context, fcfg *payload.Search_Config, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + req.Config = fcfg return vc.LinearSearchByID(ctx, req, copts...) }) if err == nil { @@ -929,25 +909,27 @@ func (s *server) LinearSearchByID(ctx context.Context, req *payload.Search_IDReq } return nil, err } - res, err = s.LinearSearch(ctx, &payload.Search_Request{ Vector: vec.GetVector(), - Config: scfg, + Config: req.GetConfig(), }) if err != nil { - res, err = s.doSearch(ctx, scfg, func(ctx context.Context, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + res, err = s.doSearch(ctx, req.GetConfig(), func(ctx context.Context, fcfg *payload.Search_Config, vc vald.Client, copts ...grpc.CallOption) (*payload.Search_Response, error) { + req.Config = fcfg return vc.LinearSearchByID(ctx, req, copts...) }) if err == nil { return res, nil } - st, msg, err := status.ParseError(err, codes.Internal, vald.LinearSearchByIDRPCName+" API failed to process search request", reqInfo, resInfo) - if span != nil { - span.RecordError(err) - span.SetAttributes(trace.FromGRPCStatus(st.Code(), msg)...) - span.SetStatus(trace.StatusError, err.Error()) + if err != nil { + st, msg, err := status.ParseError(err, codes.Internal, vald.LinearSearchByIDRPCName+" API failed to process search request", reqInfo, resInfo) + if span != nil { + span.RecordError(err) + span.SetAttributes(trace.FromGRPCStatus(st.Code(), msg)...) + span.SetStatus(trace.StatusError, err.Error()) + } + return nil, err } - return nil, err } return res, nil } diff --git a/pkg/gateway/lb/handler/grpc/search_benchmark_test.go b/pkg/gateway/lb/handler/grpc/search_benchmark_test.go index 98d79f1fb3..7251d07273 100644 --- a/pkg/gateway/lb/handler/grpc/search_benchmark_test.go +++ b/pkg/gateway/lb/handler/grpc/search_benchmark_test.go @@ -86,7 +86,7 @@ func newRandomResponse() (res *payload.Search_Response) { return res } -func benchmark(b *testing.B, results []*payload.Search_Response, anew func(n, r int) Aggregator) { +func benchmark(b *testing.B, results []*payload.Search_Response, anew func(n, f, r int) Aggregator) { ctx := context.Background() l := len(results) for k := 10; k < dataLength; k *= 10 { @@ -113,12 +113,12 @@ func benchmark(b *testing.B, results []*payload.Search_Response, anew func(n, r } } -func doSearchWithAggregator(ctx context.Context, k, concurrency int, anew func(n, r int) Aggregator, +func doSearchWithAggregator(ctx context.Context, k, concurrency int, anew func(n, f, r int) Aggregator, f func(ctx context.Context) *payload.Search_Response, ) (res *payload.Search_Response, err error) { eg, ectx := errgroup.New(ctx) eg.SetLimit(concurrency) - aggr := anew(k, concurrency) + aggr := anew(k, k, concurrency) aggr.Start(ectx) for i := 0; i < concurrency; i++ { eg.Go(func() error { diff --git a/rust/Cargo.lock b/rust/Cargo.lock index ec441bb120..d1f80abe16 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -26,9 +26,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" [[package]] name = "async-stream" @@ -65,9 +65,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" @@ -164,9 +164,9 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "cc" -version = "1.0.95" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" +checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" [[package]] name = "cfg-if" @@ -186,9 +186,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.121" +version = "1.0.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21db378d04296a84d8b7d047c36bb3954f0b46529db725d7e62fb02f9ba53ccc" +checksum = "bb497fad022245b29c2a0351df572e2d67c1046bcef2260ebc022aec81efea82" dependencies = [ "cc", "cxxbridge-flags", @@ -198,9 +198,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.121" +version = "1.0.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e5262a7fa3f0bae2a55b767c223ba98032d7c328f5c13fa5cdc980b77fc0658" +checksum = "9327c7f9fbd6329a200a5d4aa6f674c60ab256525ff0084b52a889d4e4c60cee" dependencies = [ "cc", "codespan-reporting", @@ -213,15 +213,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.121" +version = "1.0.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8dcadd2e2fb4a501e1d9e93d6e88e6ea494306d8272069c92d5a9edf8855c0" +checksum = "688c799a4a846f1c0acb9f36bb9c6272d9b3d9457f3633c7753c6057270df13c" [[package]] name = "cxxbridge-macro" -version = "1.0.121" +version = "1.0.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad08a837629ad949b73d032c637653d069e909cffe4ee7870b02301939ce39cc" +checksum = "928bc249a7e3cd554fd2e8e08a426e9670c50bbfc9a621653cfa9accc9641783" dependencies = [ "proc-macro2", "quote", @@ -297,9 +297,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -339,9 +339,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "http" @@ -430,7 +430,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -456,9 +456,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "link-cplusplus" @@ -629,9 +629,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" dependencies = [ "unicode-ident", ] @@ -719,9 +719,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustix" @@ -738,9 +738,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "092474d1a01ea8278f69e6a358998405fae5b8b963ddaeb2b0b04a128bf1dfb0" [[package]] name = "scratch" @@ -750,18 +750,18 @@ checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" [[package]] name = "serde" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" dependencies = [ "proc-macro2", "quote", @@ -785,9 +785,9 @@ checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys 0.52.0", @@ -816,9 +816,9 @@ checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" [[package]] name = "syn" -version = "2.0.60" +version = "2.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +checksum = "c993ed8ccba56ae856363b1845da7266a7cb78e1d146c8a32d54b45a8b831fc9" dependencies = [ "proc-macro2", "quote", @@ -863,18 +863,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.59" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" +checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.59" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" +checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" dependencies = [ "proc-macro2", "quote", @@ -919,16 +919,15 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] @@ -1052,9 +1051,9 @@ checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "want" @@ -1073,9 +1072,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "winapi-util" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134306a13c5647ad6453e8deaec55d3a44d6021970129e6188735e74bf546697" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ "windows-sys 0.52.0", ] diff --git a/rust/libs/proto/src/payload.v1.rs b/rust/libs/proto/src/payload.v1.rs index 8ab5db5b4d..25051403a4 100644 --- a/rust/libs/proto/src/payload.v1.rs +++ b/rust/libs/proto/src/payload.v1.rs @@ -110,6 +110,9 @@ pub mod search { /// Aggregation Algorithm #[prost(enumeration="AggregationAlgorithm", tag="9")] pub aggregation_algorithm: i32, + /// Search ratio for agent return result number. + #[prost(message, optional, tag="10")] + pub ratio: ::core::option::Option, } /// Represent a search response. #[allow(clippy::derive_partial_eq_without_eq)] diff --git a/versions/GOLANGCILINT_VERSION b/versions/GOLANGCILINT_VERSION index 37b41a80d1..f399a6f2bc 100644 --- a/versions/GOLANGCILINT_VERSION +++ b/versions/GOLANGCILINT_VERSION @@ -1 +1 @@ -v1.57.2 +v1.58.0 diff --git a/versions/GO_VERSION b/versions/GO_VERSION index 6fee2fedb0..89144dbc38 100644 --- a/versions/GO_VERSION +++ b/versions/GO_VERSION @@ -1 +1 @@ -1.22.2 +1.22.3 diff --git a/versions/HELM_VERSION b/versions/HELM_VERSION index ead1784247..362617ca87 100644 --- a/versions/HELM_VERSION +++ b/versions/HELM_VERSION @@ -1 +1 @@ -v3.14.3 +v3.14.4 diff --git a/versions/JAEGER_OPERATOR_VERSION b/versions/JAEGER_OPERATOR_VERSION index 895eb8a3b2..261d95596f 100644 --- a/versions/JAEGER_OPERATOR_VERSION +++ b/versions/JAEGER_OPERATOR_VERSION @@ -1 +1 @@ -2.50.1 +2.53.0 diff --git a/versions/K3S_VERSION b/versions/K3S_VERSION index cac8329e12..6e9db4b4bb 100644 --- a/versions/K3S_VERSION +++ b/versions/K3S_VERSION @@ -1 +1 @@ -v1.29.3-k3s1 +v1.29.4-k3s1 diff --git a/versions/KUBECTL_VERSION b/versions/KUBECTL_VERSION index 2a9beeb58b..3aceb49678 100644 --- a/versions/KUBECTL_VERSION +++ b/versions/KUBECTL_VERSION @@ -1 +1 @@ -v1.29.3 \ No newline at end of file +v1.30.0 \ No newline at end of file diff --git a/versions/PROMETHEUS_STACK_VERSION b/versions/PROMETHEUS_STACK_VERSION index 27ee57a1a7..18365ff7ad 100644 --- a/versions/PROMETHEUS_STACK_VERSION +++ b/versions/PROMETHEUS_STACK_VERSION @@ -1 +1 @@ -57.2.0 +58.4.0 diff --git a/versions/REVIEWDOG_VERSION b/versions/REVIEWDOG_VERSION index 4b7d50c9b6..8acb5ca441 100644 --- a/versions/REVIEWDOG_VERSION +++ b/versions/REVIEWDOG_VERSION @@ -1 +1 @@ -v0.17.2 +v0.17.4 diff --git a/versions/actions/ACTIONS_CHECKOUT b/versions/actions/ACTIONS_CHECKOUT index 627a3f43a6..a95f288444 100644 --- a/versions/actions/ACTIONS_CHECKOUT +++ b/versions/actions/ACTIONS_CHECKOUT @@ -1 +1 @@ -4.1.1 +4.1.4 diff --git a/versions/actions/ACTIONS_DOWNLOAD_ARTIFACT b/versions/actions/ACTIONS_DOWNLOAD_ARTIFACT index a95f288444..9edf2a44f4 100644 --- a/versions/actions/ACTIONS_DOWNLOAD_ARTIFACT +++ b/versions/actions/ACTIONS_DOWNLOAD_ARTIFACT @@ -1 +1 @@ -4.1.4 +4.1.7 diff --git a/versions/actions/ACTIONS_SETUP_GO b/versions/actions/ACTIONS_SETUP_GO index 0062ac9718..6b244dcd69 100644 --- a/versions/actions/ACTIONS_SETUP_GO +++ b/versions/actions/ACTIONS_SETUP_GO @@ -1 +1 @@ -5.0.0 +5.0.1 diff --git a/versions/actions/ACTIONS_UPLOAD_ARTIFACT b/versions/actions/ACTIONS_UPLOAD_ARTIFACT index f77856a6f1..e91d9be2a8 100644 --- a/versions/actions/ACTIONS_UPLOAD_ARTIFACT +++ b/versions/actions/ACTIONS_UPLOAD_ARTIFACT @@ -1 +1 @@ -4.3.1 +4.3.3 diff --git a/versions/actions/AZURE_SETUP_HELM b/versions/actions/AZURE_SETUP_HELM index b8626c4cff..6aba2b245a 100644 --- a/versions/actions/AZURE_SETUP_HELM +++ b/versions/actions/AZURE_SETUP_HELM @@ -1 +1 @@ -4 +4.2.0 diff --git a/versions/actions/CODECOV_CODECOV_ACTION b/versions/actions/CODECOV_CODECOV_ACTION index 6aba2b245a..f77856a6f1 100644 --- a/versions/actions/CODECOV_CODECOV_ACTION +++ b/versions/actions/CODECOV_CODECOV_ACTION @@ -1 +1 @@ -4.2.0 +4.3.1 diff --git a/versions/actions/DOCKER_SETUP_BUILDX_ACTION b/versions/actions/DOCKER_SETUP_BUILDX_ACTION index 944880fa15..15a2799817 100644 --- a/versions/actions/DOCKER_SETUP_BUILDX_ACTION +++ b/versions/actions/DOCKER_SETUP_BUILDX_ACTION @@ -1 +1 @@ -3.2.0 +3.3.0 diff --git a/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE b/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE index 3c5d0106bb..94dc0ec910 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE +++ b/versions/actions/GITHUB_CODEQL_ACTION_ANALYZE @@ -1 +1 @@ -2.16.6 +2.17.2 diff --git a/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD b/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD index 3c5d0106bb..94dc0ec910 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD +++ b/versions/actions/GITHUB_CODEQL_ACTION_AUTOBUILD @@ -1 +1 @@ -2.16.6 +2.17.2 diff --git a/versions/actions/GITHUB_CODEQL_ACTION_INIT b/versions/actions/GITHUB_CODEQL_ACTION_INIT index 3c5d0106bb..94dc0ec910 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_INIT +++ b/versions/actions/GITHUB_CODEQL_ACTION_INIT @@ -1 +1 @@ -2.16.6 +2.17.2 diff --git a/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF b/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF index 3c5d0106bb..94dc0ec910 100644 --- a/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF +++ b/versions/actions/GITHUB_CODEQL_ACTION_UPLOAD_SARIF @@ -1 +1 @@ -2.16.6 +2.17.2 diff --git a/versions/actions/GITHUB_ISSUE_METRICS b/versions/actions/GITHUB_ISSUE_METRICS index 4a36342fca..18091983f5 100644 --- a/versions/actions/GITHUB_ISSUE_METRICS +++ b/versions/actions/GITHUB_ISSUE_METRICS @@ -1 +1 @@ -3.0.0 +3.4.0 diff --git a/versions/actions/REVIEWDOG_ACTION_HADOLINT b/versions/actions/REVIEWDOG_ACTION_HADOLINT index 5edffce6d5..f86fb9cbcf 100644 --- a/versions/actions/REVIEWDOG_ACTION_HADOLINT +++ b/versions/actions/REVIEWDOG_ACTION_HADOLINT @@ -1 +1 @@ -1.39.0 +1.41.1 diff --git a/versions/actions/REVIEWDOG_ACTION_LANGUAGETOOL b/versions/actions/REVIEWDOG_ACTION_LANGUAGETOOL index 61ce01b301..850e742404 100644 --- a/versions/actions/REVIEWDOG_ACTION_LANGUAGETOOL +++ b/versions/actions/REVIEWDOG_ACTION_LANGUAGETOOL @@ -1 +1 @@ -1.13.2 +1.14.0 diff --git a/versions/actions/SHOGO82148_ACTIONS_UPLOAD_RELEASE_ASSET b/versions/actions/SHOGO82148_ACTIONS_UPLOAD_RELEASE_ASSET index 10c088013f..6a126f402d 100644 --- a/versions/actions/SHOGO82148_ACTIONS_UPLOAD_RELEASE_ASSET +++ b/versions/actions/SHOGO82148_ACTIONS_UPLOAD_RELEASE_ASSET @@ -1 +1 @@ -1.7.4 +1.7.5 From 6dee89987d994a1e67fbe209194db9ac9233d8c0 Mon Sep 17 00:00:00 2001 From: kpango Date: Wed, 8 May 2024 14:55:25 +0900 Subject: [PATCH 2/2] fix bug Signed-off-by: kpango --- Makefile.d/functions.mk | 2 +- Makefile.d/k3d.mk | 2 +- Makefile.d/kind.mk | 2 +- Makefile.d/tools.mk | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile.d/functions.mk b/Makefile.d/functions.mk index bce4d8a44d..9b1aa47f8b 100644 --- a/Makefile.d/functions.mk +++ b/Makefile.d/functions.mk @@ -334,7 +334,7 @@ endef define update-github-actions @for ACTION_NAME in $1; do \ - if [ -n "$$ACTION_NAME" ]; then \ + if [ -n "$$ACTION_NAME" ] && [ "$$ACTION_NAME" != "security-and-quality" ]; then \ FILE_NAME=`echo $$ACTION_NAME | tr '/' '_' | tr '-' '_' | tr '[:lower:]' '[:upper:]'`; \ if [ -n "$$FILE_NAME" ]; then \ if [ "$$ACTION_NAME" = "aquasecurity/trivy-action" ] || [ "$$ACTION_NAME" = "machine-learning-apps/actions-chatops" ]; then \ diff --git a/Makefile.d/k3d.mk b/Makefile.d/k3d.mk index 786175794a..4c0921a076 100644 --- a/Makefile.d/k3d.mk +++ b/Makefile.d/k3d.mk @@ -24,7 +24,7 @@ k3d/install: $(BINDIR)/k3d $(BINDIR)/k3d: mkdir -p $(BINDIR) - curl -fsSL htps://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash + curl -fsSL https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash chmod a+x $(BINDIR)/$(K3D_COMMAND) .PHONY: k3d/start diff --git a/Makefile.d/kind.mk b/Makefile.d/kind.mk index ba6932fe8e..a2f15b5217 100644 --- a/Makefile.d/kind.mk +++ b/Makefile.d/kind.mk @@ -19,7 +19,7 @@ kind/install: $(BINDIR)/kind $(BINDIR)/kind: mkdir -p $(BINDIR) - curl -fsSL https://github.com/kubernetes-sigs/kind/releases/download/$(KIND_VERSION)/kind-$(OS)-$(subst x86_64,amd64,$(shell echo $(ARCH) | tr '[:upper:]' '[:lower:]')) -o $(BINDIR)/kind + curl -fsSL https://github.com/kubernetes-sigs/kind/releases/download/v$(KIND_VERSION)/kind-$(OS)-$(subst x86_64,amd64,$(shell echo $(ARCH) | tr '[:upper:]' '[:lower:]')) -o $(BINDIR)/kind chmod a+x $(BINDIR)/kind .PHONY: kind/start diff --git a/Makefile.d/tools.mk b/Makefile.d/tools.mk index 9abfc087a4..ac7838a877 100644 --- a/Makefile.d/tools.mk +++ b/Makefile.d/tools.mk @@ -19,7 +19,7 @@ golangci-lint/install: $(BINDIR)/golangci-lint $(BINDIR)/golangci-lint: - curl -fsSL htps://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh \ + curl -fsSL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh \ | sh -s -- -b $(BINDIR) $(GOLANGCILINT_VERSION) .PHONY: goimports/install @@ -56,7 +56,7 @@ $(BINDIR)/prettier: reviewdog/install: $(BINDIR)/reviewdog $(BINDIR)/reviewdog: - curl -fsSL htps://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh \ + curl -fsSL https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh \ | sh -s -- -b $(BINDIR) $(REVIEWDOG_VERSION) .PHONY: kubectl/install