Skip to content

Commit 74efa11

Browse files
authored
Revamp schemagen logic (#143)
### Proposed Changes: This PR significantly enhances the underlying code generation logic by leveraging the Pulumi Kubernetes provider’s advanced schema generation capabilities. The Kubernetes provider’s schema generation has been thoroughly tested over multiple Kubernetes version releases, and used in production environments, making it a robust solution. By adopting this approach, we can efficiently resolve several codegen related bugs in `crd2pulumi` without needing numerous fragile targeted fixes within the current codebase. ### Technical Changes - Removed manual parsing of CRD manifests. - Integrated Pulumi Kubernetes provider's schema generation logic: - CRD manifests are now converted to OpenAPI specs before being schematized. - Inline nested objects within CRDs are now treated as global objects in the OpenAPI layer, simplifying handling and reducing code complexity. - Updated mocked CRDs to be valid for testing, as valid CRDs are required for OpenAPI conversion. - Expanded e2e tests by adding additional CRDs to be code generated, and adding compilation steps for Go, Node, and Dotnet languages to ensure validity. ### User Facing Changes This PR maintains backward compatibility as much as possible, though some behavior changes are expected: 1. CRDs provided to crd2pulumi must be valid and acceptable by a Kubernetes API server. Previous versions made best-effort conversions regardless of validity. 2. Generated Go code now adheres to the `--goPath` flag if provided, ensuring code is generated at the specified path, aligning Go with other languages in terms of folder structure. 3. While we’ve made efforts to maintain consistency, field names and resource names in generated Pulumi code may change slightly due to cross-language sanitization of field and resource names. ### Related Issues Resolves #142, resolves #141, resolves #115, resolves #113, resolves #110, resolves #104, resolves #103, resolves #100, resolves #97, resolves #89, resolves #70, resolves #49, resolves #34, resolves #30, resolves #26, resolves #21, resolves #111, resolves #50
1 parent 151a8b6 commit 74efa11

File tree

18 files changed

+792
-396
lines changed

18 files changed

+792
-396
lines changed

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,25 @@
22

33
## Unreleased
44

5+
## 1.5.0 (2024-09-13)
6+
7+
### Added
8+
- Patch variant resources are now generated for all custom resources. Patch resources allow you to modify and an existing custom resource. For more details on using Patch resources, see our [documentation](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/#patch-a-resource).
9+
10+
### Changed
11+
- The Pulumi schema generation now utilizes the library from the Pulumi Kubernetes provider, replacing the previous custom implementation. This resolves a number of correctness issues when generating code. [#143](https://github.com/pulumi/crd2pulumi/pull/143)
12+
- Golang package generation now correctly adheres to the `--goPath` CLI flag, aligning with the behavior of other languages. [#89](https://github.com/pulumi/crd2pulumi/issues/89)
13+
- CRDs with oneOf fields are now correctly typed and not generic. [#97](https://github.com/pulumi/crd2pulumi/issues/97)
14+
-
15+
16+
### Fixed
17+
- Various code generation correctness issues have been addressed, including:
18+
- Python packages can now be successfully imported and consumed by Pulumi Python programs. [#113](https://github.com/pulumi/crd2pulumi/issues/113)
19+
- Golang packages no longer produce compilation errors due to duplicate declarations. [#104](https://github.com/pulumi/crd2pulumi/issues/104)
20+
- NodeJS package names are now properly generated. [#70](https://github.com/pulumi/crd2pulumi/issues/70)
21+
- Dotnet packages now include the correct imports. [#49](https://github.com/pulumi/crd2pulumi/issues/49)
22+
- NodeJS object metadata types no longer accept undefined values. [#34](https://github.com/pulumi/crd2pulumi/issues/34)
23+
524
## 1.4.0 (2024-05-29)
625

726
- Fix unpinned Kubernetes version in generated nodejs resources. [#121](https://github.com/pulumi/crd2pulumi/pull/121)

go.mod

Lines changed: 109 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,50 @@
11
module github.com/pulumi/crd2pulumi
22

3-
go 1.22.0
3+
go 1.22.4
44

5-
toolchain go1.22.1
5+
toolchain go1.22.7
66

77
require (
8+
github.com/go-openapi/jsonreference v0.21.0
89
github.com/iancoleman/strcase v0.3.0
9-
github.com/pulumi/pulumi-java/pkg v0.10.0
10-
github.com/pulumi/pulumi/pkg/v3 v3.115.2
11-
github.com/pulumi/pulumi/sdk/v3 v3.115.2
12-
github.com/spf13/cobra v1.8.0
10+
github.com/pulumi/pulumi-java/pkg v0.14.0
11+
github.com/pulumi/pulumi-kubernetes/provider/v4 v4.0.0-20240913215025-7155e2ed5604
12+
github.com/pulumi/pulumi/pkg/v3 v3.130.0
13+
github.com/pulumi/pulumi/sdk/v3 v3.130.0
14+
github.com/spf13/cobra v1.8.1
1315
github.com/stretchr/testify v1.9.0
14-
golang.org/x/text v0.14.0
15-
k8s.io/apimachinery v0.30.0
16+
golang.org/x/text v0.17.0
17+
k8s.io/apiextensions-apiserver v0.31.0
18+
k8s.io/apimachinery v0.31.0
19+
k8s.io/kube-openapi v0.0.0-20240812233141-91dab695df6f
1620
)
1721

1822
require (
1923
cloud.google.com/go v0.112.1 // indirect
20-
cloud.google.com/go/compute v1.25.0 // indirect
21-
cloud.google.com/go/compute/metadata v0.2.3 // indirect
24+
cloud.google.com/go/compute/metadata v0.3.0 // indirect
2225
cloud.google.com/go/iam v1.1.6 // indirect
2326
cloud.google.com/go/kms v1.15.7 // indirect
2427
cloud.google.com/go/logging v1.9.0 // indirect
2528
cloud.google.com/go/longrunning v0.5.5 // indirect
2629
cloud.google.com/go/storage v1.39.1 // indirect
2730
dario.cat/mergo v1.0.0 // indirect
28-
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.10.0 // indirect
29-
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1 // indirect
30-
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 // indirect
31+
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 // indirect
32+
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 // indirect
33+
github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 // indirect
3134
github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 // indirect
3235
github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 // indirect
36+
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
3337
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect
3438
github.com/BurntSushi/toml v1.3.2 // indirect
35-
github.com/Microsoft/go-winio v0.6.1 // indirect
39+
github.com/MakeNowJust/heredoc v1.0.0 // indirect
40+
github.com/Microsoft/go-winio v0.6.2 // indirect
3641
github.com/ProtonMail/go-crypto v1.0.0 // indirect
3742
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
3843
github.com/agext/levenshtein v1.2.3 // indirect
44+
github.com/ahmetb/go-linq v3.0.0+incompatible // indirect
45+
github.com/antlr4-go/antlr/v4 v4.13.0 // indirect
3946
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
47+
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
4048
github.com/atotto/clipboard v0.1.4 // indirect
4149
github.com/aws/aws-sdk-go v1.50.36 // indirect
4250
github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect
@@ -54,10 +62,15 @@ require (
5462
github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 // indirect
5563
github.com/aws/smithy-go v1.20.2 // indirect
5664
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
65+
github.com/beorn7/perks v1.0.1 // indirect
5766
github.com/blang/semver v3.5.1+incompatible // indirect
67+
github.com/blang/semver/v4 v4.0.0 // indirect
5868
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
69+
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
70+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
71+
github.com/chai2010/gettext-go v1.0.2 // indirect
5972
github.com/charmbracelet/bubbles v0.16.1 // indirect
60-
github.com/charmbracelet/bubbletea v0.24.2 // indirect
73+
github.com/charmbracelet/bubbletea v0.25.0 // indirect
6174
github.com/charmbracelet/lipgloss v0.9.1 // indirect
6275
github.com/cheggaaa/pb v1.0.29 // indirect
6376
github.com/cloudflare/circl v1.3.7 // indirect
@@ -67,51 +80,70 @@ require (
6780
github.com/deckarep/golang-set/v2 v2.5.0 // indirect
6881
github.com/djherbis/times v1.6.0 // indirect
6982
github.com/edsrzf/mmap-go v1.1.0 // indirect
83+
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
7084
github.com/emirpasic/gods v1.18.1 // indirect
71-
github.com/fatih/color v1.16.0 // indirect
85+
github.com/evanphx/json-patch v5.7.0+incompatible // indirect
86+
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
87+
github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d // indirect
7288
github.com/felixge/httpsnoop v1.0.4 // indirect
73-
github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect
89+
github.com/fluxcd/pkg/ssa v0.28.1 // indirect
90+
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
91+
github.com/go-errors/errors v1.4.2 // indirect
7492
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
7593
github.com/go-git/go-billy/v5 v5.5.0 // indirect
7694
github.com/go-git/go-git/v5 v5.12.0 // indirect
7795
github.com/go-jose/go-jose/v3 v3.0.3 // indirect
78-
github.com/go-logr/logr v1.4.1 // indirect
96+
github.com/go-logr/logr v1.4.2 // indirect
7997
github.com/go-logr/stdr v1.2.2 // indirect
98+
github.com/go-openapi/jsonpointer v0.21.0 // indirect
99+
github.com/go-openapi/swag v0.23.0 // indirect
80100
github.com/go-test/deep v1.1.0 // indirect
81101
github.com/gofrs/uuid v4.4.0+incompatible // indirect
82102
github.com/gogo/protobuf v1.3.2 // indirect
83103
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
84-
github.com/golang/glog v1.2.0 // indirect
104+
github.com/golang/glog v1.2.1 // indirect
85105
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
86106
github.com/golang/protobuf v1.5.4 // indirect
107+
github.com/google/btree v1.0.1 // indirect
108+
github.com/google/cel-go v0.20.1 // indirect
109+
github.com/google/gnostic-models v0.6.8 // indirect
110+
github.com/google/go-cmp v0.6.0 // indirect
87111
github.com/google/go-querystring v1.1.0 // indirect
88112
github.com/google/gofuzz v1.2.0 // indirect
89113
github.com/google/s2a-go v0.1.7 // indirect
114+
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
90115
github.com/google/uuid v1.6.0 // indirect
91116
github.com/google/wire v0.6.0 // indirect
92117
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
93118
github.com/googleapis/gax-go/v2 v2.12.2 // indirect
94119
github.com/gorilla/mux v1.8.1 // indirect
120+
github.com/gorilla/websocket v1.5.0 // indirect
121+
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect
122+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect
95123
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
96124
github.com/hashicorp/errwrap v1.1.0 // indirect
97125
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
98-
github.com/hashicorp/go-hclog v1.6.1 // indirect
99126
github.com/hashicorp/go-multierror v1.1.1 // indirect
100-
github.com/hashicorp/go-retryablehttp v0.7.5 // indirect
127+
github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
101128
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
102129
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.8 // indirect
103130
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
104131
github.com/hashicorp/go-sockaddr v1.0.6 // indirect
105132
github.com/hashicorp/hcl v1.0.1-vault-5 // indirect
106133
github.com/hashicorp/hcl/v2 v2.19.1 // indirect
107-
github.com/hashicorp/vault/api v1.10.0 // indirect
134+
github.com/hashicorp/vault/api v1.12.0 // indirect
135+
github.com/imdario/mergo v0.3.16 // indirect
108136
github.com/inconshreveable/mousetrap v1.1.0 // indirect
109137
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
110138
github.com/jmespath/go-jmespath v0.4.0 // indirect
139+
github.com/jonboulle/clockwork v0.4.0 // indirect
140+
github.com/josharian/intern v1.0.0 // indirect
111141
github.com/json-iterator/go v1.1.12 // indirect
112142
github.com/kevinburke/ssh_config v1.2.0 // indirect
113143
github.com/kylelemons/godebug v1.1.0 // indirect
144+
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
114145
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
146+
github.com/mailru/easyjson v0.7.7 // indirect
115147
github.com/mattn/go-isatty v0.0.20 // indirect
116148
github.com/mattn/go-localereader v0.0.1 // indirect
117149
github.com/mattn/go-runewidth v0.0.15 // indirect
@@ -121,26 +153,39 @@ require (
121153
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
122154
github.com/mitchellh/mapstructure v1.5.0 // indirect
123155
github.com/mitchellh/reflectwalk v1.0.2 // indirect
156+
github.com/moby/spdystream v0.4.0 // indirect
157+
github.com/moby/term v0.5.0 // indirect
124158
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
125159
github.com/modern-go/reflect2 v1.0.2 // indirect
160+
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect
126161
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
127162
github.com/muesli/cancelreader v0.2.2 // indirect
128163
github.com/muesli/reflow v0.3.0 // indirect
129164
github.com/muesli/termenv v0.15.2 // indirect
165+
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
166+
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
130167
github.com/natefinch/atomic v1.0.1 // indirect
131168
github.com/opentracing/basictracer-go v1.1.0 // indirect
132169
github.com/opentracing/opentracing-go v1.2.0 // indirect
170+
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
133171
github.com/pgavlin/fx v0.1.6 // indirect
134172
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
135173
github.com/pjbgf/sha1cd v0.3.0 // indirect
136174
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
137175
github.com/pkg/errors v0.9.1 // indirect
138176
github.com/pkg/term v1.1.0 // indirect
139177
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
178+
github.com/prometheus/client_golang v1.19.1 // indirect
179+
github.com/prometheus/client_model v0.6.1 // indirect
180+
github.com/prometheus/common v0.55.0 // indirect
181+
github.com/prometheus/procfs v0.15.1 // indirect
140182
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
141-
github.com/pulumi/esc v0.6.2 // indirect
183+
github.com/pulumi/cloud-ready-checks v1.1.1-0.20240731201114-3a703c6bee71 // indirect
184+
github.com/pulumi/esc v0.9.1 // indirect
185+
github.com/pulumi/inflector v0.1.1 // indirect
142186
github.com/rivo/uniseg v0.4.4 // indirect
143-
github.com/rogpeppe/go-internal v1.11.0 // indirect
187+
github.com/rogpeppe/go-internal v1.12.0 // indirect
188+
github.com/russross/blackfriday/v2 v2.1.0 // indirect
144189
github.com/ryanuber/go-glob v1.0.0 // indirect
145190
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
146191
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
@@ -150,50 +195,68 @@ require (
150195
github.com/skeema/knownhosts v1.2.2 // indirect
151196
github.com/spf13/afero v1.11.0 // indirect
152197
github.com/spf13/pflag v1.0.5 // indirect
198+
github.com/stoewer/go-strcase v1.2.0 // indirect
153199
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
154200
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
155201
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
156202
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
203+
github.com/x448/float16 v0.8.4 // indirect
157204
github.com/xanzy/ssh-agent v0.3.3 // indirect
158205
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
159206
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
160207
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
208+
github.com/xlab/treeprint v1.2.0 // indirect
161209
github.com/zclconf/go-cty v1.14.1 // indirect
162210
go.opencensus.io v0.24.0 // indirect
163-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect
164-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
165-
go.opentelemetry.io/otel v1.24.0 // indirect
166-
go.opentelemetry.io/otel/metric v1.24.0 // indirect
167-
go.opentelemetry.io/otel/trace v1.24.0 // indirect
211+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 // indirect
212+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect
213+
go.opentelemetry.io/otel v1.28.0 // indirect
214+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 // indirect
215+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 // indirect
216+
go.opentelemetry.io/otel/metric v1.28.0 // indirect
217+
go.opentelemetry.io/otel/sdk v1.28.0 // indirect
218+
go.opentelemetry.io/otel/trace v1.28.0 // indirect
219+
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
220+
go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect
168221
go.uber.org/atomic v1.11.0 // indirect
169222
gocloud.dev v0.37.0 // indirect
170-
gocloud.dev/secrets/hashivault v0.34.0 // indirect
171-
golang.org/x/crypto v0.22.0 // indirect
172-
golang.org/x/exp v0.0.0-20231127185646-65229373498e // indirect
173-
golang.org/x/mod v0.15.0 // indirect
174-
golang.org/x/net v0.23.0 // indirect
175-
golang.org/x/oauth2 v0.18.0 // indirect
176-
golang.org/x/sync v0.6.0 // indirect
177-
golang.org/x/sys v0.19.0 // indirect
178-
golang.org/x/term v0.19.0 // indirect
223+
gocloud.dev/secrets/hashivault v0.37.0 // indirect
224+
golang.org/x/crypto v0.26.0 // indirect
225+
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
226+
golang.org/x/mod v0.20.0 // indirect
227+
golang.org/x/net v0.28.0 // indirect
228+
golang.org/x/oauth2 v0.21.0 // indirect
229+
golang.org/x/sync v0.8.0 // indirect
230+
golang.org/x/sys v0.23.0 // indirect
231+
golang.org/x/term v0.23.0 // indirect
179232
golang.org/x/time v0.5.0 // indirect
180-
golang.org/x/tools v0.18.0 // indirect
181233
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
182234
google.golang.org/api v0.169.0 // indirect
183-
google.golang.org/appengine v1.6.8 // indirect
184235
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect
185-
google.golang.org/genproto/googleapis/api v0.0.0-20240311173647-c811ad7063a7 // indirect
186-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
187-
google.golang.org/grpc v1.63.2 // indirect
188-
google.golang.org/protobuf v1.33.0 // indirect
236+
google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 // indirect
237+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
238+
google.golang.org/grpc v1.65.0 // indirect
239+
google.golang.org/protobuf v1.34.2 // indirect
240+
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
189241
gopkg.in/inf.v0 v0.9.1 // indirect
190242
gopkg.in/warnings.v0 v0.1.2 // indirect
191243
gopkg.in/yaml.v2 v2.4.0 // indirect
192244
gopkg.in/yaml.v3 v3.0.1 // indirect
193-
k8s.io/klog/v2 v2.120.1 // indirect
194-
k8s.io/utils v0.0.0-20231127182322-b307cd553661 // indirect
245+
k8s.io/api v0.31.0 // indirect
246+
k8s.io/apiserver v0.31.0 // indirect
247+
k8s.io/cli-runtime v0.31.0 // indirect
248+
k8s.io/client-go v0.31.0 // indirect
249+
k8s.io/component-base v0.31.0 // indirect
250+
k8s.io/klog/v2 v2.130.1 // indirect
251+
k8s.io/kubectl v0.31.0 // indirect
252+
k8s.io/utils v0.0.0-20240902221715-702e33fdd3c3 // indirect
195253
lukechampine.com/frand v1.4.2 // indirect
254+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3 // indirect
255+
sigs.k8s.io/cli-utils v0.37.2 // indirect
256+
sigs.k8s.io/controller-runtime v0.18.4 // indirect
196257
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
258+
sigs.k8s.io/kustomize/api v0.17.3 // indirect
259+
sigs.k8s.io/kustomize/kyaml v0.17.2 // indirect
197260
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
198261
sigs.k8s.io/yaml v1.4.0 // indirect
199262
)

0 commit comments

Comments
 (0)