Skip to content

Commit 7991f68

Browse files
authored
Improve ExposedMonopod to expose multiple ports, add ExposedMultipod (#590)
* feat(sdk)!: improve ExposedMonopod to expose multiple ports, add ExposedMultipod * fix: CVE-2025-22870 on exposed multipod example * chore: add checks for duplicated rules and port bindings + no ports exposed (stuck resources)
1 parent 7ed7802 commit 7991f68

39 files changed

+4254
-833
lines changed

deploy/go.mod

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ require (
66
github.com/ctfer-io/chall-manager v0.3.2
77
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.22.1
88
github.com/pulumi/pulumi-random/sdk/v4 v4.18.0
9-
github.com/pulumi/pulumi/pkg/v3 v3.160.0
10-
github.com/pulumi/pulumi/sdk/v3 v3.160.0
9+
github.com/pulumi/pulumi/pkg/v3 v3.162.0
10+
github.com/pulumi/pulumi/sdk/v3 v3.162.0
1111
github.com/stretchr/testify v1.10.0
1212
go.uber.org/multierr v1.11.0
1313
google.golang.org/grpc v1.71.1
@@ -84,7 +84,7 @@ require (
8484
github.com/goccy/go-json v0.10.5 // indirect
8585
github.com/gofrs/uuid v4.2.0+incompatible // indirect
8686
github.com/gogo/protobuf v1.3.2 // indirect
87-
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
87+
github.com/golang-jwt/jwt/v5 v5.2.2 // indirect
8888
github.com/golang/glog v1.2.4 // indirect
8989
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
9090
github.com/golang/protobuf v1.5.4 // indirect

deploy/go.sum

+6-6
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@ github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRx
200200
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
201201
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
202202
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
203-
github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk=
204-
github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
203+
github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8=
204+
github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
205205
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
206206
github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc=
207207
github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
@@ -385,10 +385,10 @@ github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.22.1 h1:wKi+j+oL8Hp97GPcjjVSBH3I8g
385385
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.22.1/go.mod h1:jOdpeNeRvY4iN+W8aDP5+HyqrM7hXsxa9paPsmjQFfY=
386386
github.com/pulumi/pulumi-random/sdk/v4 v4.18.0 h1:AwgJjmZJavVo30cz2/fAu16Wif2LdhzC7mOEcERtkJ0=
387387
github.com/pulumi/pulumi-random/sdk/v4 v4.18.0/go.mod h1:rNVU3Gh8I19LFpjXudpB5ZebuFwO6L3tCmrqcDtcAGg=
388-
github.com/pulumi/pulumi/pkg/v3 v3.160.0 h1:xYgx7SXZGbYsC2EDPcbpaSS49fnRc3kjkeKurS/K7s4=
389-
github.com/pulumi/pulumi/pkg/v3 v3.160.0/go.mod h1:VlI9vlaNGjahgN556rRdIT20MrqQ7C1YYhy1RCWPob8=
390-
github.com/pulumi/pulumi/sdk/v3 v3.160.0 h1:OxeATnIEqWyu3KpTeLUmyJdZaSEE6yX7ECvfGhByb9w=
391-
github.com/pulumi/pulumi/sdk/v3 v3.160.0/go.mod h1:YEbbl0N7eVsgfsL7h5215dDf8GBSe4AnRon7Ya/KIVc=
388+
github.com/pulumi/pulumi/pkg/v3 v3.162.0 h1:o8XbI2MpywlAnXKhRChtLMA8I0XkBD6wUDX5wNwMs4o=
389+
github.com/pulumi/pulumi/pkg/v3 v3.162.0/go.mod h1:7dJT4U/ALCgl1GoSgb31h8BzsBJSU4Gs1JrDEMVI4U4=
390+
github.com/pulumi/pulumi/sdk/v3 v3.162.0 h1:0XjCLqmBvxmz1WrhSZj6VT6H+GY85PxIzk5d28xfrMY=
391+
github.com/pulumi/pulumi/sdk/v3 v3.162.0/go.mod h1:GAaHrdv3kWJHbzkFFFflGbTBQXUYu6SF1ZCo+O9jo44=
392392
github.com/redis/go-redis/v9 v9.7.0 h1:HhLSs+B6O021gwzl+locl0zEDnyNkxMtf/Z3NNBMa9E=
393393
github.com/redis/go-redis/v9 v9.7.0/go.mod h1:f6zhXITC7JUJIlPEiBOTXxJgPLdZcA93GewI7inzyWw=
394394
github.com/redis/rueidis v1.0.19 h1:s65oWtotzlIFN8eMPhyYwxlwLR1lUdhza2KtWprKYSo=

examples/additional/go.mod

+8-8
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.24.1
44

55
require (
66
github.com/ctfer-io/chall-manager/sdk v0.3.2
7-
github.com/pulumi/pulumi/sdk/v3 v3.158.0
7+
github.com/pulumi/pulumi/sdk/v3 v3.162.0
88
)
99

1010
require (
@@ -58,7 +58,7 @@ require (
5858
github.com/pkg/errors v0.9.1 // indirect
5959
github.com/pkg/term v1.1.0 // indirect
6060
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
61-
github.com/pulumi/esc v0.10.0 // indirect
61+
github.com/pulumi/esc v0.13.0 // indirect
6262
github.com/pulumi/pulumi-docker/sdk/v4 v4.6.1 // indirect
6363
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.21.1 // indirect
6464
github.com/rivo/uniseg v0.4.4 // indirect
@@ -78,14 +78,14 @@ require (
7878
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
7979
go.opentelemetry.io/otel/trace v1.32.0 // indirect
8080
go.uber.org/atomic v1.11.0 // indirect
81-
golang.org/x/crypto v0.33.0 // indirect
81+
golang.org/x/crypto v0.36.0 // indirect
8282
golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f // indirect
8383
golang.org/x/mod v0.22.0 // indirect
84-
golang.org/x/net v0.35.0 // indirect
85-
golang.org/x/sync v0.11.0 // indirect
86-
golang.org/x/sys v0.30.0 // indirect
87-
golang.org/x/term v0.29.0 // indirect
88-
golang.org/x/text v0.22.0 // indirect
84+
golang.org/x/net v0.38.0 // indirect
85+
golang.org/x/sync v0.12.0 // indirect
86+
golang.org/x/sys v0.31.0 // indirect
87+
golang.org/x/term v0.30.0 // indirect
88+
golang.org/x/text v0.23.0 // indirect
8989
golang.org/x/tools v0.27.0 // indirect
9090
google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect
9191
google.golang.org/grpc v1.69.2 // indirect

examples/additional/go.sum

+16-16
Original file line numberDiff line numberDiff line change
@@ -154,14 +154,14 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
154154
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
155155
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0=
156156
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
157-
github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE=
158-
github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c=
157+
github.com/pulumi/esc v0.13.0 h1:O2MPR2koScaQ2fXwyer8Q3Dd7z+DCnaDfsgNl5mVNMk=
158+
github.com/pulumi/esc v0.13.0/go.mod h1:IIQo6W6Uzajt6f1RW4QvNxIRDlbK3TNQysnrwBHNo3U=
159159
github.com/pulumi/pulumi-docker/sdk/v4 v4.6.1 h1:RPzfYL6GxjiRKq3VcJ3b9J+0kENoJyMLAZsm88DVh6k=
160160
github.com/pulumi/pulumi-docker/sdk/v4 v4.6.1/go.mod h1:8WGseCERS8W68CV1b1eJA/aRMRimpL4P23ZBHD/wMb0=
161161
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.21.1 h1:rDeYtMgQSf4ATFhqt33P65ulyPCbzAHFdWTyZa2iVcA=
162162
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.21.1/go.mod h1:RLaX8dqvWIqDV6VjScsc1tJWp1GoZ1IDSyOPIQ/y4ps=
163-
github.com/pulumi/pulumi/sdk/v3 v3.158.0 h1:4N2WN1fLQiVCulLH+6O+RMUxsqVwb+2ybLV/1FuyeVU=
164-
github.com/pulumi/pulumi/sdk/v3 v3.158.0/go.mod h1:YEbbl0N7eVsgfsL7h5215dDf8GBSe4AnRon7Ya/KIVc=
163+
github.com/pulumi/pulumi/sdk/v3 v3.162.0 h1:0XjCLqmBvxmz1WrhSZj6VT6H+GY85PxIzk5d28xfrMY=
164+
github.com/pulumi/pulumi/sdk/v3 v3.162.0/go.mod h1:GAaHrdv3kWJHbzkFFFflGbTBQXUYu6SF1ZCo+O9jo44=
165165
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
166166
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
167167
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
@@ -224,8 +224,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
224224
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
225225
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
226226
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
227-
golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
228-
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
227+
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
228+
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
229229
golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f h1:XdNn9LlyWAhLVp6P/i8QYBW+hlyhrhei9uErw2B5GJo=
230230
golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f/go.mod h1:D5SMRVC3C2/4+F/DB1wZsLRnSNimn2Sp/NPsCrsv8ak=
231231
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
@@ -240,13 +240,13 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
240240
golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
241241
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
242242
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
243-
golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
244-
golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
243+
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
244+
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
245245
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
246246
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
247247
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
248-
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
249-
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
248+
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
249+
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
250250
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
251251
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
252252
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -262,16 +262,16 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
262262
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
263263
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
264264
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
265-
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
266-
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
265+
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
266+
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
267267
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
268-
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
269-
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
268+
golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
269+
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
270270
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
271271
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
272272
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
273-
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
274-
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
273+
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
274+
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
275275
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
276276
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
277277
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=

examples/exposed-monopod/go.mod

+12-11
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ module github.com/ctfer-io/chall-manager/examples/exposed-monopod
33
go 1.24.1
44

55
require (
6-
github.com/ctfer-io/chall-manager/sdk v0.3.2
7-
github.com/pulumi/pulumi/sdk/v3 v3.158.0
6+
github.com/ctfer-io/chall-manager/sdk v0.3.3
7+
github.com/pulumi/pulumi/sdk/v3 v3.162.0
88
)
99

1010
require (
@@ -58,9 +58,9 @@ require (
5858
github.com/pkg/errors v0.9.1 // indirect
5959
github.com/pkg/term v1.1.0 // indirect
6060
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
61-
github.com/pulumi/esc v0.10.0 // indirect
62-
github.com/pulumi/pulumi-docker/sdk/v4 v4.6.1 // indirect
63-
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.21.1 // indirect
61+
github.com/pulumi/esc v0.13.0 // indirect
62+
github.com/pulumi/pulumi-docker/sdk/v4 v4.6.2 // indirect
63+
github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.22.1 // indirect
6464
github.com/rivo/uniseg v0.4.4 // indirect
6565
github.com/rogpeppe/go-internal v1.13.1 // indirect
6666
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
@@ -80,14 +80,15 @@ require (
8080
go.opentelemetry.io/otel/sdk v1.33.0 // indirect
8181
go.opentelemetry.io/otel/trace v1.33.0 // indirect
8282
go.uber.org/atomic v1.11.0 // indirect
83-
golang.org/x/crypto v0.33.0 // indirect
83+
go.uber.org/multierr v1.11.0 // indirect
84+
golang.org/x/crypto v0.36.0 // indirect
8485
golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f // indirect
8586
golang.org/x/mod v0.22.0 // indirect
86-
golang.org/x/net v0.35.0 // indirect
87-
golang.org/x/sync v0.11.0 // indirect
88-
golang.org/x/sys v0.30.0 // indirect
89-
golang.org/x/term v0.29.0 // indirect
90-
golang.org/x/text v0.22.0 // indirect
87+
golang.org/x/net v0.38.0 // indirect
88+
golang.org/x/sync v0.12.0 // indirect
89+
golang.org/x/sys v0.31.0 // indirect
90+
golang.org/x/term v0.30.0 // indirect
91+
golang.org/x/text v0.23.0 // indirect
9192
golang.org/x/tools v0.27.0 // indirect
9293
google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect
9394
google.golang.org/grpc v1.69.2 // indirect

0 commit comments

Comments
 (0)