From addae8b5857a7b8694c9b4f4e4992e91533e957d Mon Sep 17 00:00:00 2001 From: r2k1 Date: Thu, 21 Nov 2024 10:31:51 +1300 Subject: [PATCH 01/10] generate code from proto files locally --- .github/workflows/buf.yaml | 11 +- Makefile | 16 +- aks-node-controller/Makefile | 4 + .../aksnodeconfig/v1/api_server_config.pb.go | 25 +- .../gen/aksnodeconfig/v1/auth_config.pb.go | 26 +- .../gen/aksnodeconfig/v1/cluster_config.pb.go | 26 +- .../pkg/gen/aksnodeconfig/v1/config.pb.go | 25 +- .../aksnodeconfig/v1/containerd_config.pb.go | 19 +- .../v1/custom_cloud_config.pb.go | 23 +- .../v1/custom_linux_os_config.pb.go | 25 +- .../v1/custom_search_domain_config.pb.go | 26 +- .../pkg/gen/aksnodeconfig/v1/gpu_config.pb.go | 25 +- .../aksnodeconfig/v1/http_proxy_config.pb.go | 25 +- .../v1/imds_restriction_config.pb.go | 25 +- .../aksnodeconfig/v1/kube_binary_config.pb.go | 19 +- .../gen/aksnodeconfig/v1/kubelet_config.pb.go | 25 +- .../gen/aksnodeconfig/v1/network_config.pb.go | 25 +- .../gen/aksnodeconfig/v1/runc_config.pb.go | 24 +- .../aksnodeconfig/v1/teleport_config.pb.go | 25 +- .../v1/tls_bootstrapping_config.pb.go | 26 +- .../aksnodeconfig/v1/api_server_config.proto | 2 + .../proto/aksnodeconfig/v1/auth_config.proto | 1 + .../aksnodeconfig/v1/cluster_config.proto | 3 +- .../proto/aksnodeconfig/v1/config.proto | 2 + .../aksnodeconfig/v1/containerd_config.proto | 2 + .../v1/custom_cloud_config.proto | 2 + .../v1/custom_linux_os_config.proto | 2 + .../v1/custom_search_domain_config.proto | 2 + .../proto/aksnodeconfig/v1/gpu_config.proto | 2 + .../aksnodeconfig/v1/http_proxy_config.proto | 2 + .../v1/imds_restriction_config.proto | 1 + .../aksnodeconfig/v1/kube_binary_config.proto | 1 + .../aksnodeconfig/v1/kubelet_config.proto | 1 + .../aksnodeconfig/v1/network_config.proto | 1 + .../proto/aksnodeconfig/v1/runc_config.proto | 1 + .../aksnodeconfig/v1/teleport_config.proto | 1 + .../v1/tls_bootstrapping_config.proto | 1 + aks-node-controller/protoc.Dockerfile | 14 + .../buf.gen.yaml => buf.gen.yaml | 4 +- aks-node-controller/buf.yaml => buf.yaml | 2 +- go.work.sum | 432 ++++++++++++++++++ hack/tools/Makefile | 4 - 42 files changed, 629 insertions(+), 299 deletions(-) create mode 100644 aks-node-controller/Makefile create mode 100644 aks-node-controller/protoc.Dockerfile rename aks-node-controller/buf.gen.yaml => buf.gen.yaml (75%) rename aks-node-controller/buf.yaml => buf.yaml (69%) diff --git a/.github/workflows/buf.yaml b/.github/workflows/buf.yaml index 94ef4a31eb2..4967c390e8e 100644 --- a/.github/workflows/buf.yaml +++ b/.github/workflows/buf.yaml @@ -3,13 +3,16 @@ on: push: paths: - "aks-node-controller/proto/**" - - "aks-node-controller/buf.yaml" - - "aks-node-controller/buf.gen.yaml" + - "buf.yaml" + - "buf.gen.yaml" + - ".github/workflows/buf.yaml" pull_request: + types: [opened, synchronize, reopened, labeled, unlabeled] paths: - "aks-node-controller/proto/**" - - "aks-node-controller/buf.yaml" - - "aks-node-controller/buf.gen.yaml" + - "buf.yaml" + - "buf.gen.yaml" + - ".github/workflows/buf.yaml" permissions: contents: read pull-requests: write diff --git a/Makefile b/Makefile index 6119afeeb44..ca707835824 100644 --- a/Makefile +++ b/Makefile @@ -89,17 +89,25 @@ validate-image-version: generate-kubelet-flags: @./e2e/kubelet/generate-kubelet-flags.sh +BUF = docker run --volume "$(CURDIR):$(CURDIR)" --workdir $(CURDIR) bufbuild/buf:1.47.2 + .PHONY: lint-proto-files lint-proto-files: - @(cd aks-node-controller && ../hack/tools/bin/buf lint) - @(cd aks-node-controller && ../hack/tools/bin/buf breaking --against '../.git#branch=dev') # TODO: change to master + @($(BUF) lint) + @($(BUF) breaking --against '.git#branch=dev') # TODO: change to master .PHONY: compile-proto-files compile-proto-files: - @(cd aks-node-controller && ../hack/tools/bin/buf format -w) - @(cd aks-node-controller && ../hack/tools/bin/buf generate) + @($(BUF) format -w) + protoc -I $(MAKE) lint-proto-files +.PHONY: proto-generate +proto-generate: + protoc --go_opt=module=github.com/Azure/agentbaker/aks-node-controller --go_out=./ --proto_path=proto $(find proto/aksnodeconfig/v1 -name '*.proto') + + + .PHONY: generate-manifest generate-manifest: ./hack/tools/bin/cue export ./schemas/manifest.cue > ./parts/linux/cloud-init/artifacts/manifest.json diff --git a/aks-node-controller/Makefile b/aks-node-controller/Makefile new file mode 100644 index 00000000000..4e17b0e3149 --- /dev/null +++ b/aks-node-controller/Makefile @@ -0,0 +1,4 @@ +.PHONY: proto-generate +proto-generate: + docker build -t protoc-docker - < protoc.Dockerfile + docker run --rm -v $(shell pwd):/$(shell pwd) --workdir=$(shell pwd) protoc-docker protoc --go_opt=module=github.com/Azure/agentbaker/aks-node-controller --go_out=./ --proto_path=proto $(shell find proto/aksnodeconfig/v1 -name '*.proto') \ No newline at end of file diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/api_server_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/api_server_config.pb.go index a14e0cefdc3..c8682f083ce 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/api_server_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/api_server_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/api_server_config.proto package aksnodeconfigv1 @@ -88,22 +88,13 @@ var file_aksnodeconfig_v1_api_server_config_proto_rawDesc = []byte{ 0x61, 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x69, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0xe7, 0x01, 0x0a, 0x14, 0x63, - 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x76, 0x31, 0x42, 0x14, 0x41, 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, - 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, - 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, - 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, - 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, - 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, + 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/auth_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/auth_config.pb.go index 722323cea13..b7ca9674daa 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/auth_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/auth_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/auth_config.proto package aksnodeconfigv1 @@ -137,22 +137,14 @@ var file_aksnodeconfig_v1_auth_config_proto_rawDesc = []byte{ 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x75, 0x73, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0xe2, - 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x0f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, - 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, - 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, - 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, - 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, - 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x5a, + 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, + 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, + 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, + 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, + 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/cluster_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/cluster_config.pb.go index 14996383f6d..b9ae6ee818c 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/cluster_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/cluster_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/cluster_config.proto package aksnodeconfigv1 @@ -468,22 +468,14 @@ var file_aksnodeconfig_v1_cluster_config_proto_rawDesc = []byte{ 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x5f, 0x53, 0x4b, 0x55, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x5f, 0x53, - 0x4b, 0x55, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x02, 0x42, 0xe5, 0x01, - 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, - 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, - 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, - 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4b, 0x55, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x02, 0x42, 0x5a, 0x5a, + 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, + 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, + 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, + 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/config.pb.go index f4be8e24660..1571c92d1ed 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/config.proto package aksnodeconfigv1 @@ -672,22 +672,13 @@ var file_aksnodeconfig_v1_config_proto_rawDesc = []byte{ 0x4f, 0x41, 0x44, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4f, 0x43, 0x49, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x5f, - 0x57, 0x41, 0x53, 0x4d, 0x5f, 0x57, 0x41, 0x53, 0x49, 0x10, 0x02, 0x42, 0xde, 0x01, 0x0a, 0x14, - 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, - 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, - 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, - 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, - 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, - 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, - 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x57, 0x41, 0x53, 0x4d, 0x5f, 0x57, 0x41, 0x53, 0x49, 0x10, 0x02, 0x42, 0x5a, 0x5a, 0x58, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, + 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/containerd_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/containerd_config.pb.go index 1aac8cdd1dc..54d3a35de59 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/containerd_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/containerd_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/containerd_config.proto package aksnodeconfigv1 @@ -102,22 +102,13 @@ var file_aksnodeconfig_v1_containerd_config_proto_rawDesc = []byte{ 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x42, 0xe8, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, - 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, - 0x42, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, + 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, - 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x41, - 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0xe2, - 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, - 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3a, - 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_cloud_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_cloud_config.pb.go index 9cdb25940b9..28394c23dee 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_cloud_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_cloud_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/custom_cloud_config.proto package aksnodeconfigv1 @@ -115,21 +115,12 @@ var file_aksnodeconfig_v1_custom_cloud_config_proto_rawDesc = []byte{ 0x73, 0x74, 0x72, 0x79, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x44, 0x6e, 0x73, 0x53, 0x75, 0x66, 0x66, 0x69, - 0x78, 0x42, 0xe9, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, - 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x16, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, - 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, - 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, - 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, - 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, - 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, - 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, - 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, + 0x78, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, + 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, + 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, + 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_linux_os_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_linux_os_config.pb.go index e580e33007c..7a6a2380312 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_linux_os_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_linux_os_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/custom_linux_os_config.proto package aksnodeconfigv1 @@ -621,22 +621,13 @@ var file_aksnodeconfig_v1_custom_linux_os_config_proto_rawDesc = []byte{ 0x09, 0x48, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x6f, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, - 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0xeb, 0x01, 0x0a, 0x14, 0x63, 0x6f, - 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x76, 0x31, 0x42, 0x18, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4f, - 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, - 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, - 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, - 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, - 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, - 0x31, 0xca, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, + 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_search_domain_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_search_domain_config.pb.go index 9c9dbf69dc0..8e59fa5d3bf 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_search_domain_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/custom_search_domain_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/custom_search_domain_config.proto package aksnodeconfigv1 @@ -99,23 +99,13 @@ var file_aksnodeconfig_v1_custom_search_domain_config_proto_rawDesc = []byte{ 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x61, - 0x6c, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0xf0, 0x01, 0x0a, 0x14, 0x63, - 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x76, 0x31, 0x42, 0x1d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, - 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, - 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, - 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, - 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, - 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, - 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, - 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, + 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go index f92f26c87a2..01e8c4d04fe 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/gpu_config.proto package aksnodeconfigv1 @@ -113,22 +113,13 @@ var file_aksnodeconfig_v1_gpu_config_proto_rawDesc = []byte{ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x67, 0x70, 0x75, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x6e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x42, 0xe1, 0x01, 0x0a, 0x14, 0x63, 0x6f, - 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x76, 0x31, 0x42, 0x0e, 0x47, 0x70, 0x75, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, - 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, - 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, - 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, - 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, - 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, - 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, - 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x65, 0x5f, 0x6e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, + 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/http_proxy_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/http_proxy_config.pb.go index 9279958fe3e..1dd038c665c 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/http_proxy_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/http_proxy_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/http_proxy_config.proto package aksnodeconfigv1 @@ -110,22 +110,13 @@ var file_aksnodeconfig_v1_http_proxy_config_proto_rawDesc = []byte{ 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x54, 0x72, 0x75, 0x73, 0x74, - 0x65, 0x64, 0x43, 0x61, 0x42, 0xe7, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, - 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x14, 0x48, - 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, - 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, - 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, - 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, - 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, - 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, - 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, - 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x64, 0x43, 0x61, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, + 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, + 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, + 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/imds_restriction_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/imds_restriction_config.pb.go index da015ac38b2..e1cb66a1bb8 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/imds_restriction_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/imds_restriction_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/imds_restriction_config.proto package aksnodeconfigv1 @@ -93,22 +93,13 @@ var file_aksnodeconfig_v1_imds_restriction_config_proto_rawDesc = []byte{ 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x26, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6d, 0x64, 0x73, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x6f, 0x4d, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x42, 0xed, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, - 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x1a, 0x49, 0x6d, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, - 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, - 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x41, - 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0xe2, - 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, - 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3a, - 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x65, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, + 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, + 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, + 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/kube_binary_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/kube_binary_config.pb.go index 2335ffd527d..2ae018a19fe 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/kube_binary_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/kube_binary_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/kube_binary_config.proto package aksnodeconfigv1 @@ -128,22 +128,13 @@ var file_aksnodeconfig_v1_kube_binary_config_proto_rawDesc = []byte{ 0x78, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x42, 0xe8, 0x01, 0x0a, 0x14, - 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x76, 0x31, 0x42, 0x15, 0x4b, 0x75, 0x62, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x42, 0x5a, 0x5a, 0x58, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, - 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, - 0xca, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/kubelet_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/kubelet_config.pb.go index e628d4d5648..170793ffd10 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/kubelet_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/kubelet_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/kubelet_config.proto package aksnodeconfigv1 @@ -315,22 +315,13 @@ var file_aksnodeconfig_v1_kubelet_config_proto_rawDesc = []byte{ 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4b, 0x55, 0x42, 0x45, 0x4c, 0x45, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x4f, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x4b, 0x55, 0x42, 0x45, 0x4c, 0x45, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x5f, - 0x54, 0x45, 0x4d, 0x50, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x10, 0x02, 0x42, 0xe5, 0x01, 0x0a, 0x14, - 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x76, 0x31, 0x42, 0x12, 0x4b, 0x75, 0x62, 0x65, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, - 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, - 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, - 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, - 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, - 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x54, 0x45, 0x4d, 0x50, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x10, 0x02, 0x42, 0x5a, 0x5a, 0x58, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, + 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/network_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/network_config.pb.go index 7492281b93c..430a8651ab4 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/network_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/network_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/network_config.proto package aksnodeconfigv1 @@ -237,22 +237,13 @@ var file_aksnodeconfig_v1_network_config_proto_rawDesc = []byte{ 0x0a, 0x14, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x5a, 0x55, 0x52, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x43, 0x41, 0x4c, 0x49, 0x43, - 0x4f, 0x10, 0x03, 0x42, 0xe5, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, - 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x12, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, - 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, - 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, - 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, - 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, 0x6f, - 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, - 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x4f, 0x10, 0x03, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, + 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, + 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/runc_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/runc_config.pb.go index 68152fdf4f1..613858fa950 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/runc_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/runc_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/runc_config.proto package aksnodeconfigv1 @@ -87,21 +87,13 @@ var file_aksnodeconfig_v1_runc_config_proto_rawDesc = []byte{ 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x63, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x63, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72, - 0x6c, 0x42, 0xe2, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, - 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x0f, 0x52, 0x75, 0x6e, 0x63, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, - 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, - 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, - 0xca, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, + 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, + 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, + 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/teleport_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/teleport_config.pb.go index d7fac5de3da..f84f781106c 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/teleport_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/teleport_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/teleport_config.proto package aksnodeconfigv1 @@ -88,22 +88,13 @@ var file_aksnodeconfig_v1_teleport_config_proto_rawDesc = []byte{ 0x64, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x64, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x42, 0xe6, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, - 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, - 0x42, 0x13, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, - 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, - 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, - 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x41, 0x6b, 0x73, - 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, - 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x41, - 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/tls_bootstrapping_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/tls_bootstrapping_config.pb.go index dd764018f9a..faa2c845ec3 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/tls_bootstrapping_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/tls_bootstrapping_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc (unknown) +// protoc v5.28.3 // source: aksnodeconfig/v1/tls_bootstrapping_config.proto package aksnodeconfigv1 @@ -109,23 +109,13 @@ var file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDesc = []byte{ 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x70, 0x70, 0x69, 0x64, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0xee, 0x01, 0x0a, 0x14, - 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x76, 0x31, 0x42, 0x1b, 0x54, 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, - 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, - 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, - 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, - 0x41, 0x58, 0x58, 0xaa, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x41, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x41, 0x6b, 0x73, 0x6e, - 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x41, 0x6b, 0x73, 0x6e, 0x6f, - 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x5a, 0x5a, 0x58, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, + 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/proto/aksnodeconfig/v1/api_server_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/api_server_config.proto index e8f22912f63..c987ba0f342 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/api_server_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/api_server_config.proto @@ -1,5 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; + message ApiServerConfig { // The certificate public key of the API server. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/auth_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/auth_config.proto index 80b53309d30..91243d72b9a 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/auth_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/auth_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; // Auth Config fields stored in azure.json used by cloud-provider-azure message AuthConfig { diff --git a/aks-node-controller/proto/aksnodeconfig/v1/cluster_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/cluster_config.proto index 4d79b498147..633b644bb3b 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/cluster_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/cluster_config.proto @@ -1,6 +1,7 @@ syntax = "proto3"; - package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; + // Cluster Config fields stored in azure.json used by cloud-provider-azure message ClusterConfig { diff --git a/aks-node-controller/proto/aksnodeconfig/v1/config.proto b/aks-node-controller/proto/aksnodeconfig/v1/config.proto index 7a9fa0f12b3..b907ba6a383 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/config.proto @@ -1,6 +1,8 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; + import "aksnodeconfig/v1/api_server_config.proto"; import "aksnodeconfig/v1/auth_config.proto"; diff --git a/aks-node-controller/proto/aksnodeconfig/v1/containerd_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/containerd_config.proto index 11aeca202e4..aea7ff145e1 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/containerd_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/containerd_config.proto @@ -1,5 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; + message ContainerdConfig { // The base URL for downloading containerd. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/custom_cloud_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/custom_cloud_config.proto index 4f21d97bde5..3dc57f12e77 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/custom_cloud_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/custom_cloud_config.proto @@ -1,5 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; + message CustomCloudConfig { // Name of custom cloud diff --git a/aks-node-controller/proto/aksnodeconfig/v1/custom_linux_os_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/custom_linux_os_config.proto index f61fec93621..f9a0d2970a3 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/custom_linux_os_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/custom_linux_os_config.proto @@ -1,5 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; + // Custom Linux Node OS Config message CustomLinuxOsConfig { diff --git a/aks-node-controller/proto/aksnodeconfig/v1/custom_search_domain_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/custom_search_domain_config.proto index dd89fb59250..e2df93e49e8 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/custom_search_domain_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/custom_search_domain_config.proto @@ -1,5 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; + message CustomSearchDomainConfig { // The name of the custom search domain. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto index e462b70458a..286c043c375 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto @@ -1,5 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; + message GpuConfig { // Specifies whether any nvidia configurations should be applied for GPU nodes. False when vm size is not a GPU node or driver install is skipped and no GPU configuration is needed. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/http_proxy_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/http_proxy_config.proto index 46d47f488a9..603cec38d78 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/http_proxy_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/http_proxy_config.proto @@ -1,5 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; + message HttpProxyConfig { // Proxy endpoint/URL using HTTP through which the traffic should be routed for making HTTP connections outside the cluster diff --git a/aks-node-controller/proto/aksnodeconfig/v1/imds_restriction_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/imds_restriction_config.proto index 7caf2c4fade..78be12020fd 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/imds_restriction_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/imds_restriction_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message ImdsRestrictionConfig { // Enable IMDS restriction for the node. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/kube_binary_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/kube_binary_config.proto index 5cb2ceea1f0..6f9aa6d8013 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/kube_binary_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/kube_binary_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; // Kube Binary Config message KubeBinaryConfig { diff --git a/aks-node-controller/proto/aksnodeconfig/v1/kubelet_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/kubelet_config.proto index edb6a1ca36a..57dce190e06 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/kubelet_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/kubelet_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message KubeletConfig { // A list of taints to apply to the node. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/network_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/network_config.proto index 9debbf3f0ae..ded53122606 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/network_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/network_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message NetworkConfig { // Network plugin to be used by the cluster. Options are NONE, AZURE, KUBENET. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/runc_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/runc_config.proto index ac68e939b04..5c74c2f8540 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/runc_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/runc_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message RuncConfig { // The version of runc to use. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/teleport_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/teleport_config.proto index c2be5322c85..0f876b2193d 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/teleport_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/teleport_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message TeleportConfig { // The status of the teleportd plugin. If true, the plugin is enabled. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/tls_bootstrapping_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/tls_bootstrapping_config.proto index 4442655eae4..bc429ffefe6 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/tls_bootstrapping_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/tls_bootstrapping_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message TlsBootstrappingConfig { // Enable secure TLS bootstrapping for the node. diff --git a/aks-node-controller/protoc.Dockerfile b/aks-node-controller/protoc.Dockerfile new file mode 100644 index 00000000000..635b3a687b3 --- /dev/null +++ b/aks-node-controller/protoc.Dockerfile @@ -0,0 +1,14 @@ +# Use a multi-stage build to handle different architectures +FROM golang:1.23.3-alpine3.20 + +ARG TARGETARCH +RUN if [ "${TARGETARCH}" = "amd64" ]; then \ + wget -O protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v28.3/protoc-28.3-linux-x86_64.zip; \ + else \ + wget -O protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v28.3/protoc-28.3-linux-aarch_64.zip; \ + fi && \ + unzip protoc.zip -d /usr/local && \ + rm protoc.zip +RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.35.2 + +CMD ["protoc"] diff --git a/aks-node-controller/buf.gen.yaml b/buf.gen.yaml similarity index 75% rename from aks-node-controller/buf.gen.yaml rename to buf.gen.yaml index 63be690d418..adad0154b63 100644 --- a/aks-node-controller/buf.gen.yaml +++ b/buf.gen.yaml @@ -6,6 +6,6 @@ managed: - file_option: go_package_prefix value: github.com/azure/agentBaker/aks-node-controller/pkg/gen plugins: - - remote: buf.build/protocolbuffers/go:v1.35.2 - out: pkg/gen + - local: go + out: aks-node-controller/pkg/gen opt: paths=source_relative diff --git a/aks-node-controller/buf.yaml b/buf.yaml similarity index 69% rename from aks-node-controller/buf.yaml rename to buf.yaml index cb15d8cc147..dd2ed2b9c6c 100644 --- a/aks-node-controller/buf.yaml +++ b/buf.yaml @@ -1,6 +1,6 @@ version: v2 modules: - - path: proto + - path: aks-node-controller/proto lint: use: - STANDARD diff --git a/go.work.sum b/go.work.sum index f62896fa549..fd150a85d55 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1,10 +1,259 @@ +cloud.google.com/go v0.110.10 h1:LXy9GEO+timppncPIAZoOj3l58LIU9k+kn48AN7IO3Y= +cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= +cloud.google.com/go/accessapproval v1.7.4 h1:ZvLvJ952zK8pFHINjpMBY5k7LTAp/6pBf50RDMRgBUI= +cloud.google.com/go/accessapproval v1.7.4/go.mod h1:/aTEh45LzplQgFYdQdwPMR9YdX0UlhBmvB84uAmQKUc= +cloud.google.com/go/accesscontextmanager v1.8.4 h1:Yo4g2XrBETBCqyWIibN3NHNPQKUfQqti0lI+70rubeE= +cloud.google.com/go/accesscontextmanager v1.8.4/go.mod h1:ParU+WbMpD34s5JFEnGAnPBYAgUHozaTmDJU7aCU9+M= +cloud.google.com/go/aiplatform v1.54.0 h1:wH7OYl9Vq/5tupok0BPTFY9xaTLb0GxkReHtB5PF7cI= +cloud.google.com/go/aiplatform v1.54.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU= +cloud.google.com/go/analytics v0.21.6 h1:fnV7B8lqyEYxCU0LKk+vUL7mTlqRAq4uFlIthIdr/iA= +cloud.google.com/go/analytics v0.21.6/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w= +cloud.google.com/go/apigateway v1.6.4 h1:VVIxCtVerchHienSlaGzV6XJGtEM9828Erzyr3miUGs= +cloud.google.com/go/apigateway v1.6.4/go.mod h1:0EpJlVGH5HwAN4VF4Iec8TAzGN1aQgbxAWGJsnPCGGY= +cloud.google.com/go/apigeeconnect v1.6.4 h1:jSoGITWKgAj/ssVogNE9SdsTqcXnryPzsulENSRlusI= +cloud.google.com/go/apigeeconnect v1.6.4/go.mod h1:CapQCWZ8TCjnU0d7PobxhpOdVz/OVJ2Hr/Zcuu1xFx0= +cloud.google.com/go/apigeeregistry v0.8.2 h1:DSaD1iiqvELag+lV4VnnqUUFd8GXELu01tKVdWZrviE= +cloud.google.com/go/apigeeregistry v0.8.2/go.mod h1:h4v11TDGdeXJDJvImtgK2AFVvMIgGWjSb0HRnBSjcX8= +cloud.google.com/go/appengine v1.8.4 h1:Qub3fqR7iA1daJWdzjp/Q0Jz0fUG0JbMc7Ui4E9IX/E= +cloud.google.com/go/appengine v1.8.4/go.mod h1:TZ24v+wXBujtkK77CXCpjZbnuTvsFNT41MUaZ28D6vg= +cloud.google.com/go/area120 v0.8.4 h1:YnSO8m02pOIo6AEOgiOoUDVbw4pf+bg2KLHi4rky320= +cloud.google.com/go/area120 v0.8.4/go.mod h1:jfawXjxf29wyBXr48+W+GyX/f8fflxp642D/bb9v68M= +cloud.google.com/go/artifactregistry v1.14.6 h1:/hQaadYytMdA5zBh+RciIrXZQBWK4vN7EUsrQHG+/t8= +cloud.google.com/go/artifactregistry v1.14.6/go.mod h1:np9LSFotNWHcjnOgh8UVK0RFPCTUGbO0ve3384xyHfE= +cloud.google.com/go/asset v1.15.3 h1:uI8Bdm81s0esVWbWrTHcjFDFKNOa9aB7rI1vud1hO84= +cloud.google.com/go/asset v1.15.3/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU= +cloud.google.com/go/assuredworkloads v1.11.4 h1:FsLSkmYYeNuzDm8L4YPfLWV+lQaUrJmH5OuD37t1k20= +cloud.google.com/go/assuredworkloads v1.11.4/go.mod h1:4pwwGNwy1RP0m+y12ef3Q/8PaiWrIDQ6nD2E8kvWI9U= +cloud.google.com/go/automl v1.13.4 h1:i9tOKXX+1gE7+rHpWKjiuPfGBVIYoWvLNIGpWgPtF58= +cloud.google.com/go/automl v1.13.4/go.mod h1:ULqwX/OLZ4hBVfKQaMtxMSTlPx0GqGbWN8uA/1EqCP8= +cloud.google.com/go/baremetalsolution v1.2.3 h1:oQiFYYCe0vwp7J8ZmF6siVKEumWtiPFJMJcGuyDVRUk= +cloud.google.com/go/baremetalsolution v1.2.3/go.mod h1:/UAQ5xG3faDdy180rCUv47e0jvpp3BFxT+Cl0PFjw5g= +cloud.google.com/go/batch v1.6.3 h1:mPiIH20a5NU02rucbAmLeO4sLPO9hrTK0BLjdHyW8xw= +cloud.google.com/go/batch v1.6.3/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU= +cloud.google.com/go/beyondcorp v1.0.3 h1:VXf9SnrnSmj2BF2cHkoTHvOUp8gjsz1KJFOMW7czdsY= +cloud.google.com/go/beyondcorp v1.0.3/go.mod h1:HcBvnEd7eYr+HGDd5ZbuVmBYX019C6CEXBonXbCVwJo= +cloud.google.com/go/bigquery v1.57.1 h1:FiULdbbzUxWD0Y4ZGPSVCDLvqRSyCIO6zKV7E2nf5uA= +cloud.google.com/go/bigquery v1.57.1/go.mod h1:iYzC0tGVWt1jqSzBHqCr3lrRn0u13E8e+AqowBsDgug= +cloud.google.com/go/billing v1.17.4 h1:77/4kCqzH6Ou5CCDzNmqmboE+WvbwFBJmw1QZQz19AI= +cloud.google.com/go/billing v1.17.4/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk= +cloud.google.com/go/binaryauthorization v1.7.3 h1:3R6WYn1JKIaVicBmo18jXubu7xh4mMkmbIgsTXk0cBA= +cloud.google.com/go/binaryauthorization v1.7.3/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU= +cloud.google.com/go/certificatemanager v1.7.4 h1:5YMQ3Q+dqGpwUZ9X5sipsOQ1fLPsxod9HNq0+nrqc6I= +cloud.google.com/go/certificatemanager v1.7.4/go.mod h1:FHAylPe/6IIKuaRmHbjbdLhGhVQ+CWHSD5Jq0k4+cCE= +cloud.google.com/go/channel v1.17.3 h1:Rd4+fBrjiN6tZ4TR8R/38elkyEkz6oogGDr7jDyjmMY= +cloud.google.com/go/channel v1.17.3/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE= +cloud.google.com/go/cloudbuild v1.15.0 h1:9IHfEMWdCklJ1cwouoiQrnxmP0q3pH7JUt8Hqx4Qbck= +cloud.google.com/go/cloudbuild v1.15.0/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM= +cloud.google.com/go/clouddms v1.7.3 h1:xe/wJKz55VO1+L891a1EG9lVUgfHr9Ju/I3xh1nwF84= +cloud.google.com/go/clouddms v1.7.3/go.mod h1:fkN2HQQNUYInAU3NQ3vRLkV2iWs8lIdmBKOx4nrL6Hc= +cloud.google.com/go/cloudtasks v1.12.4 h1:5xXuFfAjg0Z5Wb81j2GAbB3e0bwroCeSF+5jBn/L650= +cloud.google.com/go/cloudtasks v1.12.4/go.mod h1:BEPu0Gtt2dU6FxZHNqqNdGqIG86qyWKBPGnsb7udGY0= +cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= +cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= 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.12.0 h1:wP41IUA4ucMVooj/TP53jd7vbNjWrDkAPOeulVJGT5U= +cloud.google.com/go/contactcenterinsights v1.12.0/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= +cloud.google.com/go/container v1.28.0 h1:/o82CFWXIYnT9p/07SnRgybqL3Pmmu86jYIlzlJVUBY= +cloud.google.com/go/container v1.28.0/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4= +cloud.google.com/go/containeranalysis v0.11.3 h1:5rhYLX+3a01drpREqBZVXR9YmWH45RnML++8NsCtuD8= +cloud.google.com/go/containeranalysis v0.11.3/go.mod h1:kMeST7yWFQMGjiG9K7Eov+fPNQcGhb8mXj/UcTiWw9U= +cloud.google.com/go/datacatalog v1.19.0 h1:rbYNmHwvAOOwnW2FPXYkaK3Mf1MmGqRzK0mMiIEyLdo= +cloud.google.com/go/datacatalog v1.19.0/go.mod h1:5FR6ZIF8RZrtml0VUao22FxhdjkoG+a0866rEnObryM= +cloud.google.com/go/dataflow v0.9.4 h1:7VmCNWcPJBS/srN2QnStTB6nu4Eb5TMcpkmtaPVhRt4= +cloud.google.com/go/dataflow v0.9.4/go.mod h1:4G8vAkHYCSzU8b/kmsoR2lWyHJD85oMJPHMtan40K8w= +cloud.google.com/go/dataform v0.9.1 h1:jV+EsDamGX6cE127+QAcCR/lergVeeZdEQ6DdrxW3sQ= +cloud.google.com/go/dataform v0.9.1/go.mod h1:pWTg+zGQ7i16pyn0bS1ruqIE91SdL2FDMvEYu/8oQxs= +cloud.google.com/go/datafusion v1.7.4 h1:Q90alBEYlMi66zL5gMSGQHfbZLB55mOAg03DhwTTfsk= +cloud.google.com/go/datafusion v1.7.4/go.mod h1:BBs78WTOLYkT4GVZIXQCZT3GFpkpDN4aBY4NDX/jVlM= +cloud.google.com/go/datalabeling v0.8.4 h1:zrq4uMmunf2KFDl/7dS6iCDBBAxBnKVDyw6+ajz3yu0= +cloud.google.com/go/datalabeling v0.8.4/go.mod h1:Z1z3E6LHtffBGrNUkKwbwbDxTiXEApLzIgmymj8A3S8= +cloud.google.com/go/dataplex v1.11.2 h1:AfFFR15Ifh4U+Me1IBztrSd5CrasTODzy3x8KtDyHdc= +cloud.google.com/go/dataplex v1.11.2/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c= +cloud.google.com/go/dataproc/v2 v2.3.0 h1:tTVP9tTxmc8fixxOd/8s6Q6Pz/+yzn7r7XdZHretQH0= +cloud.google.com/go/dataproc/v2 v2.3.0/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY= +cloud.google.com/go/dataqna v0.8.4 h1:NJnu1kAPamZDs/if3bJ3+Wb6tjADHKL83NUWsaIp2zg= +cloud.google.com/go/dataqna v0.8.4/go.mod h1:mySRKjKg5Lz784P6sCov3p1QD+RZQONRMRjzGNcFd0c= +cloud.google.com/go/datastore v1.15.0 h1:0P9WcsQeTWjuD1H14JIY7XQscIPQ4Laje8ti96IC5vg= +cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= +cloud.google.com/go/datastream v1.10.3 h1:Z2sKPIB7bT2kMW5Uhxy44ZgdJzxzE5uKjavoW+EuHEE= +cloud.google.com/go/datastream v1.10.3/go.mod h1:YR0USzgjhqA/Id0Ycu1VvZe8hEWwrkjuXrGbzeDOSEA= +cloud.google.com/go/deploy v1.15.0 h1:ZdmYzRMTGkVyP1nXEUat9FpbJGJemDcNcx82RSSOElc= +cloud.google.com/go/deploy v1.15.0/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88PtO9x/2g= +cloud.google.com/go/dialogflow v1.44.3 h1:cK/f88KX+YVR4tLH4clMQlvrLWD2qmKJQziusjGPjmc= +cloud.google.com/go/dialogflow v1.44.3/go.mod h1:mHly4vU7cPXVweuB5R0zsYKPMzy240aQdAu06SqBbAQ= +cloud.google.com/go/dlp v1.11.1 h1:OFlXedmPP/5//X1hBEeq3D9kUVm9fb6ywYANlpv/EsQ= +cloud.google.com/go/dlp v1.11.1/go.mod h1:/PA2EnioBeXTL/0hInwgj0rfsQb3lpE3R8XUJxqUNKI= +cloud.google.com/go/documentai v1.23.5 h1:KAlzT+q8qvRxAmhsJUvLtfFHH0PNvz3M79H6CgVBKL8= +cloud.google.com/go/documentai v1.23.5/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g= +cloud.google.com/go/domains v0.9.4 h1:ua4GvsDztZ5F3xqjeLKVRDeOvJshf5QFgWGg1CKti3A= +cloud.google.com/go/domains v0.9.4/go.mod h1:27jmJGShuXYdUNjyDG0SodTfT5RwLi7xmH334Gvi3fY= +cloud.google.com/go/edgecontainer v1.1.4 h1:Szy3Q/N6bqgQGyxqjI+6xJZbmvPvnFHp3UZr95DKcQ0= +cloud.google.com/go/edgecontainer v1.1.4/go.mod h1:AvFdVuZuVGdgaE5YvlL1faAoa1ndRR/5XhXZvPBHbsE= +cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.6.5 h1:S2if6wkjR4JCEAfDtIiYtD+sTz/oXjh2NUG4cgT1y/Q= +cloud.google.com/go/essentialcontacts v1.6.5/go.mod h1:jjYbPzw0x+yglXC890l6ECJWdYeZ5dlYACTFL0U/VuM= +cloud.google.com/go/eventarc v1.13.3 h1:+pFmO4eu4dOVipSaFBLkmqrRYG94Xl/TQZFOeohkuqU= +cloud.google.com/go/eventarc v1.13.3/go.mod h1:RWH10IAZIRcj1s/vClXkBgMHwh59ts7hSWcqD3kaclg= +cloud.google.com/go/filestore v1.8.0 h1:/+wUEGwk3x3Kxomi2cP5dsR8+SIXxo7M0THDjreFSYo= +cloud.google.com/go/filestore v1.8.0/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI= +cloud.google.com/go/firestore v1.14.0 h1:8aLcKnMPoldYU3YHgu4t2exrKhLQkqaXAGqT0ljrFVw= +cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= +cloud.google.com/go/functions v1.15.4 h1:ZjdiV3MyumRM6++1Ixu6N0VV9LAGlCX4AhW6Yjr1t+U= +cloud.google.com/go/functions v1.15.4/go.mod h1:CAsTc3VlRMVvx+XqXxKqVevguqJpnVip4DdonFsX28I= +cloud.google.com/go/gkebackup v1.3.4 h1:KhnOrr9A1tXYIYeXKqCKbCI8TL2ZNGiD3dm+d7BDUBg= +cloud.google.com/go/gkebackup v1.3.4/go.mod h1:gLVlbM8h/nHIs09ns1qx3q3eaXcGSELgNu1DWXYz1HI= +cloud.google.com/go/gkeconnect v0.8.4 h1:1JLpZl31YhQDQeJ98tK6QiwTpgHFYRJwpntggpQQWis= +cloud.google.com/go/gkeconnect v0.8.4/go.mod h1:84hZz4UMlDCKl8ifVW8layK4WHlMAFeq8vbzjU0yJkw= +cloud.google.com/go/gkehub v0.14.4 h1:J5tYUtb3r0cl2mM7+YHvV32eL+uZQ7lONyUZnPikCEo= +cloud.google.com/go/gkehub v0.14.4/go.mod h1:Xispfu2MqnnFt8rV/2/3o73SK1snL8s9dYJ9G2oQMfc= +cloud.google.com/go/gkemulticloud v1.0.3 h1:NmJsNX9uQ2CT78957xnjXZb26TDIMvv+d5W2vVUt0Pg= +cloud.google.com/go/gkemulticloud v1.0.3/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0= +cloud.google.com/go/gsuiteaddons v1.6.4 h1:uuw2Xd37yHftViSI8J2hUcCS8S7SH3ZWH09sUDLW30Q= +cloud.google.com/go/gsuiteaddons v1.6.4/go.mod h1:rxtstw7Fx22uLOXBpsvb9DUbC+fiXs7rF4U29KHM/pE= +cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= +cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= +cloud.google.com/go/iap v1.9.3 h1:M4vDbQ4TLXdaljXVZSwW7XtxpwXUUarY2lIs66m0aCM= +cloud.google.com/go/iap v1.9.3/go.mod h1:DTdutSZBqkkOm2HEOTBzhZxh2mwwxshfD/h3yofAiCw= +cloud.google.com/go/ids v1.4.4 h1:VuFqv2ctf/A7AyKlNxVvlHTzjrEvumWaZflUzBPz/M4= +cloud.google.com/go/ids v1.4.4/go.mod h1:z+WUc2eEl6S/1aZWzwtVNWoSZslgzPxAboS0lZX0HjI= +cloud.google.com/go/iot v1.7.4 h1:m1WljtkZnvLTIRYW1YTOv5A6H1yKgLHR6nU7O8yf27w= +cloud.google.com/go/iot v1.7.4/go.mod h1:3TWqDVvsddYBG++nHSZmluoCAVGr1hAcabbWZNKEZLk= +cloud.google.com/go/kms v1.15.5 h1:pj1sRfut2eRbD9pFRjNnPNg/CzJPuQAzUujMIM1vVeM= +cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI= +cloud.google.com/go/language v1.12.2 h1:zg9uq2yS9PGIOdc0Kz/l+zMtOlxKWonZjjo5w5YPG2A= +cloud.google.com/go/language v1.12.2/go.mod h1:9idWapzr/JKXBBQ4lWqVX/hcadxB194ry20m/bTrhWc= +cloud.google.com/go/lifesciences v0.9.4 h1:rZEI/UxcxVKEzyoRS/kdJ1VoolNItRWjNN0Uk9tfexg= +cloud.google.com/go/lifesciences v0.9.4/go.mod h1:bhm64duKhMi7s9jR9WYJYvjAFJwRqNj+Nia7hF0Z7JA= +cloud.google.com/go/logging v1.8.1 h1:26skQWPeYhvIasWKm48+Eq7oUqdcdbwsCVwz5Ys0FvU= +cloud.google.com/go/logging v1.8.1/go.mod h1:TJjR+SimHwuC8MZ9cjByQulAMgni+RkXeI3wwctHJEI= +cloud.google.com/go/longrunning v0.5.4 h1:w8xEcbZodnA2BbW6sVirkkoC+1gP8wS57EUUgGS0GVg= +cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= +cloud.google.com/go/managedidentities v1.6.4 h1:SF/u1IJduMqQQdJA4MDyivlIQ4SrV5qAawkr/ZEREkY= +cloud.google.com/go/managedidentities v1.6.4/go.mod h1:WgyaECfHmF00t/1Uk8Oun3CQ2PGUtjc3e9Alh79wyiM= +cloud.google.com/go/maps v1.6.1 h1:2+eMp/1MvMPp5qrSOd3vtnLKa/pylt+krVRqET3jWsM= +cloud.google.com/go/maps v1.6.1/go.mod h1:4+buOHhYXFBp58Zj/K+Lc1rCmJssxxF4pJ5CJnhdz18= +cloud.google.com/go/mediatranslation v0.8.4 h1:VRCQfZB4s6jN0CSy7+cO3m4ewNwgVnaePanVCQh/9Z4= +cloud.google.com/go/mediatranslation v0.8.4/go.mod h1:9WstgtNVAdN53m6TQa5GjIjLqKQPXe74hwSCxUP6nj4= +cloud.google.com/go/memcache v1.10.4 h1:cdex/ayDd294XBj2cGeMe6Y+H1JvhN8y78B9UW7pxuQ= +cloud.google.com/go/memcache v1.10.4/go.mod h1:v/d8PuC8d1gD6Yn5+I3INzLR01IDn0N4Ym56RgikSI0= +cloud.google.com/go/metastore v1.13.3 h1:94l/Yxg9oBZjin2bzI79oK05feYefieDq0o5fjLSkC8= +cloud.google.com/go/metastore v1.13.3/go.mod h1:K+wdjXdtkdk7AQg4+sXS8bRrQa9gcOr+foOMF2tqINE= +cloud.google.com/go/monitoring v1.16.3 h1:mf2SN9qSoBtIgiMA4R/y4VADPWZA7VCNJA079qLaZQ8= +cloud.google.com/go/monitoring v1.16.3/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw= +cloud.google.com/go/networkconnectivity v1.14.3 h1:e9lUkCe2BexsqsUc2bjV8+gFBpQa54J+/F3qKVtW+wA= +cloud.google.com/go/networkconnectivity v1.14.3/go.mod h1:4aoeFdrJpYEXNvrnfyD5kIzs8YtHg945Og4koAjHQek= +cloud.google.com/go/networkmanagement v1.9.3 h1:HsQk4FNKJUX04k3OI6gUsoveiHMGvDRqlaFM2xGyvqU= +cloud.google.com/go/networkmanagement v1.9.3/go.mod h1:y7WMO1bRLaP5h3Obm4tey+NquUvB93Co1oh4wpL+XcU= +cloud.google.com/go/networksecurity v0.9.4 h1:947tNIPnj1bMGTIEBo3fc4QrrFKS5hh0bFVsHmFm4Vo= +cloud.google.com/go/networksecurity v0.9.4/go.mod h1:E9CeMZ2zDsNBkr8axKSYm8XyTqNhiCHf1JO/Vb8mD1w= +cloud.google.com/go/notebooks v1.11.2 h1:eTOTfNL1yM6L/PCtquJwjWg7ZZGR0URFaFgbs8kllbM= +cloud.google.com/go/notebooks v1.11.2/go.mod h1:z0tlHI/lREXC8BS2mIsUeR3agM1AkgLiS+Isov3SS70= +cloud.google.com/go/optimization v1.6.2 h1:iFsoexcp13cGT3k/Hv8PA5aK+FP7FnbhwDO9llnruas= +cloud.google.com/go/optimization v1.6.2/go.mod h1:mWNZ7B9/EyMCcwNl1frUGEuY6CPijSkz88Fz2vwKPOY= +cloud.google.com/go/orchestration v1.8.4 h1:kgwZ2f6qMMYIVBtUGGoU8yjYWwMTHDanLwM/CQCFaoQ= +cloud.google.com/go/orchestration v1.8.4/go.mod h1:d0lywZSVYtIoSZXb0iFjv9SaL13PGyVOKDxqGxEf/qI= +cloud.google.com/go/orgpolicy v1.11.4 h1:RWuXQDr9GDYhjmrredQJC7aY7cbyqP9ZuLbq5GJGves= +cloud.google.com/go/orgpolicy v1.11.4/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI= +cloud.google.com/go/osconfig v1.12.4 h1:OrRCIYEAbrbXdhm13/JINn9pQchvTTIzgmOCA7uJw8I= +cloud.google.com/go/osconfig v1.12.4/go.mod h1:B1qEwJ/jzqSRslvdOCI8Kdnp0gSng0xW4LOnIebQomA= +cloud.google.com/go/oslogin v1.12.2 h1:NP/KgsD9+0r9hmHC5wKye0vJXVwdciv219DtYKYjgqE= +cloud.google.com/go/oslogin v1.12.2/go.mod h1:CQ3V8Jvw4Qo4WRhNPF0o+HAM4DiLuE27Ul9CX9g2QdY= +cloud.google.com/go/phishingprotection v0.8.4 h1:sPLUQkHq6b4AL0czSJZ0jd6vL55GSTHz2B3Md+TCZI0= +cloud.google.com/go/phishingprotection v0.8.4/go.mod h1:6b3kNPAc2AQ6jZfFHioZKg9MQNybDg4ixFd4RPZZ2nE= +cloud.google.com/go/policytroubleshooter v1.10.2 h1:sq+ScLP83d7GJy9+wpwYJVnY+q6xNTXwOdRIuYjvHT4= +cloud.google.com/go/policytroubleshooter v1.10.2/go.mod h1:m4uF3f6LseVEnMV6nknlN2vYGRb+75ylQwJdnOXfnv0= +cloud.google.com/go/privatecatalog v0.9.4 h1:Vo10IpWKbNvc/z/QZPVXgCiwfjpWoZ/wbgful4Uh/4E= +cloud.google.com/go/privatecatalog v0.9.4/go.mod h1:SOjm93f+5hp/U3PqMZAHTtBtluqLygrDrVO8X8tYtG0= +cloud.google.com/go/pubsub v1.33.0 h1:6SPCPvWav64tj0sVX/+npCBKhUi/UjJehy9op/V3p2g= +cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsublite v1.8.1 h1:pX+idpWMIH30/K7c0epN6V703xpIcMXWRjKJsz0tYGY= +cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= +cloud.google.com/go/recaptchaenterprise/v2 v2.8.4 h1:KOlLHLv3h3HwcZAkx91ubM3Oztz3JtT3ZacAJhWDorQ= +cloud.google.com/go/recaptchaenterprise/v2 v2.8.4/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= +cloud.google.com/go/recommendationengine v0.8.4 h1:JRiwe4hvu3auuh2hujiTc2qNgPPfVp+Q8KOpsXlEzKQ= +cloud.google.com/go/recommendationengine v0.8.4/go.mod h1:GEteCf1PATl5v5ZsQ60sTClUE0phbWmo3rQ1Js8louU= +cloud.google.com/go/recommender v1.11.3 h1:VndmgyS/J3+izR8V8BHa7HV/uun8//ivQ3k5eVKKyyM= +cloud.google.com/go/recommender v1.11.3/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4= +cloud.google.com/go/redis v1.14.1 h1:J9cEHxG9YLmA9o4jTSvWt/RuVEn6MTrPlYSCRHujxDQ= +cloud.google.com/go/redis v1.14.1/go.mod h1:MbmBxN8bEnQI4doZPC1BzADU4HGocHBk2de3SbgOkqs= +cloud.google.com/go/resourcemanager v1.9.4 h1:JwZ7Ggle54XQ/FVYSBrMLOQIKoIT/uer8mmNvNLK51k= +cloud.google.com/go/resourcemanager v1.9.4/go.mod h1:N1dhP9RFvo3lUfwtfLWVxfUWq8+KUQ+XLlHLH3BoFJ0= +cloud.google.com/go/resourcesettings v1.6.4 h1:yTIL2CsZswmMfFyx2Ic77oLVzfBFoWBYgpkgiSPnC4Y= +cloud.google.com/go/resourcesettings v1.6.4/go.mod h1:pYTTkWdv2lmQcjsthbZLNBP4QW140cs7wqA3DuqErVI= +cloud.google.com/go/retail v1.14.4 h1:geqdX1FNqqL2p0ADXjPpw8lq986iv5GrVcieTYafuJQ= +cloud.google.com/go/retail v1.14.4/go.mod h1:l/N7cMtY78yRnJqp5JW8emy7MB1nz8E4t2yfOmklYfg= +cloud.google.com/go/run v1.3.3 h1:qdfZteAm+vgzN1iXzILo3nJFQbzziudkJrvd9wCf3FQ= +cloud.google.com/go/run v1.3.3/go.mod h1:WSM5pGyJ7cfYyYbONVQBN4buz42zFqwG67Q3ch07iK4= +cloud.google.com/go/scheduler v1.10.5 h1:eMEettHlFhG5pXsoHouIM5nRT+k+zU4+GUvRtnxhuVI= +cloud.google.com/go/scheduler v1.10.5/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI= +cloud.google.com/go/secretmanager v1.11.4 h1:krnX9qpG2kR2fJ+u+uNyNo+ACVhplIAS4Pu7u+4gd+k= +cloud.google.com/go/secretmanager v1.11.4/go.mod h1:wreJlbS9Zdq21lMzWmJ0XhWW2ZxgPeahsqeV/vZoJ3w= +cloud.google.com/go/security v1.15.4 h1:sdnh4Islb1ljaNhpIXlIPgb3eYj70QWgPVDKOUYvzJc= +cloud.google.com/go/security v1.15.4/go.mod h1:oN7C2uIZKhxCLiAAijKUCuHLZbIt/ghYEo8MqwD/Ty4= +cloud.google.com/go/securitycenter v1.24.2 h1:qCEyXoJoxNKKA1bDywBjjqCB7ODXazzHnVWnG5Uqd1M= +cloud.google.com/go/securitycenter v1.24.2/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM= +cloud.google.com/go/servicedirectory v1.11.3 h1:5niCMfkw+jifmFtbBrtRedbXkJm3fubSR/KHbxSJZVM= +cloud.google.com/go/servicedirectory v1.11.3/go.mod h1:LV+cHkomRLr67YoQy3Xq2tUXBGOs5z5bPofdq7qtiAw= +cloud.google.com/go/shell v1.7.4 h1:nurhlJcSVFZneoRZgkBEHumTYf/kFJptCK2eBUq/88M= +cloud.google.com/go/shell v1.7.4/go.mod h1:yLeXB8eKLxw0dpEmXQ/FjriYrBijNsONpwnWsdPqlKM= +cloud.google.com/go/spanner v1.53.0 h1:/NzWQJ1MEhdRcffiutRKbW/AIGVKhcTeivWTDjEyCCo= +cloud.google.com/go/spanner v1.53.0/go.mod h1:liG4iCeLqm5L3fFLU5whFITqP0e0orsAW1uUSrd4rws= +cloud.google.com/go/speech v1.21.0 h1:qkxNao58oF8ghAHE1Eghen7XepawYEN5zuZXYWaUTA4= +cloud.google.com/go/speech v1.21.0/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY= +cloud.google.com/go/storagetransfer v1.10.3 h1:YM1dnj5gLjfL6aDldO2s4GeU8JoAvH1xyIwXre63KmI= +cloud.google.com/go/storagetransfer v1.10.3/go.mod h1:Up8LY2p6X68SZ+WToswpQbQHnJpOty/ACcMafuey8gc= +cloud.google.com/go/talent v1.6.5 h1:LnRJhhYkODDBoTwf6BeYkiJHFw9k+1mAFNyArwZUZAs= +cloud.google.com/go/talent v1.6.5/go.mod h1:Mf5cma696HmE+P2BWJ/ZwYqeJXEeU0UqjHFXVLadEDI= +cloud.google.com/go/texttospeech v1.7.4 h1:ahrzTgr7uAbvebuhkBAAVU6kRwVD0HWsmDsvMhtad5Q= +cloud.google.com/go/texttospeech v1.7.4/go.mod h1:vgv0002WvR4liGuSd5BJbWy4nDn5Ozco0uJymY5+U74= +cloud.google.com/go/tpu v1.6.4 h1:XIEH5c0WeYGaVy9H+UueiTaf3NI6XNdB4/v6TFQJxtE= +cloud.google.com/go/tpu v1.6.4/go.mod h1:NAm9q3Rq2wIlGnOhpYICNI7+bpBebMJbh0yyp3aNw1Y= +cloud.google.com/go/trace v1.10.4 h1:2qOAuAzNezwW3QN+t41BtkDJOG42HywL73q8x/f6fnM= +cloud.google.com/go/trace v1.10.4/go.mod h1:Nso99EDIK8Mj5/zmB+iGr9dosS/bzWCJ8wGmE6TXNWY= +cloud.google.com/go/translate v1.9.3 h1:t5WXTqlrk8VVJu/i3WrYQACjzYJiff5szARHiyqqPzI= +cloud.google.com/go/translate v1.9.3/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0= +cloud.google.com/go/video v1.20.3 h1:Xrpbm2S9UFQ1pZEeJt9Vqm5t2T/z9y/M3rNXhFoo8Is= +cloud.google.com/go/video v1.20.3/go.mod h1:TnH/mNZKVHeNtpamsSPygSR0iHtvrR/cW1/GDjN5+GU= +cloud.google.com/go/videointelligence v1.11.4 h1:YS4j7lY0zxYyneTFXjBJUj2r4CFe/UoIi/PJG0Zt/Rg= +cloud.google.com/go/videointelligence v1.11.4/go.mod h1:kPBMAYsTPFiQxMLmmjpcZUMklJp3nC9+ipJJtprccD8= +cloud.google.com/go/vision/v2 v2.7.5 h1:T/ujUghvEaTb+YnFY/jiYwVAkMbIC8EieK0CJo6B4vg= +cloud.google.com/go/vision/v2 v2.7.5/go.mod h1:GcviprJLFfK9OLf0z8Gm6lQb6ZFUulvpZws+mm6yPLM= +cloud.google.com/go/vmmigration v1.7.4 h1:qPNdab4aGgtaRX+51jCOtJxlJp6P26qua4o1xxUDjpc= +cloud.google.com/go/vmmigration v1.7.4/go.mod h1:yBXCmiLaB99hEl/G9ZooNx2GyzgsjKnw5fWcINRgD70= +cloud.google.com/go/vmwareengine v1.0.3 h1:WY526PqM6QNmFHSqe2sRfK6gRpzWjmL98UFkql2+JDM= +cloud.google.com/go/vmwareengine v1.0.3/go.mod h1:QSpdZ1stlbfKtyt6Iu19M6XRxjmXO+vb5a/R6Fvy2y4= +cloud.google.com/go/vpcaccess v1.7.4 h1:zbs3V+9ux45KYq8lxxn/wgXole6SlBHHKKyZhNJoS+8= +cloud.google.com/go/vpcaccess v1.7.4/go.mod h1:lA0KTvhtEOb/VOdnH/gwPuOzGgM+CWsmGu6bb4IoMKk= +cloud.google.com/go/webrisk v1.9.4 h1:iceR3k0BCRZgf2D/NiKviVMFfuNC9LmeNLtxUFRB/wI= +cloud.google.com/go/webrisk v1.9.4/go.mod h1:w7m4Ib4C+OseSr2GL66m0zMBywdrVNTDKsdEsfMl7X0= +cloud.google.com/go/websecurityscanner v1.6.4 h1:5Gp7h5j7jywxLUp6NTpjNPkgZb3ngl0tUSw6ICWvtJQ= +cloud.google.com/go/websecurityscanner v1.6.4/go.mod h1:mUiyMQ+dGpPPRkHgknIZeCzSHJ45+fY4F52nZFDHm2o= +cloud.google.com/go/workflows v1.12.3 h1:qocsqETmLAl34mSa01hKZjcqAvt699gaoFbooGGMvaM= +cloud.google.com/go/workflows v1.12.3/go.mod h1:fmOUeeqEwPzIU81foMjTRQIdwQHADi/vEr1cx9R1m5g= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/Azure/agentbaker v0.20240503.0/go.mod h1:4taz9ipeevqDxKnnLmD3+e/xBfsvj9MSuSjGXDSfK7Q= +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46 h1:lsxEuwrXEAokXB9qhlbKWPpo3KMLZQ5WB5WLQRW1uq0= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= +github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= +github.com/agnivade/levenshtein v1.0.1 h1:3oJU7J3FGFmyhn8KHjmVaZCN5hxTr7GxgRue+sxIXdQ= +github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= +github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw= +github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= +github.com/cenkalti/backoff/v4 v4.2.1/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/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89 h1:aPflPkRFkVwbW6dmcVqfgwp1i+UWGFH6VgR1Jim5Ygc= github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= github.com/chromedp/chromedp v0.9.2 h1:dKtNz4kApb06KuSXoTQIyUC2TrA0fhGDwNZf3bcgfKw= @@ -17,60 +266,230 @@ github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= +github.com/cilium/ebpf v0.9.1 h1:64sn2K3UKw8NbP/blsixRpF3nXuyhz/VjRlRzvlBRu4= +github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnxUFY= +github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/containerd/aufs v1.0.0 h1:2oeJiwX5HstO7shSrPZjrohJZLzK36wvpdmzDRkL/LY= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs/v2 v2.0.0 h1:FN4wsx7KQrYoLXN7uLP0vBV4oVWHOIKDRQ1G2Z0oL5M= +github.com/containerd/btrfs/v2 v2.0.0/go.mod h1:swkD/7j9HApWpzl8OHfrHNxppPd9l44DFZdF94BUj9k= +github.com/containerd/cgroups/v3 v3.0.2 h1:f5WFqIVSgo5IZmtTT3qVBo6TzI1ON6sycSBKkymb9L0= +github.com/containerd/cgroups/v3 v3.0.2/go.mod h1:JUgITrzdFqp42uI2ryGA+ge0ap/nxzYgkGmIcetmErE= +github.com/containerd/go-cni v1.1.9 h1:ORi7P1dYzCwVM6XPN4n3CbkuOx/NZ2DOqy+SHRdo9rU= +github.com/containerd/go-cni v1.1.9/go.mod h1:XYrZJ1d5W6E2VOvjffL3IZq0Dz6bsVlERHbekNK90PM= +github.com/containerd/go-runc v1.0.0 h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.1.8 h1:ZS7TuywcRNLoHpU0g+v4/PsKynl6TYlw5xDVWWoIyFA= +github.com/containerd/imgcrypt v1.1.8/go.mod h1:x6QvFIkMyO2qGIY2zXc88ivEzcbgvLdWjoZyGqDap5U= +github.com/containerd/nri v0.6.1 h1:xSQ6elnQ4Ynidm9u49ARK9wRKHs80HCUI+bkXOxV4mA= +github.com/containerd/nri v0.6.1/go.mod h1:7+sX3wNx+LR7RzhjnJiUkFDhn18P5Bg/0VnJ/uXpRJM= +github.com/containerd/stargz-snapshotter/estargz v0.14.3 h1:OqlDCK3ZVUO6C3B/5FSkDwbkEETK84kQgEeFwDC+62k= +github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o= github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v1.1.0 h1:n7OZ7jZumLIqNJqXrEc/paBM840mORnmGdJDmAmJZHM= +github.com/containerd/zfs v1.1.0/go.mod h1:oZF9wBnrnQjpWLaPKEinrx3TQ9a+W/RJO7Zb41d8YLE= +github.com/containernetworking/cni v1.1.2 h1:wtRGZVv7olUHMOqouPpn3cXJWpJgM6+EUl31EQbXALQ= +github.com/containernetworking/cni v1.1.2/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= +github.com/containernetworking/plugins v1.2.0 h1:SWgg3dQG1yzUo4d9iD8cwSVh1VqI+bP7mkPDoSfP9VU= +github.com/containernetworking/plugins v1.2.0/go.mod h1:/VjX4uHecW5vVimFa1wkG4s+r/s9qIfPdqlLF4TW8c4= +github.com/containers/ocicrypt v1.1.10 h1:r7UR6o8+lyhkEywetubUUgcKFjOWOaWz8cEBrCPX0ic= +github.com/containers/ocicrypt v1.1.10/go.mod h1:YfzSSr06PTHQwSTUKqDSjish9BeW1E4HUmreluQcMd8= +github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= +github.com/cyphar/filepath-securejoin v0.2.3 h1:YX6ebbZCZP7VkM3scTTokDgBL2TY741X51MTk3ycuNI= +github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d h1:1iy2qD6JEhHKKhUOA9IWs7mjco7lnw2qx8FsRI2wirE= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d/go.mod h1:tmAIfUFEirG/Y8jhZ9M+h36obRZAk/1fcSpXwAVlfqE= github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/cli v23.0.3+incompatible h1:Zcse1DuDqBdgI7OQDV8Go7b83xLgfhW1eza4HfEdxpY= +github.com/docker/cli v23.0.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= +github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v23.0.3+incompatible h1:9GhVsShNWz1hO//9BNg/dpMnZW25KydO4wtVxWAIbho= +github.com/docker/docker v23.0.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= +github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= +github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1MyGqJ2DIk5HpM= +github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= +github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= +github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= +github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.2.1 h1:F2aeBZrm2NDsc7vbovKrWSogd4wvfAxg0FQ89/iqOTk= github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= +github.com/goccy/go-json v0.9.7 h1:IcB+Aqpx/iMHu5Yooh7jEzJk1JZ7Pjtmys2ukPr7EeM= +github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= +github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= +github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/go-containerregistry v0.14.0 h1:z58vMqHxuwvAsVwvKEkmVBz2TlgBgH5k6koEXBtlYkw= +github.com/google/go-containerregistry v0.14.0/go.mod h1:aiJ2fp/SXvkWgmYHioXnbMdlgB8eXiiYOY55gfN91Wk= github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465 h1:KwWnWVWCNtNq/ewIX7HIKnELmEx2nDP42yskD/pi7QE= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= +github.com/intel/goresctrl v0.3.0 h1:K2D3GOzihV7xSBedGxONSlaw/un1LZgWsc9IfqipN4c= +github.com/intel/goresctrl v0.3.0/go.mod h1:fdz3mD85cmP9sHD8JUlrNWAxvwM86CrbmVXltEKd7zk= github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= +github.com/josephspurrier/goversioninfo v1.4.0 h1:Puhl12NSHUSALHSuzYwPYQkqa2E1+7SrtAPJorKK0C8= +github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY= github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= +github.com/klauspost/cpuid/v2 v2.0.4 h1:g0I61F2K2DjRHz1cnxlkNSBIaePVoJIjjnHui8QHbiw= +github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80 h1:6Yzfa6GP0rIo/kULo2bwGEkFvCePZ3qHDDTC3/J9Swo= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= +github.com/lestrrat-go/backoff/v2 v2.0.8 h1:oNb5E5isby2kiro9AgdHLv5N5tint1AnDVVf2E2un5A= +github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= +github.com/lestrrat-go/blackmagic v1.0.0 h1:XzdxDbuQTz0RZZEmdU7cnQxUtFUzgCSPq8RCz4BxIi4= +github.com/lestrrat-go/blackmagic v1.0.0/go.mod h1:TNgH//0vYSs8VXDCfkZLgIrVTTXQELZffUV0tz3MtdQ= +github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= +github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= +github.com/lestrrat-go/iter v1.0.1 h1:q8faalr2dY6o8bV45uwrxq12bRa1ezKrB6oM9FUgN4A= +github.com/lestrrat-go/iter v1.0.1/go.mod h1:zIdgO1mRKhn8l9vrZJZz9TUMMFbQbLeTsbqPDrJ/OJc= +github.com/lestrrat-go/jwx v1.2.25 h1:tAx93jN2SdPvFn08fHNAhqFJazn5mBBOB8Zli0g0otA= +github.com/lestrrat-go/jwx v1.2.25/go.mod h1:zoNuZymNl5lgdcu6P7K6ie2QRll5HVfF4xwxBBK1NxY= +github.com/lestrrat-go/option v1.0.0 h1:WqAWL8kh8VcSoD6xjSH34/1m8yxluXQbDeKNfvFeEO4= +github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3 h1:jUp75lepDg0phMUJBCmvaeFDldD2N3S1lBuPwUTszio= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= +github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= +github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= +github.com/mistifyio/go-zfs/v3 v3.0.1 h1:YaoXgBePoMA12+S1u/ddkv+QqxcfiZK4prI6HPnkFiU= +github.com/mistifyio/go-zfs/v3 v3.0.1/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= +github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= github.com/montanaflynn/stats v0.7.0 h1:r3y12KyNxj/Sb/iOE46ws+3mS1+MZca1wlHQFPsY/JU= github.com/montanaflynn/stats v0.7.0/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= github.com/onsi/ginkgo/v2 v2.17.2 h1:7eMhcy3GimbsA3hEnVKdw/PQM9XN9krpKVXsZdph0/g= github.com/onsi/ginkgo/v2 v2.17.2/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc= +github.com/open-policy-agent/opa v0.42.2 h1:qocVAKyjrqMjCqsU02S/gHyLr4AQQ9xMtuV1kKnnyhM= +github.com/open-policy-agent/opa v0.42.2/go.mod h1:MrmoTi/BsKWT58kXlVayBb+rYVeaMwuBm3nYAN3923s= +github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= +github.com/opencontainers/runc v1.1.5/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= +github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 h1:DmNGcqH3WDbV5k8OJ+esPWbqUOX5rMLR2PMvziDMJi0= +github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626/go.mod h1:BRHJJd0E+cx42OybVYSgUvZmU0B8P9gZuRXlZUP7TKI= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde h1:x0TT0RDC7UhAVbbWWBzr41ElhJx5tXPWkIHA2HWPRuw= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= +github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= +github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= 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= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= +github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= +github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= +github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6 h1:pnnLyeX7o/5aX8qUQ69P/mLojDqwda8hFOCBTmP/6hw= +github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6/go.mod h1:39R/xuhNgVhi+K0/zst4TLrJrVmbm6LVgl4A0+ZFS5M= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/tchap/go-patricia/v2 v2.3.1 h1:6rQp39lgIYZ+MHmdEq4xzuk1t7OdC35z/xm0BGhTkes= +github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= +github.com/urfave/cli v1.22.12 h1:igJgVw1JdKH+trcLWLeLwZjU9fEfPesQ+9/e4MQ44S8= +github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8= +github.com/vbatts/tar-split v0.11.2 h1:Via6XqJr0hceW4wff3QRzD5gAk/tatMw/4ZA7cTlIME= +github.com/vbatts/tar-split v0.11.2/go.mod h1:vV3ZuO2yWSVsz+pfFzDG/upWH1JhjOiEaWq6kXyQ3VI= +github.com/vektah/gqlparser/v2 v2.4.5 h1:C02NsyEsL4TXJB7ndonqTfuQOL4XPIu0aAWugdmTgmc= +github.com/vektah/gqlparser/v2 v2.4.5/go.mod h1:flJWIR04IMQPGz+BXLrORkrARBxv/rtyIAFvd/MceW0= +github.com/veraison/go-cose v1.0.0-rc.1 h1:4qA7dbFJGvt7gcqv5MCIyCQvN+NpHFPkW7do3EeDLb8= +github.com/veraison/go-cose v1.0.0-rc.1/go.mod h1:7ziE85vSq4ScFTg6wyoMXjucIGOf4JkFEZi/an96Ct4= +github.com/vishvananda/netlink v1.2.1-beta.2 h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs= +github.com/vishvananda/netlink v1.2.1-beta.2/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvVn1ZaTIVp+3vuYAXFe3OJEvjbUYJLaA= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/yashtewari/glob-intersection v0.1.0 h1:6gJvMYQlTDOL3dMsPF6J0+26vwX9MB8/1q3uAdhmTrg= +github.com/yashtewari/glob-intersection v0.1.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok= github.com/yuin/goldmark v1.2.1 h1:ruQGxdhGHe7FWOJPT0mKs5+pD2Xs1Bm/kdGlHO04FmM= github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.etcd.io/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0= +go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 h1:A/5uWzF44DlIgdm/PQFwfMkW0JX+cIcQi/SwLAmZP5M= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 h1:SpGay3w+nEwMpfVnbqOLH5gY52/foP8RE8UzTZ1pdSE= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1/go.mod h1:4UoMYEZOC0yN/sPGH76KPkkU7zgiEWYWL9vwmbnTJPE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 h1:3d+S281UTjM+AbF31XSOYn1qXn3BgIdWl8HNEpx08Jk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0/go.mod h1:0+KuTDyKL4gjKCF75pHOX4wuzYDUZYfAQdSu43o+Z2I= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 h1:IeMeyr1aBvBiPVYihXIaeIZba6b8E1bYp7lbdxK8CQg= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0/go.mod h1:oVdCUtjq9MK9BlS7TtucsQwUcXcymNiEDjgDD2jMtZU= +go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= +go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= +go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= +go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4 h1:c2HOrn5iMezYjSlGPncknSEr/8x5LELb/ilJbXi9DEA= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3 h1:XQyxROzUlZH+WIQwySDgnISgOivlhjIEwaQaJEJrrN0= 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.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= @@ -104,10 +523,23 @@ golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3j golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f h1:2yNACc1O40tTnrsbk9Cv6oxiW8pxI/pXj0wRtdlYmgY= +google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f/go.mod h1:Uy9bTZJqmfrw2rIBxgGLnamc78euZULUBrLZ9XTITKI= gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc h1:/hemPrYIhOhy8zYrNj+069zDB68us2sMGsfkFJO0iZs= +k8s.io/apiserver v0.26.2 h1:Pk8lmX4G14hYqJd1poHGC08G03nIHVqdJMR0SD3IH3o= +k8s.io/apiserver v0.26.2/go.mod h1:GHcozwXgXsPuOJ28EnQ/jXEM9QeG6HT22YxSNmpYNh8= k8s.io/component-base v0.26.1 h1:4ahudpeQXHZL5kko+iDHqLj/FSGAEUnSVO0EBbgDd+4= k8s.io/component-base v0.26.1/go.mod h1:VHrLR0b58oC035w6YQiBSbtsf0ThuSwXP+p5dD/kAWU= +k8s.io/component-base v0.26.2 h1:IfWgCGUDzrD6wLLgXEstJKYZKAFS2kO+rBRi0p3LqcI= +k8s.io/component-base v0.26.2/go.mod h1:DxbuIe9M3IZPRxPIzhch2m1eT7uFrSBJUBuVCQEBivs= +k8s.io/cri-api v0.27.1 h1:KWO+U8MfI9drXB/P4oU9VchaWYOlwDglJZVHWMpTT3Q= +k8s.io/cri-api v0.27.1/go.mod h1:+Ts/AVYbIo04S86XbTD73UPp/DkTiYxtsFeOFEu32L0= k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 h1:NGrVE502P0s0/1hudf8zjgwki1X/TByhmAoILTarmzo= k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70/go.mod h1:VH3AT8AaQOqiGjMF9p0/IM1Dj+82ZwjfxUP1IxaHE+8= +tags.cncf.io/container-device-interface v0.7.2 h1:MLqGnWfOr1wB7m08ieI4YJ3IoLKKozEnnNYBtacDPQU= +tags.cncf.io/container-device-interface v0.7.2/go.mod h1:Xb1PvXv2BhfNb3tla4r9JL129ck1Lxv9KuU6eVOfKto= +tags.cncf.io/container-device-interface/specs-go v0.7.0 h1:w/maMGVeLP6TIQJVYT5pbqTi8SCw/iHZ+n4ignuGHqg= +tags.cncf.io/container-device-interface/specs-go v0.7.0/go.mod h1:hMAwAbMZyBLdmYqWgYcKH0F/yctNpV3P35f+/088A80= diff --git a/hack/tools/Makefile b/hack/tools/Makefile index 2d8cafad6e5..a2e1a4400d6 100644 --- a/hack/tools/Makefile +++ b/hack/tools/Makefile @@ -19,10 +19,6 @@ $(LOCALBIN)/golangci-lint: $(LOCALBIN)/cue: GOBIN=$(LOCALBIN) $(GO) install cuelang.org/go/cmd/cue@v0.4.2 -$(LOCALBIN)/buf: - curl -sSL "https://github.com/bufbuild/buf/releases/download/v1.47.2/buf-$(shell uname -s)-$(shell uname -m)" -o $(LOCALBIN)/buf && \ - chmod +x $(LOCALBIN)/buf - $(LOCALBIN)/shellspec: cd $(LOCALBIN) && \ git clone https://github.com/shellspec/shellspec.git ./shellspecsrc/ && \ From 3340f9d2dc47f92135985346bee5d8f43b9a20f7 Mon Sep 17 00:00:00 2001 From: r2k1 Date: Thu, 21 Nov 2024 11:10:19 +1300 Subject: [PATCH 02/10] move proto stuff to aks-node-controller folder --- .github/workflows/buf.yaml | 8 +++--- Makefile | 19 ------------- aks-node-controller/Makefile | 15 ++++++++-- buf.yaml => aks-node-controller/buf.yaml | 2 +- aks-node-controller/protoc.Dockerfile | 36 ++++++++++++++++++------ buf.gen.yaml | 11 -------- 6 files changed, 44 insertions(+), 47 deletions(-) rename buf.yaml => aks-node-controller/buf.yaml (69%) delete mode 100644 buf.gen.yaml diff --git a/.github/workflows/buf.yaml b/.github/workflows/buf.yaml index 4967c390e8e..76235662c7d 100644 --- a/.github/workflows/buf.yaml +++ b/.github/workflows/buf.yaml @@ -3,15 +3,15 @@ on: push: paths: - "aks-node-controller/proto/**" - - "buf.yaml" - - "buf.gen.yaml" + - "aks-node-controller/buf.yaml" + - "aks-node-controller/buf.gen.yaml" - ".github/workflows/buf.yaml" pull_request: types: [opened, synchronize, reopened, labeled, unlabeled] paths: - "aks-node-controller/proto/**" - - "buf.yaml" - - "buf.gen.yaml" + - "aks-node-controller/buf.yaml" + - "aks-node-controller/buf.gen.yaml" - ".github/workflows/buf.yaml" permissions: contents: read diff --git a/Makefile b/Makefile index ca707835824..121b6e45ed6 100644 --- a/Makefile +++ b/Makefile @@ -89,25 +89,6 @@ validate-image-version: generate-kubelet-flags: @./e2e/kubelet/generate-kubelet-flags.sh -BUF = docker run --volume "$(CURDIR):$(CURDIR)" --workdir $(CURDIR) bufbuild/buf:1.47.2 - -.PHONY: lint-proto-files -lint-proto-files: - @($(BUF) lint) - @($(BUF) breaking --against '.git#branch=dev') # TODO: change to master - -.PHONY: compile-proto-files -compile-proto-files: - @($(BUF) format -w) - protoc -I - $(MAKE) lint-proto-files - -.PHONY: proto-generate -proto-generate: - protoc --go_opt=module=github.com/Azure/agentbaker/aks-node-controller --go_out=./ --proto_path=proto $(find proto/aksnodeconfig/v1 -name '*.proto') - - - .PHONY: generate-manifest generate-manifest: ./hack/tools/bin/cue export ./schemas/manifest.cue > ./parts/linux/cloud-init/artifacts/manifest.json diff --git a/aks-node-controller/Makefile b/aks-node-controller/Makefile index 4e17b0e3149..6f2a8cb7178 100644 --- a/aks-node-controller/Makefile +++ b/aks-node-controller/Makefile @@ -1,4 +1,13 @@ -.PHONY: proto-generate +.PHONY: proto-generate lint-proto-files proto-generate: - docker build -t protoc-docker - < protoc.Dockerfile - docker run --rm -v $(shell pwd):/$(shell pwd) --workdir=$(shell pwd) protoc-docker protoc --go_opt=module=github.com/Azure/agentbaker/aks-node-controller --go_out=./ --proto_path=proto $(shell find proto/aksnodeconfig/v1 -name '*.proto') \ No newline at end of file + docker build --platform $(shell uname -m) -t protoc-docker - < protoc.Dockerfile + docker run --rm -v $(shell pwd):/$(shell pwd) --workdir=$(shell pwd) protoc-docker protoc --go_opt=module=github.com/Azure/agentbaker/aks-node-controller --go_out=./ --proto_path=proto $(shell find proto/aksnodeconfig/v1 -name '*.proto') + $(MAKE) proto-lint + +# Run buf in docker, mounting the full repo into the container +# Emulate running "buf" in the current directory +BUF = docker run --volume "$(CURDIR)/../:$(CURDIR)/../" --workdir $(CURDIR) bufbuild/buf:1.47.2 + +proto-lint: + @($(BUF) lint) + @($(BUF) breaking --against '../.git#branch=dev,subdir=aks-node-controller') # TODO: change to master diff --git a/buf.yaml b/aks-node-controller/buf.yaml similarity index 69% rename from buf.yaml rename to aks-node-controller/buf.yaml index dd2ed2b9c6c..cb15d8cc147 100644 --- a/buf.yaml +++ b/aks-node-controller/buf.yaml @@ -1,6 +1,6 @@ version: v2 modules: - - path: aks-node-controller/proto + - path: proto lint: use: - STANDARD diff --git a/aks-node-controller/protoc.Dockerfile b/aks-node-controller/protoc.Dockerfile index 635b3a687b3..94c4239f132 100644 --- a/aks-node-controller/protoc.Dockerfile +++ b/aks-node-controller/protoc.Dockerfile @@ -1,14 +1,32 @@ -# Use a multi-stage build to handle different architectures FROM golang:1.23.3-alpine3.20 -ARG TARGETARCH -RUN if [ "${TARGETARCH}" = "amd64" ]; then \ - wget -O protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v28.3/protoc-28.3-linux-x86_64.zip; \ +# Define build-time arguments for the protobuf and gRPC versions +ARG PROTOC_VERSION=28.3 +ARG PROTOC_GEN_GO_VERSION=1.35.2 + +# Determine architecture and set appropriate URLs +RUN set -e; \ + ARCH=`uname -m`; \ + apk add --no-cache wget unzip; \ + if [ "$ARCH" = "x86_64" ]; then \ + PROTOC_URL="https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-x86_64.zip"; \ + PROTOC_GEN_GO_URL="https://github.com/protocolbuffers/protobuf-go/releases/download/v${PROTOC_GEN_GO_VERSION}/protoc-gen-go.v${PROTOC_GEN_GO_VERSION}.linux.amd64.tar.gz"; \ + elif [ "$ARCH" = "aarch64" ]; then \ + PROTOC_URL="https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-aarch_64.zip"; \ + PROTOC_GEN_GO_URL="https://github.com/protocolbuffers/protobuf-go/releases/download/v${PROTOC_GEN_GO_VERSION}/protoc-gen-go.v${PROTOC_GEN_GO_VERSION}.linux.arm64.tar.gz"; \ else \ - wget -O protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v28.3/protoc-28.3-linux-aarch_64.zip; \ - fi && \ - unzip protoc.zip -d /usr/local && \ - rm protoc.zip -RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.35.2 + echo "Unsupported architecture: $ARCH" && exit 1; \ + fi; \ + \ + # Download and install protobuf compiler + wget -O protoc.zip $PROTOC_URL; \ + unzip protoc.zip -d /usr/local; \ + rm protoc.zip; \ + \ + # Download and install protobuf Go plugin + wget -O protoc-gen-go.tar.gz $PROTOC_GEN_GO_URL; \ + tar -xzf protoc-gen-go.tar.gz -C /usr/local/bin; \ + rm protoc-gen-go.tar.gz +# Default command CMD ["protoc"] diff --git a/buf.gen.yaml b/buf.gen.yaml deleted file mode 100644 index adad0154b63..00000000000 --- a/buf.gen.yaml +++ /dev/null @@ -1,11 +0,0 @@ -version: v2 -clean: true -managed: - enabled: true - override: - - file_option: go_package_prefix - value: github.com/azure/agentBaker/aks-node-controller/pkg/gen -plugins: - - local: go - out: aks-node-controller/pkg/gen - opt: paths=source_relative From ad75eefd5352fec46141c4a4ddfc0a684f807b66 Mon Sep 17 00:00:00 2001 From: r2k1 Date: Thu, 21 Nov 2024 11:20:42 +1300 Subject: [PATCH 03/10] format proto files --- aks-node-controller/Makefile | 12 +++++++----- .../proto/aksnodeconfig/v1/api_server_config.proto | 2 +- .../proto/aksnodeconfig/v1/auth_config.proto | 1 + .../aksnodeconfig/v1/bootstrapping_config.proto | 1 + .../proto/aksnodeconfig/v1/cluster_config.proto | 2 +- .../proto/aksnodeconfig/v1/config.proto | 4 ++-- .../proto/aksnodeconfig/v1/containerd_config.proto | 2 +- .../proto/aksnodeconfig/v1/custom_cloud_config.proto | 2 +- .../aksnodeconfig/v1/custom_linux_os_config.proto | 2 +- .../v1/custom_search_domain_config.proto | 2 +- .../proto/aksnodeconfig/v1/gpu_config.proto | 2 +- .../proto/aksnodeconfig/v1/http_proxy_config.proto | 2 +- .../aksnodeconfig/v1/imds_restriction_config.proto | 1 + .../proto/aksnodeconfig/v1/kube_binary_config.proto | 1 + .../proto/aksnodeconfig/v1/kubelet_config.proto | 1 + .../proto/aksnodeconfig/v1/network_config.proto | 1 + .../proto/aksnodeconfig/v1/runc_config.proto | 1 + .../proto/aksnodeconfig/v1/teleport_config.proto | 1 + 18 files changed, 25 insertions(+), 15 deletions(-) diff --git a/aks-node-controller/Makefile b/aks-node-controller/Makefile index 6f2a8cb7178..732a3fa2971 100644 --- a/aks-node-controller/Makefile +++ b/aks-node-controller/Makefile @@ -1,13 +1,15 @@ -.PHONY: proto-generate lint-proto-files +# Run buf in docker, mounting the full repo into the container +# Emulate running "buf" in the current directory +BUF = docker run --volume "$(CURDIR)/../:$(CURDIR)/../" --workdir $(CURDIR) bufbuild/buf:1.47.2 + +.PHONY: proto-generate proto-generate: + @($(BUF) format -w) docker build --platform $(shell uname -m) -t protoc-docker - < protoc.Dockerfile docker run --rm -v $(shell pwd):/$(shell pwd) --workdir=$(shell pwd) protoc-docker protoc --go_opt=module=github.com/Azure/agentbaker/aks-node-controller --go_out=./ --proto_path=proto $(shell find proto/aksnodeconfig/v1 -name '*.proto') $(MAKE) proto-lint -# Run buf in docker, mounting the full repo into the container -# Emulate running "buf" in the current directory -BUF = docker run --volume "$(CURDIR)/../:$(CURDIR)/../" --workdir $(CURDIR) bufbuild/buf:1.47.2 - +.PHONY: proto-lint proto-lint: @($(BUF) lint) @($(BUF) breaking --against '../.git#branch=dev,subdir=aks-node-controller') # TODO: change to master diff --git a/aks-node-controller/proto/aksnodeconfig/v1/api_server_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/api_server_config.proto index c987ba0f342..99d12c5d62d 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/api_server_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/api_server_config.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; -option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message ApiServerConfig { // The certificate public key of the API server. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/auth_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/auth_config.proto index 91243d72b9a..ed8011ebf55 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/auth_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/auth_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; + option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; // Auth Config fields stored in azure.json used by cloud-provider-azure diff --git a/aks-node-controller/proto/aksnodeconfig/v1/bootstrapping_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/bootstrapping_config.proto index 2a3786e9c83..bad9fab9a8c 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/bootstrapping_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/bootstrapping_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; + option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; enum BootstrappingAuthMethod { diff --git a/aks-node-controller/proto/aksnodeconfig/v1/cluster_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/cluster_config.proto index 633b644bb3b..174d1b3ec6c 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/cluster_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/cluster_config.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; -option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; // Cluster Config fields stored in azure.json used by cloud-provider-azure message ClusterConfig { diff --git a/aks-node-controller/proto/aksnodeconfig/v1/config.proto b/aks-node-controller/proto/aksnodeconfig/v1/config.proto index 605ed76ed39..0a99fc9c4ea 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/config.proto @@ -1,8 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; -option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; - import "aksnodeconfig/v1/api_server_config.proto"; import "aksnodeconfig/v1/auth_config.proto"; @@ -21,6 +19,8 @@ import "aksnodeconfig/v1/network_config.proto"; import "aksnodeconfig/v1/runc_config.proto"; import "aksnodeconfig/v1/teleport_config.proto"; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; + enum WorkloadRuntime { WORKLOAD_RUNTIME_UNSPECIFIED = 0; WORKLOAD_RUNTIME_OCI_CONTAINER = 1; diff --git a/aks-node-controller/proto/aksnodeconfig/v1/containerd_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/containerd_config.proto index aea7ff145e1..7a528c8f726 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/containerd_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/containerd_config.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; -option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message ContainerdConfig { // The base URL for downloading containerd. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/custom_cloud_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/custom_cloud_config.proto index 3dc57f12e77..f2d6b7fccd3 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/custom_cloud_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/custom_cloud_config.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; -option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message CustomCloudConfig { // Name of custom cloud diff --git a/aks-node-controller/proto/aksnodeconfig/v1/custom_linux_os_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/custom_linux_os_config.proto index f9a0d2970a3..7416b065296 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/custom_linux_os_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/custom_linux_os_config.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; -option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; // Custom Linux Node OS Config message CustomLinuxOsConfig { diff --git a/aks-node-controller/proto/aksnodeconfig/v1/custom_search_domain_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/custom_search_domain_config.proto index e2df93e49e8..3d6f1fd5606 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/custom_search_domain_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/custom_search_domain_config.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; -option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message CustomSearchDomainConfig { // The name of the custom search domain. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto index 286c043c375..cf49e82c5c1 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; -option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message GpuConfig { // Specifies whether any nvidia configurations should be applied for GPU nodes. False when vm size is not a GPU node or driver install is skipped and no GPU configuration is needed. diff --git a/aks-node-controller/proto/aksnodeconfig/v1/http_proxy_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/http_proxy_config.proto index 603cec38d78..41335e3b8ca 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/http_proxy_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/http_proxy_config.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package aksnodeconfig.v1; -option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; +option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message HttpProxyConfig { // Proxy endpoint/URL using HTTP through which the traffic should be routed for making HTTP connections outside the cluster diff --git a/aks-node-controller/proto/aksnodeconfig/v1/imds_restriction_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/imds_restriction_config.proto index 78be12020fd..16b575296a4 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/imds_restriction_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/imds_restriction_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; + option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message ImdsRestrictionConfig { diff --git a/aks-node-controller/proto/aksnodeconfig/v1/kube_binary_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/kube_binary_config.proto index 6f9aa6d8013..1e2f4c5d951 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/kube_binary_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/kube_binary_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; + option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; // Kube Binary Config diff --git a/aks-node-controller/proto/aksnodeconfig/v1/kubelet_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/kubelet_config.proto index 57dce190e06..03b907cdbfb 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/kubelet_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/kubelet_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; + option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message KubeletConfig { diff --git a/aks-node-controller/proto/aksnodeconfig/v1/network_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/network_config.proto index ded53122606..1d15a47db00 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/network_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/network_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; + option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message NetworkConfig { diff --git a/aks-node-controller/proto/aksnodeconfig/v1/runc_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/runc_config.proto index 5c74c2f8540..41973f7b2af 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/runc_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/runc_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; + option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message RuncConfig { diff --git a/aks-node-controller/proto/aksnodeconfig/v1/teleport_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/teleport_config.proto index 0f876b2193d..e26d104774a 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/teleport_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/teleport_config.proto @@ -1,5 +1,6 @@ syntax = "proto3"; package aksnodeconfig.v1; + option go_package = "github.com/Azure/agentbaker/aks-node-controller/pkg/gen/aksnodeconfig/v1;aksnodeconfigv1"; message TeleportConfig { From 427038293cd469730cea4d7d970f62e695ba90dd Mon Sep 17 00:00:00 2001 From: r2k1 Date: Thu, 21 Nov 2024 11:24:26 +1300 Subject: [PATCH 04/10] revert go.work.sum changes --- go.work.sum | 432 ---------------------------------------------------- 1 file changed, 432 deletions(-) diff --git a/go.work.sum b/go.work.sum index fd150a85d55..f62896fa549 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1,259 +1,10 @@ -cloud.google.com/go v0.110.10 h1:LXy9GEO+timppncPIAZoOj3l58LIU9k+kn48AN7IO3Y= -cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= -cloud.google.com/go/accessapproval v1.7.4 h1:ZvLvJ952zK8pFHINjpMBY5k7LTAp/6pBf50RDMRgBUI= -cloud.google.com/go/accessapproval v1.7.4/go.mod h1:/aTEh45LzplQgFYdQdwPMR9YdX0UlhBmvB84uAmQKUc= -cloud.google.com/go/accesscontextmanager v1.8.4 h1:Yo4g2XrBETBCqyWIibN3NHNPQKUfQqti0lI+70rubeE= -cloud.google.com/go/accesscontextmanager v1.8.4/go.mod h1:ParU+WbMpD34s5JFEnGAnPBYAgUHozaTmDJU7aCU9+M= -cloud.google.com/go/aiplatform v1.54.0 h1:wH7OYl9Vq/5tupok0BPTFY9xaTLb0GxkReHtB5PF7cI= -cloud.google.com/go/aiplatform v1.54.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU= -cloud.google.com/go/analytics v0.21.6 h1:fnV7B8lqyEYxCU0LKk+vUL7mTlqRAq4uFlIthIdr/iA= -cloud.google.com/go/analytics v0.21.6/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w= -cloud.google.com/go/apigateway v1.6.4 h1:VVIxCtVerchHienSlaGzV6XJGtEM9828Erzyr3miUGs= -cloud.google.com/go/apigateway v1.6.4/go.mod h1:0EpJlVGH5HwAN4VF4Iec8TAzGN1aQgbxAWGJsnPCGGY= -cloud.google.com/go/apigeeconnect v1.6.4 h1:jSoGITWKgAj/ssVogNE9SdsTqcXnryPzsulENSRlusI= -cloud.google.com/go/apigeeconnect v1.6.4/go.mod h1:CapQCWZ8TCjnU0d7PobxhpOdVz/OVJ2Hr/Zcuu1xFx0= -cloud.google.com/go/apigeeregistry v0.8.2 h1:DSaD1iiqvELag+lV4VnnqUUFd8GXELu01tKVdWZrviE= -cloud.google.com/go/apigeeregistry v0.8.2/go.mod h1:h4v11TDGdeXJDJvImtgK2AFVvMIgGWjSb0HRnBSjcX8= -cloud.google.com/go/appengine v1.8.4 h1:Qub3fqR7iA1daJWdzjp/Q0Jz0fUG0JbMc7Ui4E9IX/E= -cloud.google.com/go/appengine v1.8.4/go.mod h1:TZ24v+wXBujtkK77CXCpjZbnuTvsFNT41MUaZ28D6vg= -cloud.google.com/go/area120 v0.8.4 h1:YnSO8m02pOIo6AEOgiOoUDVbw4pf+bg2KLHi4rky320= -cloud.google.com/go/area120 v0.8.4/go.mod h1:jfawXjxf29wyBXr48+W+GyX/f8fflxp642D/bb9v68M= -cloud.google.com/go/artifactregistry v1.14.6 h1:/hQaadYytMdA5zBh+RciIrXZQBWK4vN7EUsrQHG+/t8= -cloud.google.com/go/artifactregistry v1.14.6/go.mod h1:np9LSFotNWHcjnOgh8UVK0RFPCTUGbO0ve3384xyHfE= -cloud.google.com/go/asset v1.15.3 h1:uI8Bdm81s0esVWbWrTHcjFDFKNOa9aB7rI1vud1hO84= -cloud.google.com/go/asset v1.15.3/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU= -cloud.google.com/go/assuredworkloads v1.11.4 h1:FsLSkmYYeNuzDm8L4YPfLWV+lQaUrJmH5OuD37t1k20= -cloud.google.com/go/assuredworkloads v1.11.4/go.mod h1:4pwwGNwy1RP0m+y12ef3Q/8PaiWrIDQ6nD2E8kvWI9U= -cloud.google.com/go/automl v1.13.4 h1:i9tOKXX+1gE7+rHpWKjiuPfGBVIYoWvLNIGpWgPtF58= -cloud.google.com/go/automl v1.13.4/go.mod h1:ULqwX/OLZ4hBVfKQaMtxMSTlPx0GqGbWN8uA/1EqCP8= -cloud.google.com/go/baremetalsolution v1.2.3 h1:oQiFYYCe0vwp7J8ZmF6siVKEumWtiPFJMJcGuyDVRUk= -cloud.google.com/go/baremetalsolution v1.2.3/go.mod h1:/UAQ5xG3faDdy180rCUv47e0jvpp3BFxT+Cl0PFjw5g= -cloud.google.com/go/batch v1.6.3 h1:mPiIH20a5NU02rucbAmLeO4sLPO9hrTK0BLjdHyW8xw= -cloud.google.com/go/batch v1.6.3/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU= -cloud.google.com/go/beyondcorp v1.0.3 h1:VXf9SnrnSmj2BF2cHkoTHvOUp8gjsz1KJFOMW7czdsY= -cloud.google.com/go/beyondcorp v1.0.3/go.mod h1:HcBvnEd7eYr+HGDd5ZbuVmBYX019C6CEXBonXbCVwJo= -cloud.google.com/go/bigquery v1.57.1 h1:FiULdbbzUxWD0Y4ZGPSVCDLvqRSyCIO6zKV7E2nf5uA= -cloud.google.com/go/bigquery v1.57.1/go.mod h1:iYzC0tGVWt1jqSzBHqCr3lrRn0u13E8e+AqowBsDgug= -cloud.google.com/go/billing v1.17.4 h1:77/4kCqzH6Ou5CCDzNmqmboE+WvbwFBJmw1QZQz19AI= -cloud.google.com/go/billing v1.17.4/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk= -cloud.google.com/go/binaryauthorization v1.7.3 h1:3R6WYn1JKIaVicBmo18jXubu7xh4mMkmbIgsTXk0cBA= -cloud.google.com/go/binaryauthorization v1.7.3/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU= -cloud.google.com/go/certificatemanager v1.7.4 h1:5YMQ3Q+dqGpwUZ9X5sipsOQ1fLPsxod9HNq0+nrqc6I= -cloud.google.com/go/certificatemanager v1.7.4/go.mod h1:FHAylPe/6IIKuaRmHbjbdLhGhVQ+CWHSD5Jq0k4+cCE= -cloud.google.com/go/channel v1.17.3 h1:Rd4+fBrjiN6tZ4TR8R/38elkyEkz6oogGDr7jDyjmMY= -cloud.google.com/go/channel v1.17.3/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE= -cloud.google.com/go/cloudbuild v1.15.0 h1:9IHfEMWdCklJ1cwouoiQrnxmP0q3pH7JUt8Hqx4Qbck= -cloud.google.com/go/cloudbuild v1.15.0/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM= -cloud.google.com/go/clouddms v1.7.3 h1:xe/wJKz55VO1+L891a1EG9lVUgfHr9Ju/I3xh1nwF84= -cloud.google.com/go/clouddms v1.7.3/go.mod h1:fkN2HQQNUYInAU3NQ3vRLkV2iWs8lIdmBKOx4nrL6Hc= -cloud.google.com/go/cloudtasks v1.12.4 h1:5xXuFfAjg0Z5Wb81j2GAbB3e0bwroCeSF+5jBn/L650= -cloud.google.com/go/cloudtasks v1.12.4/go.mod h1:BEPu0Gtt2dU6FxZHNqqNdGqIG86qyWKBPGnsb7udGY0= -cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= -cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= 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.12.0 h1:wP41IUA4ucMVooj/TP53jd7vbNjWrDkAPOeulVJGT5U= -cloud.google.com/go/contactcenterinsights v1.12.0/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= -cloud.google.com/go/container v1.28.0 h1:/o82CFWXIYnT9p/07SnRgybqL3Pmmu86jYIlzlJVUBY= -cloud.google.com/go/container v1.28.0/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4= -cloud.google.com/go/containeranalysis v0.11.3 h1:5rhYLX+3a01drpREqBZVXR9YmWH45RnML++8NsCtuD8= -cloud.google.com/go/containeranalysis v0.11.3/go.mod h1:kMeST7yWFQMGjiG9K7Eov+fPNQcGhb8mXj/UcTiWw9U= -cloud.google.com/go/datacatalog v1.19.0 h1:rbYNmHwvAOOwnW2FPXYkaK3Mf1MmGqRzK0mMiIEyLdo= -cloud.google.com/go/datacatalog v1.19.0/go.mod h1:5FR6ZIF8RZrtml0VUao22FxhdjkoG+a0866rEnObryM= -cloud.google.com/go/dataflow v0.9.4 h1:7VmCNWcPJBS/srN2QnStTB6nu4Eb5TMcpkmtaPVhRt4= -cloud.google.com/go/dataflow v0.9.4/go.mod h1:4G8vAkHYCSzU8b/kmsoR2lWyHJD85oMJPHMtan40K8w= -cloud.google.com/go/dataform v0.9.1 h1:jV+EsDamGX6cE127+QAcCR/lergVeeZdEQ6DdrxW3sQ= -cloud.google.com/go/dataform v0.9.1/go.mod h1:pWTg+zGQ7i16pyn0bS1ruqIE91SdL2FDMvEYu/8oQxs= -cloud.google.com/go/datafusion v1.7.4 h1:Q90alBEYlMi66zL5gMSGQHfbZLB55mOAg03DhwTTfsk= -cloud.google.com/go/datafusion v1.7.4/go.mod h1:BBs78WTOLYkT4GVZIXQCZT3GFpkpDN4aBY4NDX/jVlM= -cloud.google.com/go/datalabeling v0.8.4 h1:zrq4uMmunf2KFDl/7dS6iCDBBAxBnKVDyw6+ajz3yu0= -cloud.google.com/go/datalabeling v0.8.4/go.mod h1:Z1z3E6LHtffBGrNUkKwbwbDxTiXEApLzIgmymj8A3S8= -cloud.google.com/go/dataplex v1.11.2 h1:AfFFR15Ifh4U+Me1IBztrSd5CrasTODzy3x8KtDyHdc= -cloud.google.com/go/dataplex v1.11.2/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c= -cloud.google.com/go/dataproc/v2 v2.3.0 h1:tTVP9tTxmc8fixxOd/8s6Q6Pz/+yzn7r7XdZHretQH0= -cloud.google.com/go/dataproc/v2 v2.3.0/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY= -cloud.google.com/go/dataqna v0.8.4 h1:NJnu1kAPamZDs/if3bJ3+Wb6tjADHKL83NUWsaIp2zg= -cloud.google.com/go/dataqna v0.8.4/go.mod h1:mySRKjKg5Lz784P6sCov3p1QD+RZQONRMRjzGNcFd0c= -cloud.google.com/go/datastore v1.15.0 h1:0P9WcsQeTWjuD1H14JIY7XQscIPQ4Laje8ti96IC5vg= -cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= -cloud.google.com/go/datastream v1.10.3 h1:Z2sKPIB7bT2kMW5Uhxy44ZgdJzxzE5uKjavoW+EuHEE= -cloud.google.com/go/datastream v1.10.3/go.mod h1:YR0USzgjhqA/Id0Ycu1VvZe8hEWwrkjuXrGbzeDOSEA= -cloud.google.com/go/deploy v1.15.0 h1:ZdmYzRMTGkVyP1nXEUat9FpbJGJemDcNcx82RSSOElc= -cloud.google.com/go/deploy v1.15.0/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88PtO9x/2g= -cloud.google.com/go/dialogflow v1.44.3 h1:cK/f88KX+YVR4tLH4clMQlvrLWD2qmKJQziusjGPjmc= -cloud.google.com/go/dialogflow v1.44.3/go.mod h1:mHly4vU7cPXVweuB5R0zsYKPMzy240aQdAu06SqBbAQ= -cloud.google.com/go/dlp v1.11.1 h1:OFlXedmPP/5//X1hBEeq3D9kUVm9fb6ywYANlpv/EsQ= -cloud.google.com/go/dlp v1.11.1/go.mod h1:/PA2EnioBeXTL/0hInwgj0rfsQb3lpE3R8XUJxqUNKI= -cloud.google.com/go/documentai v1.23.5 h1:KAlzT+q8qvRxAmhsJUvLtfFHH0PNvz3M79H6CgVBKL8= -cloud.google.com/go/documentai v1.23.5/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g= -cloud.google.com/go/domains v0.9.4 h1:ua4GvsDztZ5F3xqjeLKVRDeOvJshf5QFgWGg1CKti3A= -cloud.google.com/go/domains v0.9.4/go.mod h1:27jmJGShuXYdUNjyDG0SodTfT5RwLi7xmH334Gvi3fY= -cloud.google.com/go/edgecontainer v1.1.4 h1:Szy3Q/N6bqgQGyxqjI+6xJZbmvPvnFHp3UZr95DKcQ0= -cloud.google.com/go/edgecontainer v1.1.4/go.mod h1:AvFdVuZuVGdgaE5YvlL1faAoa1ndRR/5XhXZvPBHbsE= -cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= -cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= -cloud.google.com/go/essentialcontacts v1.6.5 h1:S2if6wkjR4JCEAfDtIiYtD+sTz/oXjh2NUG4cgT1y/Q= -cloud.google.com/go/essentialcontacts v1.6.5/go.mod h1:jjYbPzw0x+yglXC890l6ECJWdYeZ5dlYACTFL0U/VuM= -cloud.google.com/go/eventarc v1.13.3 h1:+pFmO4eu4dOVipSaFBLkmqrRYG94Xl/TQZFOeohkuqU= -cloud.google.com/go/eventarc v1.13.3/go.mod h1:RWH10IAZIRcj1s/vClXkBgMHwh59ts7hSWcqD3kaclg= -cloud.google.com/go/filestore v1.8.0 h1:/+wUEGwk3x3Kxomi2cP5dsR8+SIXxo7M0THDjreFSYo= -cloud.google.com/go/filestore v1.8.0/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI= -cloud.google.com/go/firestore v1.14.0 h1:8aLcKnMPoldYU3YHgu4t2exrKhLQkqaXAGqT0ljrFVw= -cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= -cloud.google.com/go/functions v1.15.4 h1:ZjdiV3MyumRM6++1Ixu6N0VV9LAGlCX4AhW6Yjr1t+U= -cloud.google.com/go/functions v1.15.4/go.mod h1:CAsTc3VlRMVvx+XqXxKqVevguqJpnVip4DdonFsX28I= -cloud.google.com/go/gkebackup v1.3.4 h1:KhnOrr9A1tXYIYeXKqCKbCI8TL2ZNGiD3dm+d7BDUBg= -cloud.google.com/go/gkebackup v1.3.4/go.mod h1:gLVlbM8h/nHIs09ns1qx3q3eaXcGSELgNu1DWXYz1HI= -cloud.google.com/go/gkeconnect v0.8.4 h1:1JLpZl31YhQDQeJ98tK6QiwTpgHFYRJwpntggpQQWis= -cloud.google.com/go/gkeconnect v0.8.4/go.mod h1:84hZz4UMlDCKl8ifVW8layK4WHlMAFeq8vbzjU0yJkw= -cloud.google.com/go/gkehub v0.14.4 h1:J5tYUtb3r0cl2mM7+YHvV32eL+uZQ7lONyUZnPikCEo= -cloud.google.com/go/gkehub v0.14.4/go.mod h1:Xispfu2MqnnFt8rV/2/3o73SK1snL8s9dYJ9G2oQMfc= -cloud.google.com/go/gkemulticloud v1.0.3 h1:NmJsNX9uQ2CT78957xnjXZb26TDIMvv+d5W2vVUt0Pg= -cloud.google.com/go/gkemulticloud v1.0.3/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0= -cloud.google.com/go/gsuiteaddons v1.6.4 h1:uuw2Xd37yHftViSI8J2hUcCS8S7SH3ZWH09sUDLW30Q= -cloud.google.com/go/gsuiteaddons v1.6.4/go.mod h1:rxtstw7Fx22uLOXBpsvb9DUbC+fiXs7rF4U29KHM/pE= -cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= -cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= -cloud.google.com/go/iap v1.9.3 h1:M4vDbQ4TLXdaljXVZSwW7XtxpwXUUarY2lIs66m0aCM= -cloud.google.com/go/iap v1.9.3/go.mod h1:DTdutSZBqkkOm2HEOTBzhZxh2mwwxshfD/h3yofAiCw= -cloud.google.com/go/ids v1.4.4 h1:VuFqv2ctf/A7AyKlNxVvlHTzjrEvumWaZflUzBPz/M4= -cloud.google.com/go/ids v1.4.4/go.mod h1:z+WUc2eEl6S/1aZWzwtVNWoSZslgzPxAboS0lZX0HjI= -cloud.google.com/go/iot v1.7.4 h1:m1WljtkZnvLTIRYW1YTOv5A6H1yKgLHR6nU7O8yf27w= -cloud.google.com/go/iot v1.7.4/go.mod h1:3TWqDVvsddYBG++nHSZmluoCAVGr1hAcabbWZNKEZLk= -cloud.google.com/go/kms v1.15.5 h1:pj1sRfut2eRbD9pFRjNnPNg/CzJPuQAzUujMIM1vVeM= -cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI= -cloud.google.com/go/language v1.12.2 h1:zg9uq2yS9PGIOdc0Kz/l+zMtOlxKWonZjjo5w5YPG2A= -cloud.google.com/go/language v1.12.2/go.mod h1:9idWapzr/JKXBBQ4lWqVX/hcadxB194ry20m/bTrhWc= -cloud.google.com/go/lifesciences v0.9.4 h1:rZEI/UxcxVKEzyoRS/kdJ1VoolNItRWjNN0Uk9tfexg= -cloud.google.com/go/lifesciences v0.9.4/go.mod h1:bhm64duKhMi7s9jR9WYJYvjAFJwRqNj+Nia7hF0Z7JA= -cloud.google.com/go/logging v1.8.1 h1:26skQWPeYhvIasWKm48+Eq7oUqdcdbwsCVwz5Ys0FvU= -cloud.google.com/go/logging v1.8.1/go.mod h1:TJjR+SimHwuC8MZ9cjByQulAMgni+RkXeI3wwctHJEI= -cloud.google.com/go/longrunning v0.5.4 h1:w8xEcbZodnA2BbW6sVirkkoC+1gP8wS57EUUgGS0GVg= -cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= -cloud.google.com/go/managedidentities v1.6.4 h1:SF/u1IJduMqQQdJA4MDyivlIQ4SrV5qAawkr/ZEREkY= -cloud.google.com/go/managedidentities v1.6.4/go.mod h1:WgyaECfHmF00t/1Uk8Oun3CQ2PGUtjc3e9Alh79wyiM= -cloud.google.com/go/maps v1.6.1 h1:2+eMp/1MvMPp5qrSOd3vtnLKa/pylt+krVRqET3jWsM= -cloud.google.com/go/maps v1.6.1/go.mod h1:4+buOHhYXFBp58Zj/K+Lc1rCmJssxxF4pJ5CJnhdz18= -cloud.google.com/go/mediatranslation v0.8.4 h1:VRCQfZB4s6jN0CSy7+cO3m4ewNwgVnaePanVCQh/9Z4= -cloud.google.com/go/mediatranslation v0.8.4/go.mod h1:9WstgtNVAdN53m6TQa5GjIjLqKQPXe74hwSCxUP6nj4= -cloud.google.com/go/memcache v1.10.4 h1:cdex/ayDd294XBj2cGeMe6Y+H1JvhN8y78B9UW7pxuQ= -cloud.google.com/go/memcache v1.10.4/go.mod h1:v/d8PuC8d1gD6Yn5+I3INzLR01IDn0N4Ym56RgikSI0= -cloud.google.com/go/metastore v1.13.3 h1:94l/Yxg9oBZjin2bzI79oK05feYefieDq0o5fjLSkC8= -cloud.google.com/go/metastore v1.13.3/go.mod h1:K+wdjXdtkdk7AQg4+sXS8bRrQa9gcOr+foOMF2tqINE= -cloud.google.com/go/monitoring v1.16.3 h1:mf2SN9qSoBtIgiMA4R/y4VADPWZA7VCNJA079qLaZQ8= -cloud.google.com/go/monitoring v1.16.3/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw= -cloud.google.com/go/networkconnectivity v1.14.3 h1:e9lUkCe2BexsqsUc2bjV8+gFBpQa54J+/F3qKVtW+wA= -cloud.google.com/go/networkconnectivity v1.14.3/go.mod h1:4aoeFdrJpYEXNvrnfyD5kIzs8YtHg945Og4koAjHQek= -cloud.google.com/go/networkmanagement v1.9.3 h1:HsQk4FNKJUX04k3OI6gUsoveiHMGvDRqlaFM2xGyvqU= -cloud.google.com/go/networkmanagement v1.9.3/go.mod h1:y7WMO1bRLaP5h3Obm4tey+NquUvB93Co1oh4wpL+XcU= -cloud.google.com/go/networksecurity v0.9.4 h1:947tNIPnj1bMGTIEBo3fc4QrrFKS5hh0bFVsHmFm4Vo= -cloud.google.com/go/networksecurity v0.9.4/go.mod h1:E9CeMZ2zDsNBkr8axKSYm8XyTqNhiCHf1JO/Vb8mD1w= -cloud.google.com/go/notebooks v1.11.2 h1:eTOTfNL1yM6L/PCtquJwjWg7ZZGR0URFaFgbs8kllbM= -cloud.google.com/go/notebooks v1.11.2/go.mod h1:z0tlHI/lREXC8BS2mIsUeR3agM1AkgLiS+Isov3SS70= -cloud.google.com/go/optimization v1.6.2 h1:iFsoexcp13cGT3k/Hv8PA5aK+FP7FnbhwDO9llnruas= -cloud.google.com/go/optimization v1.6.2/go.mod h1:mWNZ7B9/EyMCcwNl1frUGEuY6CPijSkz88Fz2vwKPOY= -cloud.google.com/go/orchestration v1.8.4 h1:kgwZ2f6qMMYIVBtUGGoU8yjYWwMTHDanLwM/CQCFaoQ= -cloud.google.com/go/orchestration v1.8.4/go.mod h1:d0lywZSVYtIoSZXb0iFjv9SaL13PGyVOKDxqGxEf/qI= -cloud.google.com/go/orgpolicy v1.11.4 h1:RWuXQDr9GDYhjmrredQJC7aY7cbyqP9ZuLbq5GJGves= -cloud.google.com/go/orgpolicy v1.11.4/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI= -cloud.google.com/go/osconfig v1.12.4 h1:OrRCIYEAbrbXdhm13/JINn9pQchvTTIzgmOCA7uJw8I= -cloud.google.com/go/osconfig v1.12.4/go.mod h1:B1qEwJ/jzqSRslvdOCI8Kdnp0gSng0xW4LOnIebQomA= -cloud.google.com/go/oslogin v1.12.2 h1:NP/KgsD9+0r9hmHC5wKye0vJXVwdciv219DtYKYjgqE= -cloud.google.com/go/oslogin v1.12.2/go.mod h1:CQ3V8Jvw4Qo4WRhNPF0o+HAM4DiLuE27Ul9CX9g2QdY= -cloud.google.com/go/phishingprotection v0.8.4 h1:sPLUQkHq6b4AL0czSJZ0jd6vL55GSTHz2B3Md+TCZI0= -cloud.google.com/go/phishingprotection v0.8.4/go.mod h1:6b3kNPAc2AQ6jZfFHioZKg9MQNybDg4ixFd4RPZZ2nE= -cloud.google.com/go/policytroubleshooter v1.10.2 h1:sq+ScLP83d7GJy9+wpwYJVnY+q6xNTXwOdRIuYjvHT4= -cloud.google.com/go/policytroubleshooter v1.10.2/go.mod h1:m4uF3f6LseVEnMV6nknlN2vYGRb+75ylQwJdnOXfnv0= -cloud.google.com/go/privatecatalog v0.9.4 h1:Vo10IpWKbNvc/z/QZPVXgCiwfjpWoZ/wbgful4Uh/4E= -cloud.google.com/go/privatecatalog v0.9.4/go.mod h1:SOjm93f+5hp/U3PqMZAHTtBtluqLygrDrVO8X8tYtG0= -cloud.google.com/go/pubsub v1.33.0 h1:6SPCPvWav64tj0sVX/+npCBKhUi/UjJehy9op/V3p2g= -cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= -cloud.google.com/go/pubsublite v1.8.1 h1:pX+idpWMIH30/K7c0epN6V703xpIcMXWRjKJsz0tYGY= -cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= -cloud.google.com/go/recaptchaenterprise/v2 v2.8.4 h1:KOlLHLv3h3HwcZAkx91ubM3Oztz3JtT3ZacAJhWDorQ= -cloud.google.com/go/recaptchaenterprise/v2 v2.8.4/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= -cloud.google.com/go/recommendationengine v0.8.4 h1:JRiwe4hvu3auuh2hujiTc2qNgPPfVp+Q8KOpsXlEzKQ= -cloud.google.com/go/recommendationengine v0.8.4/go.mod h1:GEteCf1PATl5v5ZsQ60sTClUE0phbWmo3rQ1Js8louU= -cloud.google.com/go/recommender v1.11.3 h1:VndmgyS/J3+izR8V8BHa7HV/uun8//ivQ3k5eVKKyyM= -cloud.google.com/go/recommender v1.11.3/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4= -cloud.google.com/go/redis v1.14.1 h1:J9cEHxG9YLmA9o4jTSvWt/RuVEn6MTrPlYSCRHujxDQ= -cloud.google.com/go/redis v1.14.1/go.mod h1:MbmBxN8bEnQI4doZPC1BzADU4HGocHBk2de3SbgOkqs= -cloud.google.com/go/resourcemanager v1.9.4 h1:JwZ7Ggle54XQ/FVYSBrMLOQIKoIT/uer8mmNvNLK51k= -cloud.google.com/go/resourcemanager v1.9.4/go.mod h1:N1dhP9RFvo3lUfwtfLWVxfUWq8+KUQ+XLlHLH3BoFJ0= -cloud.google.com/go/resourcesettings v1.6.4 h1:yTIL2CsZswmMfFyx2Ic77oLVzfBFoWBYgpkgiSPnC4Y= -cloud.google.com/go/resourcesettings v1.6.4/go.mod h1:pYTTkWdv2lmQcjsthbZLNBP4QW140cs7wqA3DuqErVI= -cloud.google.com/go/retail v1.14.4 h1:geqdX1FNqqL2p0ADXjPpw8lq986iv5GrVcieTYafuJQ= -cloud.google.com/go/retail v1.14.4/go.mod h1:l/N7cMtY78yRnJqp5JW8emy7MB1nz8E4t2yfOmklYfg= -cloud.google.com/go/run v1.3.3 h1:qdfZteAm+vgzN1iXzILo3nJFQbzziudkJrvd9wCf3FQ= -cloud.google.com/go/run v1.3.3/go.mod h1:WSM5pGyJ7cfYyYbONVQBN4buz42zFqwG67Q3ch07iK4= -cloud.google.com/go/scheduler v1.10.5 h1:eMEettHlFhG5pXsoHouIM5nRT+k+zU4+GUvRtnxhuVI= -cloud.google.com/go/scheduler v1.10.5/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI= -cloud.google.com/go/secretmanager v1.11.4 h1:krnX9qpG2kR2fJ+u+uNyNo+ACVhplIAS4Pu7u+4gd+k= -cloud.google.com/go/secretmanager v1.11.4/go.mod h1:wreJlbS9Zdq21lMzWmJ0XhWW2ZxgPeahsqeV/vZoJ3w= -cloud.google.com/go/security v1.15.4 h1:sdnh4Islb1ljaNhpIXlIPgb3eYj70QWgPVDKOUYvzJc= -cloud.google.com/go/security v1.15.4/go.mod h1:oN7C2uIZKhxCLiAAijKUCuHLZbIt/ghYEo8MqwD/Ty4= -cloud.google.com/go/securitycenter v1.24.2 h1:qCEyXoJoxNKKA1bDywBjjqCB7ODXazzHnVWnG5Uqd1M= -cloud.google.com/go/securitycenter v1.24.2/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM= -cloud.google.com/go/servicedirectory v1.11.3 h1:5niCMfkw+jifmFtbBrtRedbXkJm3fubSR/KHbxSJZVM= -cloud.google.com/go/servicedirectory v1.11.3/go.mod h1:LV+cHkomRLr67YoQy3Xq2tUXBGOs5z5bPofdq7qtiAw= -cloud.google.com/go/shell v1.7.4 h1:nurhlJcSVFZneoRZgkBEHumTYf/kFJptCK2eBUq/88M= -cloud.google.com/go/shell v1.7.4/go.mod h1:yLeXB8eKLxw0dpEmXQ/FjriYrBijNsONpwnWsdPqlKM= -cloud.google.com/go/spanner v1.53.0 h1:/NzWQJ1MEhdRcffiutRKbW/AIGVKhcTeivWTDjEyCCo= -cloud.google.com/go/spanner v1.53.0/go.mod h1:liG4iCeLqm5L3fFLU5whFITqP0e0orsAW1uUSrd4rws= -cloud.google.com/go/speech v1.21.0 h1:qkxNao58oF8ghAHE1Eghen7XepawYEN5zuZXYWaUTA4= -cloud.google.com/go/speech v1.21.0/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY= -cloud.google.com/go/storagetransfer v1.10.3 h1:YM1dnj5gLjfL6aDldO2s4GeU8JoAvH1xyIwXre63KmI= -cloud.google.com/go/storagetransfer v1.10.3/go.mod h1:Up8LY2p6X68SZ+WToswpQbQHnJpOty/ACcMafuey8gc= -cloud.google.com/go/talent v1.6.5 h1:LnRJhhYkODDBoTwf6BeYkiJHFw9k+1mAFNyArwZUZAs= -cloud.google.com/go/talent v1.6.5/go.mod h1:Mf5cma696HmE+P2BWJ/ZwYqeJXEeU0UqjHFXVLadEDI= -cloud.google.com/go/texttospeech v1.7.4 h1:ahrzTgr7uAbvebuhkBAAVU6kRwVD0HWsmDsvMhtad5Q= -cloud.google.com/go/texttospeech v1.7.4/go.mod h1:vgv0002WvR4liGuSd5BJbWy4nDn5Ozco0uJymY5+U74= -cloud.google.com/go/tpu v1.6.4 h1:XIEH5c0WeYGaVy9H+UueiTaf3NI6XNdB4/v6TFQJxtE= -cloud.google.com/go/tpu v1.6.4/go.mod h1:NAm9q3Rq2wIlGnOhpYICNI7+bpBebMJbh0yyp3aNw1Y= -cloud.google.com/go/trace v1.10.4 h1:2qOAuAzNezwW3QN+t41BtkDJOG42HywL73q8x/f6fnM= -cloud.google.com/go/trace v1.10.4/go.mod h1:Nso99EDIK8Mj5/zmB+iGr9dosS/bzWCJ8wGmE6TXNWY= -cloud.google.com/go/translate v1.9.3 h1:t5WXTqlrk8VVJu/i3WrYQACjzYJiff5szARHiyqqPzI= -cloud.google.com/go/translate v1.9.3/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0= -cloud.google.com/go/video v1.20.3 h1:Xrpbm2S9UFQ1pZEeJt9Vqm5t2T/z9y/M3rNXhFoo8Is= -cloud.google.com/go/video v1.20.3/go.mod h1:TnH/mNZKVHeNtpamsSPygSR0iHtvrR/cW1/GDjN5+GU= -cloud.google.com/go/videointelligence v1.11.4 h1:YS4j7lY0zxYyneTFXjBJUj2r4CFe/UoIi/PJG0Zt/Rg= -cloud.google.com/go/videointelligence v1.11.4/go.mod h1:kPBMAYsTPFiQxMLmmjpcZUMklJp3nC9+ipJJtprccD8= -cloud.google.com/go/vision/v2 v2.7.5 h1:T/ujUghvEaTb+YnFY/jiYwVAkMbIC8EieK0CJo6B4vg= -cloud.google.com/go/vision/v2 v2.7.5/go.mod h1:GcviprJLFfK9OLf0z8Gm6lQb6ZFUulvpZws+mm6yPLM= -cloud.google.com/go/vmmigration v1.7.4 h1:qPNdab4aGgtaRX+51jCOtJxlJp6P26qua4o1xxUDjpc= -cloud.google.com/go/vmmigration v1.7.4/go.mod h1:yBXCmiLaB99hEl/G9ZooNx2GyzgsjKnw5fWcINRgD70= -cloud.google.com/go/vmwareengine v1.0.3 h1:WY526PqM6QNmFHSqe2sRfK6gRpzWjmL98UFkql2+JDM= -cloud.google.com/go/vmwareengine v1.0.3/go.mod h1:QSpdZ1stlbfKtyt6Iu19M6XRxjmXO+vb5a/R6Fvy2y4= -cloud.google.com/go/vpcaccess v1.7.4 h1:zbs3V+9ux45KYq8lxxn/wgXole6SlBHHKKyZhNJoS+8= -cloud.google.com/go/vpcaccess v1.7.4/go.mod h1:lA0KTvhtEOb/VOdnH/gwPuOzGgM+CWsmGu6bb4IoMKk= -cloud.google.com/go/webrisk v1.9.4 h1:iceR3k0BCRZgf2D/NiKviVMFfuNC9LmeNLtxUFRB/wI= -cloud.google.com/go/webrisk v1.9.4/go.mod h1:w7m4Ib4C+OseSr2GL66m0zMBywdrVNTDKsdEsfMl7X0= -cloud.google.com/go/websecurityscanner v1.6.4 h1:5Gp7h5j7jywxLUp6NTpjNPkgZb3ngl0tUSw6ICWvtJQ= -cloud.google.com/go/websecurityscanner v1.6.4/go.mod h1:mUiyMQ+dGpPPRkHgknIZeCzSHJ45+fY4F52nZFDHm2o= -cloud.google.com/go/workflows v1.12.3 h1:qocsqETmLAl34mSa01hKZjcqAvt699gaoFbooGGMvaM= -cloud.google.com/go/workflows v1.12.3/go.mod h1:fmOUeeqEwPzIU81foMjTRQIdwQHADi/vEr1cx9R1m5g= -dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= -dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/Azure/agentbaker v0.20240503.0/go.mod h1:4taz9ipeevqDxKnnLmD3+e/xBfsvj9MSuSjGXDSfK7Q= -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46 h1:lsxEuwrXEAokXB9qhlbKWPpo3KMLZQ5WB5WLQRW1uq0= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= -github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= -github.com/agnivade/levenshtein v1.0.1 h1:3oJU7J3FGFmyhn8KHjmVaZCN5hxTr7GxgRue+sxIXdQ= -github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= -github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw= -github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= -github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= -github.com/cenkalti/backoff/v4 v4.2.1/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/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89 h1:aPflPkRFkVwbW6dmcVqfgwp1i+UWGFH6VgR1Jim5Ygc= github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= github.com/chromedp/chromedp v0.9.2 h1:dKtNz4kApb06KuSXoTQIyUC2TrA0fhGDwNZf3bcgfKw= @@ -266,230 +17,60 @@ github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= -github.com/cilium/ebpf v0.9.1 h1:64sn2K3UKw8NbP/blsixRpF3nXuyhz/VjRlRzvlBRu4= -github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnxUFY= -github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/containerd/aufs v1.0.0 h1:2oeJiwX5HstO7shSrPZjrohJZLzK36wvpdmzDRkL/LY= -github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= -github.com/containerd/btrfs/v2 v2.0.0 h1:FN4wsx7KQrYoLXN7uLP0vBV4oVWHOIKDRQ1G2Z0oL5M= -github.com/containerd/btrfs/v2 v2.0.0/go.mod h1:swkD/7j9HApWpzl8OHfrHNxppPd9l44DFZdF94BUj9k= -github.com/containerd/cgroups/v3 v3.0.2 h1:f5WFqIVSgo5IZmtTT3qVBo6TzI1ON6sycSBKkymb9L0= -github.com/containerd/cgroups/v3 v3.0.2/go.mod h1:JUgITrzdFqp42uI2ryGA+ge0ap/nxzYgkGmIcetmErE= -github.com/containerd/go-cni v1.1.9 h1:ORi7P1dYzCwVM6XPN4n3CbkuOx/NZ2DOqy+SHRdo9rU= -github.com/containerd/go-cni v1.1.9/go.mod h1:XYrZJ1d5W6E2VOvjffL3IZq0Dz6bsVlERHbekNK90PM= -github.com/containerd/go-runc v1.0.0 h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0= -github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/imgcrypt v1.1.8 h1:ZS7TuywcRNLoHpU0g+v4/PsKynl6TYlw5xDVWWoIyFA= -github.com/containerd/imgcrypt v1.1.8/go.mod h1:x6QvFIkMyO2qGIY2zXc88ivEzcbgvLdWjoZyGqDap5U= -github.com/containerd/nri v0.6.1 h1:xSQ6elnQ4Ynidm9u49ARK9wRKHs80HCUI+bkXOxV4mA= -github.com/containerd/nri v0.6.1/go.mod h1:7+sX3wNx+LR7RzhjnJiUkFDhn18P5Bg/0VnJ/uXpRJM= -github.com/containerd/stargz-snapshotter/estargz v0.14.3 h1:OqlDCK3ZVUO6C3B/5FSkDwbkEETK84kQgEeFwDC+62k= -github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o= github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= -github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -github.com/containerd/zfs v1.1.0 h1:n7OZ7jZumLIqNJqXrEc/paBM840mORnmGdJDmAmJZHM= -github.com/containerd/zfs v1.1.0/go.mod h1:oZF9wBnrnQjpWLaPKEinrx3TQ9a+W/RJO7Zb41d8YLE= -github.com/containernetworking/cni v1.1.2 h1:wtRGZVv7olUHMOqouPpn3cXJWpJgM6+EUl31EQbXALQ= -github.com/containernetworking/cni v1.1.2/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= -github.com/containernetworking/plugins v1.2.0 h1:SWgg3dQG1yzUo4d9iD8cwSVh1VqI+bP7mkPDoSfP9VU= -github.com/containernetworking/plugins v1.2.0/go.mod h1:/VjX4uHecW5vVimFa1wkG4s+r/s9qIfPdqlLF4TW8c4= -github.com/containers/ocicrypt v1.1.10 h1:r7UR6o8+lyhkEywetubUUgcKFjOWOaWz8cEBrCPX0ic= -github.com/containers/ocicrypt v1.1.10/go.mod h1:YfzSSr06PTHQwSTUKqDSjish9BeW1E4HUmreluQcMd8= -github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= -github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= -github.com/cyphar/filepath-securejoin v0.2.3 h1:YX6ebbZCZP7VkM3scTTokDgBL2TY741X51MTk3ycuNI= -github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d h1:1iy2qD6JEhHKKhUOA9IWs7mjco7lnw2qx8FsRI2wirE= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d/go.mod h1:tmAIfUFEirG/Y8jhZ9M+h36obRZAk/1fcSpXwAVlfqE= github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/cli v23.0.3+incompatible h1:Zcse1DuDqBdgI7OQDV8Go7b83xLgfhW1eza4HfEdxpY= -github.com/docker/cli v23.0.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= -github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v23.0.3+incompatible h1:9GhVsShNWz1hO//9BNg/dpMnZW25KydO4wtVxWAIbho= -github.com/docker/docker v23.0.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= -github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= -github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= -github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= -github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1MyGqJ2DIk5HpM= -github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= -github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= -github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= -github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.2.1 h1:F2aeBZrm2NDsc7vbovKrWSogd4wvfAxg0FQ89/iqOTk= github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= -github.com/goccy/go-json v0.9.7 h1:IcB+Aqpx/iMHu5Yooh7jEzJk1JZ7Pjtmys2ukPr7EeM= -github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= -github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= -github.com/google/go-containerregistry v0.14.0 h1:z58vMqHxuwvAsVwvKEkmVBz2TlgBgH5k6koEXBtlYkw= -github.com/google/go-containerregistry v0.14.0/go.mod h1:aiJ2fp/SXvkWgmYHioXnbMdlgB8eXiiYOY55gfN91Wk= github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= -github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= -github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= -github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465 h1:KwWnWVWCNtNq/ewIX7HIKnELmEx2nDP42yskD/pi7QE= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= -github.com/intel/goresctrl v0.3.0 h1:K2D3GOzihV7xSBedGxONSlaw/un1LZgWsc9IfqipN4c= -github.com/intel/goresctrl v0.3.0/go.mod h1:fdz3mD85cmP9sHD8JUlrNWAxvwM86CrbmVXltEKd7zk= github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= -github.com/josephspurrier/goversioninfo v1.4.0 h1:Puhl12NSHUSALHSuzYwPYQkqa2E1+7SrtAPJorKK0C8= -github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY= github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= -github.com/klauspost/cpuid/v2 v2.0.4 h1:g0I61F2K2DjRHz1cnxlkNSBIaePVoJIjjnHui8QHbiw= -github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80 h1:6Yzfa6GP0rIo/kULo2bwGEkFvCePZ3qHDDTC3/J9Swo= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= -github.com/lestrrat-go/backoff/v2 v2.0.8 h1:oNb5E5isby2kiro9AgdHLv5N5tint1AnDVVf2E2un5A= -github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= -github.com/lestrrat-go/blackmagic v1.0.0 h1:XzdxDbuQTz0RZZEmdU7cnQxUtFUzgCSPq8RCz4BxIi4= -github.com/lestrrat-go/blackmagic v1.0.0/go.mod h1:TNgH//0vYSs8VXDCfkZLgIrVTTXQELZffUV0tz3MtdQ= -github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= -github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= -github.com/lestrrat-go/iter v1.0.1 h1:q8faalr2dY6o8bV45uwrxq12bRa1ezKrB6oM9FUgN4A= -github.com/lestrrat-go/iter v1.0.1/go.mod h1:zIdgO1mRKhn8l9vrZJZz9TUMMFbQbLeTsbqPDrJ/OJc= -github.com/lestrrat-go/jwx v1.2.25 h1:tAx93jN2SdPvFn08fHNAhqFJazn5mBBOB8Zli0g0otA= -github.com/lestrrat-go/jwx v1.2.25/go.mod h1:zoNuZymNl5lgdcu6P7K6ie2QRll5HVfF4xwxBBK1NxY= -github.com/lestrrat-go/option v1.0.0 h1:WqAWL8kh8VcSoD6xjSH34/1m8yxluXQbDeKNfvFeEO4= -github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= -github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3 h1:jUp75lepDg0phMUJBCmvaeFDldD2N3S1lBuPwUTszio= -github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= -github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= -github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= -github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= -github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= -github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= -github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= -github.com/mistifyio/go-zfs/v3 v3.0.1 h1:YaoXgBePoMA12+S1u/ddkv+QqxcfiZK4prI6HPnkFiU= -github.com/mistifyio/go-zfs/v3 v3.0.1/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= -github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= github.com/montanaflynn/stats v0.7.0 h1:r3y12KyNxj/Sb/iOE46ws+3mS1+MZca1wlHQFPsY/JU= github.com/montanaflynn/stats v0.7.0/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= github.com/onsi/ginkgo/v2 v2.17.2 h1:7eMhcy3GimbsA3hEnVKdw/PQM9XN9krpKVXsZdph0/g= github.com/onsi/ginkgo/v2 v2.17.2/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc= -github.com/open-policy-agent/opa v0.42.2 h1:qocVAKyjrqMjCqsU02S/gHyLr4AQQ9xMtuV1kKnnyhM= -github.com/open-policy-agent/opa v0.42.2/go.mod h1:MrmoTi/BsKWT58kXlVayBb+rYVeaMwuBm3nYAN3923s= -github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= -github.com/opencontainers/runc v1.1.5/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= -github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 h1:DmNGcqH3WDbV5k8OJ+esPWbqUOX5rMLR2PMvziDMJi0= -github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626/go.mod h1:BRHJJd0E+cx42OybVYSgUvZmU0B8P9gZuRXlZUP7TKI= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde h1:x0TT0RDC7UhAVbbWWBzr41ElhJx5tXPWkIHA2HWPRuw= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= 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= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= -github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= -github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= -github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= -github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6 h1:pnnLyeX7o/5aX8qUQ69P/mLojDqwda8hFOCBTmP/6hw= -github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6/go.mod h1:39R/xuhNgVhi+K0/zst4TLrJrVmbm6LVgl4A0+ZFS5M= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/tchap/go-patricia/v2 v2.3.1 h1:6rQp39lgIYZ+MHmdEq4xzuk1t7OdC35z/xm0BGhTkes= -github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= -github.com/urfave/cli v1.22.12 h1:igJgVw1JdKH+trcLWLeLwZjU9fEfPesQ+9/e4MQ44S8= -github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8= -github.com/vbatts/tar-split v0.11.2 h1:Via6XqJr0hceW4wff3QRzD5gAk/tatMw/4ZA7cTlIME= -github.com/vbatts/tar-split v0.11.2/go.mod h1:vV3ZuO2yWSVsz+pfFzDG/upWH1JhjOiEaWq6kXyQ3VI= -github.com/vektah/gqlparser/v2 v2.4.5 h1:C02NsyEsL4TXJB7ndonqTfuQOL4XPIu0aAWugdmTgmc= -github.com/vektah/gqlparser/v2 v2.4.5/go.mod h1:flJWIR04IMQPGz+BXLrORkrARBxv/rtyIAFvd/MceW0= -github.com/veraison/go-cose v1.0.0-rc.1 h1:4qA7dbFJGvt7gcqv5MCIyCQvN+NpHFPkW7do3EeDLb8= -github.com/veraison/go-cose v1.0.0-rc.1/go.mod h1:7ziE85vSq4ScFTg6wyoMXjucIGOf4JkFEZi/an96Ct4= -github.com/vishvananda/netlink v1.2.1-beta.2 h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs= -github.com/vishvananda/netlink v1.2.1-beta.2/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= -github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvVn1ZaTIVp+3vuYAXFe3OJEvjbUYJLaA= -github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/yashtewari/glob-intersection v0.1.0 h1:6gJvMYQlTDOL3dMsPF6J0+26vwX9MB8/1q3uAdhmTrg= -github.com/yashtewari/glob-intersection v0.1.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok= github.com/yuin/goldmark v1.2.1 h1:ruQGxdhGHe7FWOJPT0mKs5+pD2Xs1Bm/kdGlHO04FmM= github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.etcd.io/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0= -go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ= -go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 h1:A/5uWzF44DlIgdm/PQFwfMkW0JX+cIcQi/SwLAmZP5M= -go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 h1:SpGay3w+nEwMpfVnbqOLH5gY52/foP8RE8UzTZ1pdSE= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1/go.mod h1:4UoMYEZOC0yN/sPGH76KPkkU7zgiEWYWL9vwmbnTJPE= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 h1:3d+S281UTjM+AbF31XSOYn1qXn3BgIdWl8HNEpx08Jk= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0/go.mod h1:0+KuTDyKL4gjKCF75pHOX4wuzYDUZYfAQdSu43o+Z2I= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 h1:IeMeyr1aBvBiPVYihXIaeIZba6b8E1bYp7lbdxK8CQg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0/go.mod h1:oVdCUtjq9MK9BlS7TtucsQwUcXcymNiEDjgDD2jMtZU= -go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= -go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= -go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= -go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4 h1:c2HOrn5iMezYjSlGPncknSEr/8x5LELb/ilJbXi9DEA= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3 h1:XQyxROzUlZH+WIQwySDgnISgOivlhjIEwaQaJEJrrN0= 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.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= @@ -523,23 +104,10 @@ golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3j golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f h1:2yNACc1O40tTnrsbk9Cv6oxiW8pxI/pXj0wRtdlYmgY= -google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f/go.mod h1:Uy9bTZJqmfrw2rIBxgGLnamc78euZULUBrLZ9XTITKI= gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc h1:/hemPrYIhOhy8zYrNj+069zDB68us2sMGsfkFJO0iZs= -k8s.io/apiserver v0.26.2 h1:Pk8lmX4G14hYqJd1poHGC08G03nIHVqdJMR0SD3IH3o= -k8s.io/apiserver v0.26.2/go.mod h1:GHcozwXgXsPuOJ28EnQ/jXEM9QeG6HT22YxSNmpYNh8= k8s.io/component-base v0.26.1 h1:4ahudpeQXHZL5kko+iDHqLj/FSGAEUnSVO0EBbgDd+4= k8s.io/component-base v0.26.1/go.mod h1:VHrLR0b58oC035w6YQiBSbtsf0ThuSwXP+p5dD/kAWU= -k8s.io/component-base v0.26.2 h1:IfWgCGUDzrD6wLLgXEstJKYZKAFS2kO+rBRi0p3LqcI= -k8s.io/component-base v0.26.2/go.mod h1:DxbuIe9M3IZPRxPIzhch2m1eT7uFrSBJUBuVCQEBivs= -k8s.io/cri-api v0.27.1 h1:KWO+U8MfI9drXB/P4oU9VchaWYOlwDglJZVHWMpTT3Q= -k8s.io/cri-api v0.27.1/go.mod h1:+Ts/AVYbIo04S86XbTD73UPp/DkTiYxtsFeOFEu32L0= k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 h1:NGrVE502P0s0/1hudf8zjgwki1X/TByhmAoILTarmzo= k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70/go.mod h1:VH3AT8AaQOqiGjMF9p0/IM1Dj+82ZwjfxUP1IxaHE+8= -tags.cncf.io/container-device-interface v0.7.2 h1:MLqGnWfOr1wB7m08ieI4YJ3IoLKKozEnnNYBtacDPQU= -tags.cncf.io/container-device-interface v0.7.2/go.mod h1:Xb1PvXv2BhfNb3tla4r9JL129ck1Lxv9KuU6eVOfKto= -tags.cncf.io/container-device-interface/specs-go v0.7.0 h1:w/maMGVeLP6TIQJVYT5pbqTi8SCw/iHZ+n4ignuGHqg= -tags.cncf.io/container-device-interface/specs-go v0.7.0/go.mod h1:hMAwAbMZyBLdmYqWgYcKH0F/yctNpV3P35f+/088A80= From a7a3a5e18b7c68dfce7a5d3cf498b37350c7ce7a Mon Sep 17 00:00:00 2001 From: r2k1 Date: Thu, 21 Nov 2024 12:32:28 +1300 Subject: [PATCH 05/10] update readme --- .github/images/scriptlessBootstrapFlow.png | Bin 365973 -> 0 bytes aks-node-controller/README.md | 78 ++++++++++++++------- 2 files changed, 52 insertions(+), 26 deletions(-) delete mode 100755 .github/images/scriptlessBootstrapFlow.png diff --git a/.github/images/scriptlessBootstrapFlow.png b/.github/images/scriptlessBootstrapFlow.png deleted file mode 100755 index 3749c855ede5007c69ea8fc1110659cad1817a5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 365973 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%0AU!wp_Y;ZMZ&M&+`V>e9D6>=gZZs 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 diff --git a/aks-node-controller/README.md b/aks-node-controller/README.md index ebb3cf53c54..ecd70b4d9b3 100644 --- a/aks-node-controller/README.md +++ b/aks-node-controller/README.md @@ -4,7 +4,7 @@ This directory contains files related to AKS Node Controller go binary. ## Overview -AKS Node Controller is a go binary that is responsible for bootstrapping AKS nodes. The controller expects a predefined contract from the client of type [`AKSNodeConfig`](https://github.com/Azure/AgentBaker/tree/dev/pkg/proto/aksnodeconfig/v1) containing the bootstrap configuration. The controller has two primary functions: 1. Parse the bootstrap config and kickstart bootstrapping and 2. Monitor the completion status. +AKS Node Controller is a go binary that is responsible for bootstrapping AKS nodes. The controller expects a predefined contract from the client of type [`AKSNodeConfig`](https://github.com/Azure/AgentBaker/tree/dev/pkg/proto/aksnodeconfig/v1) containing the bootstrap configuration. The controller has two primary functions: 1. Parse the bootstrap config and kickstart bootstrapping and 2. Monitor the completion status. AKS Node Controller relies on two Azure mechanisms to inject the necessary data at provisioning time for bootstrapping: [`Custom Script Extension (CSE)`](https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-linux) and [`Custom Data`](https://learn.microsoft.com/en-us/azure/virtual-machines/custom-data}). The bootstrapper should use `GetNodeBootstrapping` which returns the corresponding `CustomData` and `CSE` based on the given `AKSNodeConfig`. For guidance on populating the config, please refer to this [doc](https://github.com/Azure/AgentBaker/tree/dev/pkg/proto/aksnodeconfig/v1). @@ -13,37 +13,42 @@ AKS Node Controller relies on two Azure mechanisms to inject the necessary data Here is an example on how to retrieve node bootstrapping params and pass in the returned `CSE` and `CustomData` to CRP API for creating a VMSS instance. ```go -builder := aksnodeconfigv1.NewAKSNodeConfigBuilder() -builder.ApplyConfiguration(aksNodeConfig) -nodeBootstrapping, err = builder.GetNodeBootstrapping() +config := &aksnodeconfigv1.Configuration{ + Version: "v0", + // fill in the rest of the fields +} +customData, err := nodeconfigutils.CustomData(config) +if err != nil { + return err +} + +cse := nodeconfigutils.CSE model := armcompute.VirtualMachineScaleSet{ Properties: &armcompute.VirtualMachineScaleSetProperties{ VirtualMachineProfile: &armcompute.VirtualMachineScaleSetVMProfile{ OSProfile: &armcompute.VirtualMachineScaleSetOSProfile{ - CustomData: &nodeBootstrapping.CustomData, - ... - } - }, - VirtualMachineProfile: &armcompute.VirtualMachineScaleSetVMProfile{ - Extensions: []*armcompute.VirtualMachineScaleSetExtension{ - { - Name: to.Ptr("vmssCSE"), - Properties: &armcompute.VirtualMachineScaleSetExtensionProperties{ - Publisher: to.Ptr("Microsoft.Azure.Extensions"), - Type: to.Ptr("CustomScript"), - TypeHandlerVersion: to.Ptr("2.0"), - AutoUpgradeMinorVersion: to.Ptr(true), - Settings: map[string]interface{}{}, - ProtectedSettings: map[string]interface{}{ - "commandToExecute": nodeBootstrapping.CSE, + CustomData: &customData, + }, + ExtensionProfile: &armcompute.VirtualMachineScaleSetExtensionProfile{ + Extensions: []*armcompute.VirtualMachineScaleSetExtension{ + { + Name: to.Ptr("vmssCSE"), + Properties: &armcompute.VirtualMachineScaleSetExtensionProperties{ + Publisher: to.Ptr("Microsoft.Azure.Extensions"), + Type: to.Ptr("CustomScript"), + TypeHandlerVersion: to.Ptr("2.0"), + AutoUpgradeMinorVersion: to.Ptr(true), + Settings: map[string]interface{}{}, + ProtectedSettings: map[string]interface{}{ + "commandToExecute": cse, + }, }, }, }, - } + }, }, - ... - } + }, } ``` @@ -96,14 +101,35 @@ write_files: {{ encodedAKSNodeConfig }}` ``` -2. CSE: Script used to poll bootstrap status and return exit status once complete. +2. CSE: Script used to poll bootstrap status and return exit status once complete. CSE script: `/opt/azure/containers/aks-node-controller provision-wait` #### Provisioning flow diagram: -![provisionFlowDiagram](../.github/images/scriptlessBootstrapFlow.png) +```mermaid +sequenceDiagram + participant Client as Client + participant ARM as Azure Resource Manager (ARM) + participant VM as Virtual Machine (VM) + + Client->>ARM: Request to create VM
with CustomData & CSE + ARM->>VM: Deploy config.json
(CustomData) + note over VM: cloud-init handles
config.json deployment + + note over VM: cloud-init completes processing + note over VM: Start aks-node-controller.service (systemd service)
afer cloud-init + VM->>VM: Run aks-node-controller
(Go binary) in provision mode
using config.json + + ARM->>VM: Initiate aks-node-controller (Go binary)
in provision-wait mode via CSE + + loop Monitor provisioning status + VM->>VM: Check /opt/azure/containers/provision.complete + end + + VM->>Client: Return CSE status with
/var/log/azure/aks/provision.json content +``` Key components: @@ -111,4 +137,4 @@ Key components: 2. `aks-node-controller` go binary with two modes: - **provision**: parses the node config and triggers bootstrap process -- **provision-wait**: waits for `provision.complete` to be present and reads `provision.json` which contains the provision output of type `CSEStatus` and is returned by CSE through capturing stdout \ No newline at end of file +- **provision-wait**: waits for `provision.complete` to be present and reads `provision.json` which contains the provision output of type `CSEStatus` and is returned by CSE through capturing stdout From 767f61150d0f08473527bea48cd82d3176347920 Mon Sep 17 00:00:00 2001 From: r2k1 Date: Thu, 21 Nov 2024 12:33:57 +1300 Subject: [PATCH 06/10] fix makefile --- hack/tools/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hack/tools/Makefile b/hack/tools/Makefile index a2e1a4400d6..3a7908ebccc 100644 --- a/hack/tools/Makefile +++ b/hack/tools/Makefile @@ -4,7 +4,7 @@ LOCALBIN = $(shell pwd)/bin all: install .PHONY: install -install: $(LOCALBIN)/gox $(LOCALBIN)/ginkgo $(LOCALBIN)/golangci-lint $(LOCALBIN)/cue $(LOCALBIN)/buf $(LOCALBIN)/shellspec +install: $(LOCALBIN)/gox $(LOCALBIN)/ginkgo $(LOCALBIN)/golangci-lint $(LOCALBIN)/cue $(LOCALBIN)/shellspec @echo > /dev/null $(LOCALBIN)/gox: From e3a6d74b5724fc27f8a6e54133aa2c96fe131939 Mon Sep 17 00:00:00 2001 From: r2k1 Date: Thu, 21 Nov 2024 12:36:10 +1300 Subject: [PATCH 07/10] fix comment --- aks-node-controller/protoc.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aks-node-controller/protoc.Dockerfile b/aks-node-controller/protoc.Dockerfile index 94c4239f132..2041fd60dd2 100644 --- a/aks-node-controller/protoc.Dockerfile +++ b/aks-node-controller/protoc.Dockerfile @@ -1,6 +1,6 @@ FROM golang:1.23.3-alpine3.20 -# Define build-time arguments for the protobuf and gRPC versions +# Define build-time arguments for the protobuf versions ARG PROTOC_VERSION=28.3 ARG PROTOC_GEN_GO_VERSION=1.35.2 From 2597f19ca306e98fe62f3f5e87651f7f2d48b870 Mon Sep 17 00:00:00 2001 From: r2k1 Date: Thu, 21 Nov 2024 12:40:20 +1300 Subject: [PATCH 08/10] don't watch for buf.gen.yaml --- .github/workflows/buf.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/buf.yaml b/.github/workflows/buf.yaml index 76235662c7d..8c56a38a383 100644 --- a/.github/workflows/buf.yaml +++ b/.github/workflows/buf.yaml @@ -4,14 +4,12 @@ on: paths: - "aks-node-controller/proto/**" - "aks-node-controller/buf.yaml" - - "aks-node-controller/buf.gen.yaml" - ".github/workflows/buf.yaml" pull_request: types: [opened, synchronize, reopened, labeled, unlabeled] paths: - "aks-node-controller/proto/**" - "aks-node-controller/buf.yaml" - - "aks-node-controller/buf.gen.yaml" - ".github/workflows/buf.yaml" permissions: contents: read From 7d7224006172b1b63ea41af4d44c8e6e3198c7b5 Mon Sep 17 00:00:00 2001 From: r2k1 Date: Thu, 21 Nov 2024 13:03:26 +1300 Subject: [PATCH 09/10] delete files before generation --- aks-node-controller/Makefile | 1 + .../v1/tls_bootstrapping_config.pb.go | 169 ------------------ 2 files changed, 1 insertion(+), 169 deletions(-) delete mode 100644 aks-node-controller/pkg/gen/aksnodeconfig/v1/tls_bootstrapping_config.pb.go diff --git a/aks-node-controller/Makefile b/aks-node-controller/Makefile index 732a3fa2971..1489ee24f61 100644 --- a/aks-node-controller/Makefile +++ b/aks-node-controller/Makefile @@ -5,6 +5,7 @@ BUF = docker run --volume "$(CURDIR)/../:$(CURDIR)/../" --workdir $(CURDIR) bufb .PHONY: proto-generate proto-generate: @($(BUF) format -w) + rm -rf pkg/gen/aksnodeconfig/v1 docker build --platform $(shell uname -m) -t protoc-docker - < protoc.Dockerfile docker run --rm -v $(shell pwd):/$(shell pwd) --workdir=$(shell pwd) protoc-docker protoc --go_opt=module=github.com/Azure/agentbaker/aks-node-controller --go_out=./ --proto_path=proto $(shell find proto/aksnodeconfig/v1 -name '*.proto') $(MAKE) proto-lint diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/tls_bootstrapping_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/tls_bootstrapping_config.pb.go deleted file mode 100644 index faa2c845ec3..00000000000 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/tls_bootstrapping_config.pb.go +++ /dev/null @@ -1,169 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.35.2 -// protoc v5.28.3 -// source: aksnodeconfig/v1/tls_bootstrapping_config.proto - -package aksnodeconfigv1 - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type TlsBootstrappingConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Enable secure TLS bootstrapping for the node. - EnableSecureTlsBootstrapping *bool `protobuf:"varint,1,opt,name=enable_secure_tls_bootstrapping,json=enableSecureTlsBootstrapping,proto3,oneof" json:"enable_secure_tls_bootstrapping,omitempty"` - // Only required until Secure TLS bootstrapping in place. Would use kubelet identity after that. - TlsBootstrappingToken string `protobuf:"bytes,2,opt,name=tls_bootstrapping_token,json=tlsBootstrappingToken,proto3" json:"tls_bootstrapping_token,omitempty"` - // Only used when secure TLS bootstrapping is enabled. This is the appserver appid that the node will use to bootstrap. - CustomSecureTlsBootstrappingAppserverAppid string `protobuf:"bytes,3,opt,name=custom_secure_tls_bootstrapping_appserver_appid,json=customSecureTlsBootstrappingAppserverAppid,proto3" json:"custom_secure_tls_bootstrapping_appserver_appid,omitempty"` -} - -func (x *TlsBootstrappingConfig) Reset() { - *x = TlsBootstrappingConfig{} - mi := &file_aksnodeconfig_v1_tls_bootstrapping_config_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TlsBootstrappingConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TlsBootstrappingConfig) ProtoMessage() {} - -func (x *TlsBootstrappingConfig) ProtoReflect() protoreflect.Message { - mi := &file_aksnodeconfig_v1_tls_bootstrapping_config_proto_msgTypes[0] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TlsBootstrappingConfig.ProtoReflect.Descriptor instead. -func (*TlsBootstrappingConfig) Descriptor() ([]byte, []int) { - return file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDescGZIP(), []int{0} -} - -func (x *TlsBootstrappingConfig) GetEnableSecureTlsBootstrapping() bool { - if x != nil && x.EnableSecureTlsBootstrapping != nil { - return *x.EnableSecureTlsBootstrapping - } - return false -} - -func (x *TlsBootstrappingConfig) GetTlsBootstrappingToken() string { - if x != nil { - return x.TlsBootstrappingToken - } - return "" -} - -func (x *TlsBootstrappingConfig) GetCustomSecureTlsBootstrappingAppserverAppid() string { - if x != nil { - return x.CustomSecureTlsBootstrappingAppserverAppid - } - return "" -} - -var File_aksnodeconfig_v1_tls_bootstrapping_config_proto protoreflect.FileDescriptor - -var file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDesc = []byte{ - 0x0a, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, - 0x76, 0x31, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x10, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x76, 0x31, 0x22, 0xa5, 0x02, 0x0a, 0x16, 0x54, 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, 0x73, - 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4a, - 0x0a, 0x1f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, - 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, - 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x6c, - 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x74, 0x6c, 0x73, - 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x63, 0x0a, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x70, 0x70, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x2a, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, - 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x41, 0x70, 0x70, 0x69, 0x64, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x5a, 0x5a, 0x58, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, - 0x6f, 0x64, 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDescOnce sync.Once - file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDescData = file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDesc -) - -func file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDescGZIP() []byte { - file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDescOnce.Do(func() { - file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDescData) - }) - return file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDescData -} - -var file_aksnodeconfig_v1_tls_bootstrapping_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_aksnodeconfig_v1_tls_bootstrapping_config_proto_goTypes = []any{ - (*TlsBootstrappingConfig)(nil), // 0: aksnodeconfig.v1.TlsBootstrappingConfig -} -var file_aksnodeconfig_v1_tls_bootstrapping_config_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_aksnodeconfig_v1_tls_bootstrapping_config_proto_init() } -func file_aksnodeconfig_v1_tls_bootstrapping_config_proto_init() { - if File_aksnodeconfig_v1_tls_bootstrapping_config_proto != nil { - return - } - file_aksnodeconfig_v1_tls_bootstrapping_config_proto_msgTypes[0].OneofWrappers = []any{} - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDesc, - NumEnums: 0, - NumMessages: 1, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_aksnodeconfig_v1_tls_bootstrapping_config_proto_goTypes, - DependencyIndexes: file_aksnodeconfig_v1_tls_bootstrapping_config_proto_depIdxs, - MessageInfos: file_aksnodeconfig_v1_tls_bootstrapping_config_proto_msgTypes, - }.Build() - File_aksnodeconfig_v1_tls_bootstrapping_config_proto = out.File - file_aksnodeconfig_v1_tls_bootstrapping_config_proto_rawDesc = nil - file_aksnodeconfig_v1_tls_bootstrapping_config_proto_goTypes = nil - file_aksnodeconfig_v1_tls_bootstrapping_config_proto_depIdxs = nil -} From c2a232fb4403d81e7f1cecef66c9fc53fd131149 Mon Sep 17 00:00:00 2001 From: r2k1 Date: Fri, 22 Nov 2024 09:24:48 +1300 Subject: [PATCH 10/10] update readme --- aks-node-controller/README.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/aks-node-controller/README.md b/aks-node-controller/README.md index ecd70b4d9b3..d1bb5d08675 100644 --- a/aks-node-controller/README.md +++ b/aks-node-controller/README.md @@ -1,16 +1,14 @@ # AKS Node Controller -This directory contains files related to AKS Node Controller go binary. - ## Overview -AKS Node Controller is a go binary that is responsible for bootstrapping AKS nodes. The controller expects a predefined contract from the client of type [`AKSNodeConfig`](https://github.com/Azure/AgentBaker/tree/dev/pkg/proto/aksnodeconfig/v1) containing the bootstrap configuration. The controller has two primary functions: 1. Parse the bootstrap config and kickstart bootstrapping and 2. Monitor the completion status. +AKS Node Controller is a go binary that is responsible for bootstrapping AKS nodes. The controller expects a predefined contract from the client of type [`aksnodeconfigv1.Configuration`](pkg/gen/aksnodeconfig/v1). -AKS Node Controller relies on two Azure mechanisms to inject the necessary data at provisioning time for bootstrapping: [`Custom Script Extension (CSE)`](https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-linux) and [`Custom Data`](https://learn.microsoft.com/en-us/azure/virtual-machines/custom-data}). The bootstrapper should use `GetNodeBootstrapping` which returns the corresponding `CustomData` and `CSE` based on the given `AKSNodeConfig`. For guidance on populating the config, please refer to this [doc](https://github.com/Azure/AgentBaker/tree/dev/pkg/proto/aksnodeconfig/v1). +AKS Node Controller relies on two Azure mechanisms for injecting the necessary bootstrap data during provisioning: [`Custom Script Extension (CSE)`](https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-linux) and [`Custom Data`](https://learn.microsoft.com/en-us/azure/virtual-machines/custom-data}). The bootstrapper should use `GetNodeBootstrapping` which returns the corresponding `CustomData` and `CSE` based on the given `AKSNodeConfig`. For guidance on populating the config, please refer to this [doc](https://github.com/Azure/AgentBaker/tree/dev/pkg/proto/aksnodeconfig/v1). ## Usage -Here is an example on how to retrieve node bootstrapping params and pass in the returned `CSE` and `CustomData` to CRP API for creating a VMSS instance. +Here is an example of how to retrieve node bootstrapping parameters and use the returned `CSE` and `CustomData` for creating a Virtual Machine Scale Set (VMSS) instance via the CRP API. ```go config := &aksnodeconfigv1.Configuration{ @@ -54,7 +52,7 @@ model := armcompute.VirtualMachineScaleSet{ ### Extracting Provision Status -The provision status can be extracted from the CSE response. CSE takes the stdout from the bootstrap scripts which contains information in the form [`datamodel.CSEStatus`](https://github.com/Azure/AgentBaker/blob/dev/pkg/agent/datamodel/types.go#L2189). You can find an example of how to parse the output [here](https://github.com/Azure/AgentBaker/blob/dev/e2e/scenario_helpers_test.go#L163). +The provision status can be extracted from the CSE response. CSE takes the stdout from the bootstrap scripts which contains information in the form [`datamodel.CSEStatus`](https://github.com/Azure/AgentBaker/blob/dev/pkg/agent/datamodel/types.go#L2189). Here is an example response return by CSE: ``` @@ -86,9 +84,9 @@ Here is an example response return by CSE: Here is an indepth explanation of the provisioning flow. Upon first startup, CustomData is made available to the VM, after which cloud-init is able to process the content, in this case, writing the bootstrap config to disk. The binary is triggered by a systemd unit, [`aks-node-controller.service`](https://github.com/Azure/AgentBaker/blob/dev/parts/linux/cloud-init/artifacts/aks-node-controller.service) which is automatically run once cloud-init is complete. In this way, we are ensuring the bootstrapping config is present on the node and can proceeed to run the go binary to start the bootstrapping process. -The content of `CustomData` and `CSE` that is returned by `GetNodeBootstrapping` is as follows: +Clients need to provide CSE and Custom Data. [nodeconfigutils](pkg/nodeconfigutils) module contains helpers for generating these values. -1. Custom Data: Contains base64 encoded bootstrap configuration of type [`AKSNodeConfig`](https://github.com/Azure/AgentBaker/tree/dev/pkg/proto/aksnodeconfig/v1) in json format which is placed on the node through cloud-init write directive. +1. Custom Data: Contains base64 encoded bootstrap configuration of type [aksnodeconfigv1.Configuration](pkg/gen/aksnodeconfig/v1) in json format which is placed on the node through cloud-init write directive. Format: ```yaml @@ -119,7 +117,7 @@ sequenceDiagram note over VM: cloud-init handles
config.json deployment note over VM: cloud-init completes processing - note over VM: Start aks-node-controller.service (systemd service)
afer cloud-init + note over VM: Start aks-node-controller.service (systemd service)
after cloud-init VM->>VM: Run aks-node-controller
(Go binary) in provision mode
using config.json ARM->>VM: Initiate aks-node-controller (Go binary)
in provision-wait mode via CSE