From 61115be18c332cb8b9653cb5776a24d3946ed408 Mon Sep 17 00:00:00 2001 From: swufygoog Date: Tue, 28 Jul 2026 20:52:41 +0000 Subject: [PATCH] Project import generated by Copybara --- example/math/addition/api/addition.pb.go | 2 +- example/math/addition/api/addition_grpc.pb.go | 4 +- example/math/addition/go.mod | 4 +- example/math/addition/go.sum | 28 +- example/math/division/api/division.pb.go | 2 +- example/math/division/api/division_grpc.pb.go | 4 +- example/math/division/go.mod | 4 +- example/math/division/go.sum | 28 +- .../multiplication/api/multiplication.pb.go | 2 +- .../api/multiplication_grpc.pb.go | 4 +- example/math/multiplication/go.mod | 4 +- example/math/multiplication/go.sum | 28 +- .../math/subtraction/api/subtraction.pb.go | 2 +- .../subtraction/api/subtraction_grpc.pb.go | 4 +- example/math/subtraction/go.mod | 4 +- example/math/subtraction/go.sum | 28 +- example/math/test/go.mod | 6 +- example/math/test/go.sum | 12 +- .../test/kubernetes_runtime_parameters.txtpb | 1 + go.mod | 8 +- go.sum | 12 +- proto/monax.pb.go | 2 +- runtime/kubernetesruntime/kubernetes.go | 113 +++++++ runtime/kubernetesruntime/kubernetes_test.go | 303 ++++++++++++++++++ .../proto/runtime_parameters.pb.go | 68 +++- .../proto/runtime_parameters.proto | 5 + 26 files changed, 568 insertions(+), 114 deletions(-) create mode 100644 runtime/kubernetesruntime/kubernetes_test.go diff --git a/example/math/addition/api/addition.pb.go b/example/math/addition/api/addition.pb.go index 58f9b7b..ce32e78 100644 --- a/example/math/addition/api/addition.pb.go +++ b/example/math/addition/api/addition.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.34.0 +// protoc v7.35.1 // source: addition.proto package api diff --git a/example/math/addition/api/addition_grpc.pb.go b/example/math/addition/api/addition_grpc.pb.go index cc84fc3..190f56b 100644 --- a/example/math/addition/api/addition_grpc.pb.go +++ b/example/math/addition/api/addition_grpc.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.0 -// - protoc v7.34.0 +// - protoc-gen-go-grpc v1.6.2 +// - protoc v7.35.1 // source: addition.proto package api diff --git a/example/math/addition/go.mod b/example/math/addition/go.mod index 131d8d8..0a8cba4 100644 --- a/example/math/addition/go.mod +++ b/example/math/addition/go.mod @@ -5,12 +5,12 @@ go 1.25.0 require ( github.com/golang/glog v1.2.5 golang.org/x/net v0.55.0 - google.golang.org/grpc v1.80.0 + google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.11 ) require ( golang.org/x/sys v0.45.0 // indirect golang.org/x/text v0.37.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 // indirect ) diff --git a/example/math/addition/go.sum b/example/math/addition/go.sum index 19fd28e..ad8b8f9 100644 --- a/example/math/addition/go.sum +++ b/example/math/addition/go.sum @@ -14,16 +14,16 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= -go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= -go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= -go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= -go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= -go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= -go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= -go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= -go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= -go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= +go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= +go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= +go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= +go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= +go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= +go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= +go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= +go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= +go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= +go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= @@ -32,9 +32,9 @@ golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516 h1:sNrWoksmOyF5bvJUcnmbeAmQi8baNhqg5IWaI3llQqU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= -google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= -google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 h1:RmoJA1ujG+/lRGNfUnOMfhCy5EipVMyvUE+KNbPbTlw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= +google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= diff --git a/example/math/division/api/division.pb.go b/example/math/division/api/division.pb.go index 0a811c3..32e220a 100644 --- a/example/math/division/api/division.pb.go +++ b/example/math/division/api/division.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.34.0 +// protoc v7.35.1 // source: division.proto package api diff --git a/example/math/division/api/division_grpc.pb.go b/example/math/division/api/division_grpc.pb.go index c450c38..c805d62 100644 --- a/example/math/division/api/division_grpc.pb.go +++ b/example/math/division/api/division_grpc.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.0 -// - protoc v7.34.0 +// - protoc-gen-go-grpc v1.6.2 +// - protoc v7.35.1 // source: division.proto package api diff --git a/example/math/division/go.mod b/example/math/division/go.mod index 04976f1..9e28191 100644 --- a/example/math/division/go.mod +++ b/example/math/division/go.mod @@ -10,12 +10,12 @@ require ( github.com/golang/glog v1.2.5 github.com/openconfig/monax/example/math/subtraction v0.0.0-00010101000000-000000000000 golang.org/x/net v0.55.0 - google.golang.org/grpc v1.80.0 + google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.11 ) require ( golang.org/x/sys v0.45.0 // indirect golang.org/x/text v0.37.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 // indirect ) diff --git a/example/math/division/go.sum b/example/math/division/go.sum index 19fd28e..ad8b8f9 100644 --- a/example/math/division/go.sum +++ b/example/math/division/go.sum @@ -14,16 +14,16 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= -go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= -go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= -go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= -go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= -go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= -go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= -go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= -go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= -go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= +go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= +go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= +go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= +go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= +go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= +go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= +go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= +go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= +go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= +go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= @@ -32,9 +32,9 @@ golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516 h1:sNrWoksmOyF5bvJUcnmbeAmQi8baNhqg5IWaI3llQqU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= -google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= -google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 h1:RmoJA1ujG+/lRGNfUnOMfhCy5EipVMyvUE+KNbPbTlw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= +google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= diff --git a/example/math/multiplication/api/multiplication.pb.go b/example/math/multiplication/api/multiplication.pb.go index fe920e2..c2e6481 100644 --- a/example/math/multiplication/api/multiplication.pb.go +++ b/example/math/multiplication/api/multiplication.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.34.0 +// protoc v7.35.1 // source: multiplication.proto package api diff --git a/example/math/multiplication/api/multiplication_grpc.pb.go b/example/math/multiplication/api/multiplication_grpc.pb.go index f578925..5b6797b 100644 --- a/example/math/multiplication/api/multiplication_grpc.pb.go +++ b/example/math/multiplication/api/multiplication_grpc.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.0 -// - protoc v7.34.0 +// - protoc-gen-go-grpc v1.6.2 +// - protoc v7.35.1 // source: multiplication.proto package api diff --git a/example/math/multiplication/go.mod b/example/math/multiplication/go.mod index cc25eff..f863196 100644 --- a/example/math/multiplication/go.mod +++ b/example/math/multiplication/go.mod @@ -8,12 +8,12 @@ require ( github.com/golang/glog v1.2.5 github.com/openconfig/monax/example/math/addition v0.0.0-00010101000000-000000000000 golang.org/x/net v0.55.0 - google.golang.org/grpc v1.80.0 + google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.11 ) require ( golang.org/x/sys v0.45.0 // indirect golang.org/x/text v0.37.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 // indirect ) diff --git a/example/math/multiplication/go.sum b/example/math/multiplication/go.sum index 19fd28e..ad8b8f9 100644 --- a/example/math/multiplication/go.sum +++ b/example/math/multiplication/go.sum @@ -14,16 +14,16 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= -go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= -go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= -go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= -go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= -go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= -go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= -go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= -go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= -go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= +go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= +go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= +go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= +go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= +go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= +go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= +go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= +go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= +go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= +go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= @@ -32,9 +32,9 @@ golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516 h1:sNrWoksmOyF5bvJUcnmbeAmQi8baNhqg5IWaI3llQqU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= -google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= -google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 h1:RmoJA1ujG+/lRGNfUnOMfhCy5EipVMyvUE+KNbPbTlw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= +google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= diff --git a/example/math/subtraction/api/subtraction.pb.go b/example/math/subtraction/api/subtraction.pb.go index 8ad79cb..c0f0ff6 100644 --- a/example/math/subtraction/api/subtraction.pb.go +++ b/example/math/subtraction/api/subtraction.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.34.0 +// protoc v7.35.1 // source: subtraction.proto package api diff --git a/example/math/subtraction/api/subtraction_grpc.pb.go b/example/math/subtraction/api/subtraction_grpc.pb.go index c575dc6..f7db58f 100644 --- a/example/math/subtraction/api/subtraction_grpc.pb.go +++ b/example/math/subtraction/api/subtraction_grpc.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.6.0 -// - protoc v7.34.0 +// - protoc-gen-go-grpc v1.6.2 +// - protoc v7.35.1 // source: subtraction.proto package api diff --git a/example/math/subtraction/go.mod b/example/math/subtraction/go.mod index 0ba7a02..88d97fc 100644 --- a/example/math/subtraction/go.mod +++ b/example/math/subtraction/go.mod @@ -8,12 +8,12 @@ require ( github.com/golang/glog v1.2.5 github.com/openconfig/monax/example/math/addition v0.0.0-00010101000000-000000000000 golang.org/x/net v0.55.0 - google.golang.org/grpc v1.80.0 + google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.11 ) require ( golang.org/x/sys v0.45.0 // indirect golang.org/x/text v0.37.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 // indirect ) diff --git a/example/math/subtraction/go.sum b/example/math/subtraction/go.sum index 19fd28e..ad8b8f9 100644 --- a/example/math/subtraction/go.sum +++ b/example/math/subtraction/go.sum @@ -14,16 +14,16 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= -go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= -go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= -go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= -go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= -go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= -go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= -go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= -go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= -go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= +go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= +go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= +go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= +go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= +go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= +go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= +go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= +go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= +go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= +go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= @@ -32,9 +32,9 @@ golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516 h1:sNrWoksmOyF5bvJUcnmbeAmQi8baNhqg5IWaI3llQqU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= -google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= -google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 h1:RmoJA1ujG+/lRGNfUnOMfhCy5EipVMyvUE+KNbPbTlw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= +google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= diff --git a/example/math/test/go.mod b/example/math/test/go.mod index a676ab0..4868ac8 100644 --- a/example/math/test/go.mod +++ b/example/math/test/go.mod @@ -75,13 +75,13 @@ require ( go.opentelemetry.io/otel/metric v1.43.0 // indirect go.opentelemetry.io/otel/trace v1.43.0 // indirect golang.org/x/exp v0.0.0-20241210194714-1829a127f884 // indirect - golang.org/x/oauth2 v0.35.0 // indirect + golang.org/x/oauth2 v0.36.0 // indirect golang.org/x/sys v0.45.0 // indirect golang.org/x/term v0.43.0 // indirect golang.org/x/text v0.37.0 // indirect golang.org/x/time v0.11.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect - google.golang.org/grpc v1.80.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 // indirect + google.golang.org/grpc v1.82.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/example/math/test/go.sum b/example/math/test/go.sum index 5b4628f..e1e9911 100644 --- a/example/math/test/go.sum +++ b/example/math/test/go.sum @@ -160,8 +160,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= -golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ= -golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= +golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -191,10 +191,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 h1:m8qni9SQFH0tJc1X0vmnpw/0t+AImlSvp30sEupozUg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= -google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= -google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 h1:RmoJA1ujG+/lRGNfUnOMfhCy5EipVMyvUE+KNbPbTlw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= +google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/example/math/test/kubernetes_runtime_parameters.txtpb b/example/math/test/kubernetes_runtime_parameters.txtpb index 192a42d..207804f 100644 --- a/example/math/test/kubernetes_runtime_parameters.txtpb +++ b/example/math/test/kubernetes_runtime_parameters.txtpb @@ -26,6 +26,7 @@ parameters: { service_type: SERVICE_TYPE_NODE_PORT namespace_or_prefix: "monax-math" create_unique_namespace: true + create_unique_name: true } } } diff --git a/go.mod b/go.mod index 0aacac3..0f4b6e1 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 golang.org/x/exp v0.0.0-20241210194714-1829a127f884 golang.org/x/net v0.55.0 - google.golang.org/grpc v1.80.0 + google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.11 k8s.io/api v0.29.2 k8s.io/apimachinery v0.29.2 @@ -105,16 +105,14 @@ require ( go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect go.opentelemetry.io/otel v1.43.0 // indirect go.opentelemetry.io/otel/metric v1.43.0 // indirect - go.opentelemetry.io/otel/sdk v1.43.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.43.0 // indirect go.opentelemetry.io/otel/trace v1.43.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/oauth2 v0.35.0 // indirect + golang.org/x/oauth2 v0.36.0 // indirect golang.org/x/sys v0.45.0 // indirect golang.org/x/term v0.43.0 // indirect golang.org/x/text v0.37.0 // indirect golang.org/x/time v0.11.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index 1dcfce4..e2b742e 100644 --- a/go.sum +++ b/go.sum @@ -344,8 +344,8 @@ golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ= -golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= +golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -412,8 +412,8 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20210811021853-ddbe55d93216/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 h1:m8qni9SQFH0tJc1X0vmnpw/0t+AImlSvp30sEupozUg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 h1:RmoJA1ujG+/lRGNfUnOMfhCy5EipVMyvUE+KNbPbTlw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= @@ -422,8 +422,8 @@ google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= -google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= +google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= +google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= diff --git a/proto/monax.pb.go b/proto/monax.pb.go index 6a92c91..41466d4 100644 --- a/proto/monax.pb.go +++ b/proto/monax.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.34.0 +// protoc v7.35.1 // source: monax.proto package proto diff --git a/runtime/kubernetesruntime/kubernetes.go b/runtime/kubernetesruntime/kubernetes.go index 41dec08..e51a368 100644 --- a/runtime/kubernetesruntime/kubernetes.go +++ b/runtime/kubernetesruntime/kubernetes.go @@ -108,6 +108,10 @@ type kubernetesHandler struct { kubeconfigPath string imageRepositoryAddr string + // nameSuffix is a random string appended to the names of deployed objects to + // avoid name collisions of parallel runs. + nameSuffix string + createUniqueNamespace bool configuredNamespace string namespace string @@ -159,6 +163,10 @@ func (h *kubernetesHandler) setParameters(parameters *runtimepb.KubernetesRuntim h.kubeconfigPath = kubernetesParams.GetKubeconfigPath() h.imageRepositoryAddr = kubernetesParams.GetImageRepositoryAddress() + if kubernetesParams.GetCreateUniqueName() { + h.nameSuffix = uuid.New().String()[:8] + } + h.createUniqueNamespace = kubernetesParams.GetCreateUniqueNamespace() h.configuredNamespace = kubernetesParams.GetNamespaceOrPrefix() @@ -258,6 +266,8 @@ func (h *kubernetesHandler) Initialize(ctx context.Context, component *monax.Com log.WarningContextf(ctx, "Overriding service type to Kubernetes Runtime Parameters value: %v", h.serviceType) } service.Spec.Type = h.serviceType + + h.applyUniqueNameSuffix(deployment, service) h.stateByComponent[component] = &kubernetesComponent{ parameters: parameters, deployment: deployment, @@ -268,6 +278,104 @@ func (h *kubernetesHandler) Initialize(ctx context.Context, component *monax.Com return nil } +func (h *kubernetesHandler) applyUniqueNameSuffix(deployment *kubernetesapps.Deployment, service *kubernetescore.Service) { + if h.nameSuffix == "" { + return + } + const labelKey = "app.kubernetes.io/instance" + suffix := "-" + h.nameSuffix + + // Set the name and label with a unique suffix to avoid name collisions of + // parallel runs. + origDeploymentName := deployment.Name + deployment.Name += suffix + if deployment.Labels == nil { + deployment.Labels = make(map[string]string) + } + if deployment.Labels[labelKey] != "" { + deployment.Labels[labelKey] += suffix + } else { + deployment.Labels[labelKey] = deployment.Name + } + + // The Selector limits which Pods can be controlled by the Deployment, + // preventing the teardown of one Deployment from affecting another Deployment + // from a parallel run. + if deployment.Spec.Selector == nil { + deployment.Spec.Selector = &kubernetesmeta.LabelSelector{} + } + if deployment.Spec.Selector.MatchLabels == nil { + deployment.Spec.Selector.MatchLabels = make(map[string]string) + } + if deployment.Spec.Selector.MatchLabels[labelKey] != "" { + deployment.Spec.Selector.MatchLabels[labelKey] += suffix + } else { + deployment.Spec.Selector.MatchLabels[labelKey] = deployment.Name + } + + // Sets the labels for the Pods created by the Deployment. This must match + // the Selector above. + if deployment.Spec.Template.Labels == nil { + deployment.Spec.Template.Labels = make(map[string]string) + } + if deployment.Spec.Template.Labels[labelKey] != "" { + deployment.Spec.Template.Labels[labelKey] += suffix + } else { + deployment.Spec.Template.Labels[labelKey] = deployment.Name + } + + for i := range deployment.Spec.Template.Spec.Containers { + container := &deployment.Spec.Template.Spec.Containers[i] + container.Name += suffix + for j := range container.Env { + env := &container.Env[j] + if env.ValueFrom != nil && env.ValueFrom.ConfigMapKeyRef != nil { + if env.ValueFrom.ConfigMapKeyRef.Name == origDeploymentName { + // In startDeployment, we create a ConfigMap with the same name as the + // Deployment. + env.ValueFrom.ConfigMapKeyRef.Name = deployment.Name + } + } + } + for j := range container.EnvFrom { + envFrom := &container.EnvFrom[j] + if envFrom.ConfigMapRef != nil { + if envFrom.ConfigMapRef.Name == origDeploymentName { + envFrom.ConfigMapRef.Name = deployment.Name + } + } + } + } + + for i := range deployment.Spec.Template.Spec.Volumes { + volume := &deployment.Spec.Template.Spec.Volumes[i] + if volume.ConfigMap != nil { + if volume.ConfigMap.Name == origDeploymentName { + volume.ConfigMap.Name = deployment.Name + } + } + } + + service.Name += suffix + if service.Labels == nil { + service.Labels = make(map[string]string) + } + if service.Labels[labelKey] != "" { + service.Labels[labelKey] += suffix + } else { + service.Labels[labelKey] = service.Name + } + + if service.Spec.Selector == nil { + service.Spec.Selector = make(map[string]string) + } + if service.Spec.Selector[labelKey] != "" { + service.Spec.Selector[labelKey] += suffix + } else { + service.Spec.Selector[labelKey] = service.Name + } +} + func (h *kubernetesHandler) updateDeploymentContainers(ctx context.Context, deployment *kubernetesapps.Deployment, loadToKind bool) { imagePullPolicy := kubernetescore.PullAlways if loadToKind { @@ -344,6 +452,11 @@ func (h *kubernetesHandler) startDeployment(ctx context.Context, deployment *kub } configMap.SetName(deployment.Name) configMap.SetNamespace(deployment.Namespace) + + // Not directly needed, but good for accounting if users list all objects + // in a namespace with a given label. + configMap.SetLabels(deployment.Labels) + createdConfigMaps := h.kubectl.CoreV1().ConfigMaps(deployment.Namespace) if _, err := createdConfigMaps.Create(ctx, configMap, kubernetesmeta.CreateOptions{}); err != nil { return nil, err diff --git a/runtime/kubernetesruntime/kubernetes_test.go b/runtime/kubernetesruntime/kubernetes_test.go new file mode 100644 index 0000000..46da8ae --- /dev/null +++ b/runtime/kubernetesruntime/kubernetes_test.go @@ -0,0 +1,303 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package kubernetesruntime + +import ( + "testing" + + "github.com/google/go-cmp/cmp" + + kubernetesapps "k8s.io/api/apps/v1" + kubernetescore "k8s.io/api/core/v1" + kubernetesmeta "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +func TestApplyUniqueNameSuffix(t *testing.T) { + t.Parallel() + + tests := map[string]struct { + nameSuffix string + deployment *kubernetesapps.Deployment + service *kubernetescore.Service + wantDeployment *kubernetesapps.Deployment + wantService *kubernetescore.Service + }{ + "no suffix": { + nameSuffix: "", + deployment: &kubernetesapps.Deployment{ + ObjectMeta: kubernetesmeta.ObjectMeta{Name: "echo"}, + }, + service: &kubernetescore.Service{ + ObjectMeta: kubernetesmeta.ObjectMeta{Name: "echo-service"}, + }, + wantDeployment: &kubernetesapps.Deployment{ + ObjectMeta: kubernetesmeta.ObjectMeta{Name: "echo"}, + }, + wantService: &kubernetescore.Service{ + ObjectMeta: kubernetesmeta.ObjectMeta{Name: "echo-service"}, + }, + }, + "instance label added": { + nameSuffix: "withLabel", + deployment: &kubernetesapps.Deployment{ + ObjectMeta: kubernetesmeta.ObjectMeta{Name: "echo"}, + }, + service: &kubernetescore.Service{ + ObjectMeta: kubernetesmeta.ObjectMeta{Name: "echo-service"}, + }, + wantDeployment: &kubernetesapps.Deployment{ + ObjectMeta: kubernetesmeta.ObjectMeta{ + Name: "echo-withLabel", + Labels: map[string]string{ + "app.kubernetes.io/instance": "echo-withLabel", + }, + }, + Spec: kubernetesapps.DeploymentSpec{ + Selector: &kubernetesmeta.LabelSelector{ + MatchLabels: map[string]string{ + "app.kubernetes.io/instance": "echo-withLabel", + }, + }, + Template: kubernetescore.PodTemplateSpec{ + ObjectMeta: kubernetesmeta.ObjectMeta{ + Labels: map[string]string{ + "app.kubernetes.io/instance": "echo-withLabel", + }, + }, + }, + }, + }, + wantService: &kubernetescore.Service{ + ObjectMeta: kubernetesmeta.ObjectMeta{ + Name: "echo-service-withLabel", + Labels: map[string]string{ + "app.kubernetes.io/instance": "echo-service-withLabel", + }, + }, + Spec: kubernetescore.ServiceSpec{ + Selector: map[string]string{ + "app.kubernetes.io/instance": "echo-service-withLabel", + }, + }, + }, + }, + "applies suffix to deployment, service, env, envFrom and volumes": { + nameSuffix: "run-123", + deployment: &kubernetesapps.Deployment{ + ObjectMeta: kubernetesmeta.ObjectMeta{ + Name: "echo", + Labels: map[string]string{ + "app.kubernetes.io/instance": "echo", + }, + }, + Spec: kubernetesapps.DeploymentSpec{ + Selector: &kubernetesmeta.LabelSelector{ + MatchLabels: map[string]string{ + "app.kubernetes.io/instance": "echo", + }, + }, + Template: kubernetescore.PodTemplateSpec{ + ObjectMeta: kubernetesmeta.ObjectMeta{ + Labels: map[string]string{ + "app.kubernetes.io/instance": "echo", + }, + }, + Spec: kubernetescore.PodSpec{ + Containers: []kubernetescore.Container{ + { + Name: "app", + Env: []kubernetescore.EnvVar{ + { + Name: "MONAX_CONFIG", + ValueFrom: &kubernetescore.EnvVarSource{ + ConfigMapKeyRef: &kubernetescore.ConfigMapKeySelector{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "echo"}, + Key: "config.json", + }, + }, + }, + { + Name: "EXTERNAL_CONFIG", + ValueFrom: &kubernetescore.EnvVarSource{ + ConfigMapKeyRef: &kubernetescore.ConfigMapKeySelector{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "external-cm"}, + Key: "ext.json", + }, + }, + }, + }, + EnvFrom: []kubernetescore.EnvFromSource{ + { + ConfigMapRef: &kubernetescore.ConfigMapEnvSource{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "echo"}, + }, + }, + { + ConfigMapRef: &kubernetescore.ConfigMapEnvSource{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "external-cm"}, + }, + }, + }, + }, + }, + Volumes: []kubernetescore.Volume{ + { + Name: "config-vol", + VolumeSource: kubernetescore.VolumeSource{ + ConfigMap: &kubernetescore.ConfigMapVolumeSource{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "echo"}, + }, + }, + }, + { + Name: "ext-vol", + VolumeSource: kubernetescore.VolumeSource{ + ConfigMap: &kubernetescore.ConfigMapVolumeSource{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "external-cm"}, + }, + }, + }, + }, + }, + }, + }, + }, + service: &kubernetescore.Service{ + ObjectMeta: kubernetesmeta.ObjectMeta{ + Name: "echo-service", + Labels: map[string]string{ + "app.kubernetes.io/instance": "echo-service", + }, + }, + Spec: kubernetescore.ServiceSpec{ + Selector: map[string]string{ + "app.kubernetes.io/instance": "echo-service", + }, + }, + }, + wantDeployment: &kubernetesapps.Deployment{ + ObjectMeta: kubernetesmeta.ObjectMeta{ + Name: "echo-run-123", + Labels: map[string]string{ + "app.kubernetes.io/instance": "echo-run-123", + }, + }, + Spec: kubernetesapps.DeploymentSpec{ + Selector: &kubernetesmeta.LabelSelector{ + MatchLabels: map[string]string{ + "app.kubernetes.io/instance": "echo-run-123", + }, + }, + Template: kubernetescore.PodTemplateSpec{ + ObjectMeta: kubernetesmeta.ObjectMeta{ + Labels: map[string]string{ + "app.kubernetes.io/instance": "echo-run-123", + }, + }, + Spec: kubernetescore.PodSpec{ + Containers: []kubernetescore.Container{ + { + Name: "app-run-123", + Env: []kubernetescore.EnvVar{ + { + Name: "MONAX_CONFIG", + ValueFrom: &kubernetescore.EnvVarSource{ + ConfigMapKeyRef: &kubernetescore.ConfigMapKeySelector{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "echo-run-123"}, + Key: "config.json", + }, + }, + }, + { + Name: "EXTERNAL_CONFIG", + ValueFrom: &kubernetescore.EnvVarSource{ + ConfigMapKeyRef: &kubernetescore.ConfigMapKeySelector{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "external-cm"}, + Key: "ext.json", + }, + }, + }, + }, + EnvFrom: []kubernetescore.EnvFromSource{ + { + ConfigMapRef: &kubernetescore.ConfigMapEnvSource{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "echo-run-123"}, + }, + }, + { + ConfigMapRef: &kubernetescore.ConfigMapEnvSource{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "external-cm"}, + }, + }, + }, + }, + }, + Volumes: []kubernetescore.Volume{ + { + Name: "config-vol", + VolumeSource: kubernetescore.VolumeSource{ + ConfigMap: &kubernetescore.ConfigMapVolumeSource{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "echo-run-123"}, + }, + }, + }, + { + Name: "ext-vol", + VolumeSource: kubernetescore.VolumeSource{ + ConfigMap: &kubernetescore.ConfigMapVolumeSource{ + LocalObjectReference: kubernetescore.LocalObjectReference{Name: "external-cm"}, + }, + }, + }, + }, + }, + }, + }, + }, + wantService: &kubernetescore.Service{ + ObjectMeta: kubernetesmeta.ObjectMeta{ + Name: "echo-service-run-123", + Labels: map[string]string{ + "app.kubernetes.io/instance": "echo-service-run-123", + }, + }, + Spec: kubernetescore.ServiceSpec{ + Selector: map[string]string{ + "app.kubernetes.io/instance": "echo-service-run-123", + }, + }, + }, + }, + } + + for name, test := range tests { + test := test + t.Run(name, func(t *testing.T) { + t.Parallel() + + handler := &kubernetesHandler{ + nameSuffix: test.nameSuffix, + } + handler.applyUniqueNameSuffix(test.deployment, test.service) + + if diff := cmp.Diff(test.wantDeployment, test.deployment); diff != "" { + t.Errorf("applyUniqueNameSuffix: deployment diff (-want +got):\n%s", diff) + } + if diff := cmp.Diff(test.wantService, test.service); diff != "" { + t.Errorf("applyUniqueNameSuffix: service diff (-want +got):\n%s", diff) + } + }) + } +} diff --git a/runtime/kubernetesruntime/proto/runtime_parameters.pb.go b/runtime/kubernetesruntime/proto/runtime_parameters.pb.go index 12e1465..c3edd83 100644 --- a/runtime/kubernetesruntime/proto/runtime_parameters.pb.go +++ b/runtime/kubernetesruntime/proto/runtime_parameters.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.34.0 +// protoc v7.35.1 // source: runtime_parameters.proto package proto @@ -195,6 +195,7 @@ type KubernetesHandlerParameters struct { xxx_hidden_ImageRepositoryAddress *string `protobuf:"bytes,5,opt,name=image_repository_address,json=imageRepositoryAddress"` xxx_hidden_NamespaceOrPrefix *string `protobuf:"bytes,6,opt,name=namespace_or_prefix,json=namespaceOrPrefix"` xxx_hidden_CreateUniqueNamespace bool `protobuf:"varint,7,opt,name=create_unique_namespace,json=createUniqueNamespace,def=0"` + xxx_hidden_CreateUniqueName bool `protobuf:"varint,8,opt,name=create_unique_name,json=createUniqueName"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields @@ -303,39 +304,51 @@ func (x *KubernetesHandlerParameters) GetCreateUniqueNamespace() bool { return Default_KubernetesHandlerParameters_CreateUniqueNamespace } +func (x *KubernetesHandlerParameters) GetCreateUniqueName() bool { + if x != nil { + return x.xxx_hidden_CreateUniqueName + } + return false +} + func (x *KubernetesHandlerParameters) SetKubeconfigPath(v string) { x.xxx_hidden_KubeconfigPath = &v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 7) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 8) } func (x *KubernetesHandlerParameters) SetDockerHostUrl(v string) { x.xxx_hidden_DockerHostUrl = &v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 7) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 8) } func (x *KubernetesHandlerParameters) SetDockerCertPath(v string) { x.xxx_hidden_DockerCertPath = &v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 7) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 8) } func (x *KubernetesHandlerParameters) SetServiceType(v KubernetesHandlerParameters_ServiceType) { x.xxx_hidden_ServiceType = v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 7) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 8) } func (x *KubernetesHandlerParameters) SetImageRepositoryAddress(v string) { x.xxx_hidden_ImageRepositoryAddress = &v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 7) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 8) } func (x *KubernetesHandlerParameters) SetNamespaceOrPrefix(v string) { x.xxx_hidden_NamespaceOrPrefix = &v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 7) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 8) } func (x *KubernetesHandlerParameters) SetCreateUniqueNamespace(v bool) { x.xxx_hidden_CreateUniqueNamespace = v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 6, 7) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 6, 8) +} + +func (x *KubernetesHandlerParameters) SetCreateUniqueName(v bool) { + x.xxx_hidden_CreateUniqueName = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 7, 8) } func (x *KubernetesHandlerParameters) HasKubeconfigPath() bool { @@ -387,6 +400,13 @@ func (x *KubernetesHandlerParameters) HasCreateUniqueNamespace() bool { return protoimpl.X.Present(&(x.XXX_presence[0]), 6) } +func (x *KubernetesHandlerParameters) HasCreateUniqueName() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 7) +} + func (x *KubernetesHandlerParameters) ClearKubeconfigPath() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) x.xxx_hidden_KubeconfigPath = nil @@ -419,6 +439,11 @@ func (x *KubernetesHandlerParameters) ClearCreateUniqueNamespace() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 6) } +func (x *KubernetesHandlerParameters) ClearCreateUniqueName() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 7) + x.xxx_hidden_CreateUniqueName = false +} + type KubernetesHandlerParameters_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. @@ -446,6 +471,10 @@ type KubernetesHandlerParameters_builder struct { // random 8 character UUID. When false, Monax will use the `default` // namespace. CreateUniqueNamespace *bool + // When true, generates an 8-character UUID suffix appended to the names, + // selectors, and ConfigMap references of all Kubernetes objects + // (Deployments, Services, ConfigMaps) managed by this handler. + CreateUniqueName *bool } func (b0 KubernetesHandlerParameters_builder) Build() *KubernetesHandlerParameters { @@ -453,33 +482,37 @@ func (b0 KubernetesHandlerParameters_builder) Build() *KubernetesHandlerParamete b, x := &b0, m0 _, _ = b, x if b.KubeconfigPath != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 7) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 8) x.xxx_hidden_KubeconfigPath = b.KubeconfigPath } if b.DockerHostUrl != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 7) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 8) x.xxx_hidden_DockerHostUrl = b.DockerHostUrl } if b.DockerCertPath != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 7) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 8) x.xxx_hidden_DockerCertPath = b.DockerCertPath } if b.ServiceType != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 7) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 8) x.xxx_hidden_ServiceType = *b.ServiceType } if b.ImageRepositoryAddress != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 7) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 8) x.xxx_hidden_ImageRepositoryAddress = b.ImageRepositoryAddress } if b.NamespaceOrPrefix != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 7) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 8) x.xxx_hidden_NamespaceOrPrefix = b.NamespaceOrPrefix } if b.CreateUniqueNamespace != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 6, 7) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 6, 8) x.xxx_hidden_CreateUniqueNamespace = *b.CreateUniqueNamespace } + if b.CreateUniqueName != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 7, 8) + x.xxx_hidden_CreateUniqueName = *b.CreateUniqueName + } return m0 } @@ -982,7 +1015,7 @@ const file_runtime_parameters_proto_rawDesc = "" + "\x04name\x18\x01 \x01(\tR\x04name\x12M\n" + "\n" + "kubernetes\x18\x02 \x01(\v2-.monax.kubernetes.KubernetesHandlerParametersR\n" + - "kubernetes\"\xbd\x04\n" + + "kubernetes\"\xeb\x04\n" + "\x1bKubernetesHandlerParameters\x12'\n" + "\x0fkubeconfig_path\x18\x01 \x01(\tR\x0ekubeconfigPath\x12C\n" + "\x0fdocker_host_url\x18\x02 \x01(\t:\x1bunix:///var/run/docker.sockR\rdockerHostUrl\x12(\n" + @@ -990,7 +1023,8 @@ const file_runtime_parameters_proto_rawDesc = "" + "\fservice_type\x18\x04 \x01(\x0e29.monax.kubernetes.KubernetesHandlerParameters.ServiceType:\x16SERVICE_TYPE_NODE_PORTR\vserviceType\x128\n" + "\x18image_repository_address\x18\x05 \x01(\tR\x16imageRepositoryAddress\x12.\n" + "\x13namespace_or_prefix\x18\x06 \x01(\tR\x11namespaceOrPrefix\x12=\n" + - "\x17create_unique_namespace\x18\a \x01(\b:\x05falseR\x15createUniqueNamespace\"g\n" + + "\x17create_unique_namespace\x18\a \x01(\b:\x05falseR\x15createUniqueNamespace\x12,\n" + + "\x12create_unique_name\x18\b \x01(\bR\x10createUniqueName\"g\n" + "\vServiceType\x12\x1c\n" + "\x18SERVICE_TYPE_UNSPECIFIED\x10\x00\x12\x1a\n" + "\x16SERVICE_TYPE_NODE_PORT\x10\x01\x12\x1e\n" + diff --git a/runtime/kubernetesruntime/proto/runtime_parameters.proto b/runtime/kubernetesruntime/proto/runtime_parameters.proto index e697b43..4cd018f 100644 --- a/runtime/kubernetesruntime/proto/runtime_parameters.proto +++ b/runtime/kubernetesruntime/proto/runtime_parameters.proto @@ -70,6 +70,11 @@ message KubernetesHandlerParameters { // random 8 character UUID. When false, Monax will use the `default` // namespace. bool create_unique_namespace = 7 [default = false]; + + // When true, generates an 8-character UUID suffix appended to the names, + // selectors, and ConfigMap references of all Kubernetes objects + // (Deployments, Services, ConfigMaps) managed by this handler. + bool create_unique_name = 8; } message KubernetesComponentParameters {