Skip to content

Commit fb3b23a

Browse files
authored
Update to build and test against Kubernetes 1.34 (#806)
1 parent 3d8ca18 commit fb3b23a

File tree

8 files changed

+372
-68
lines changed

8 files changed

+372
-68
lines changed

.github/workflows/k8s-matrix.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,24 +40,28 @@ jobs:
4040
fail-fast: false
4141
matrix:
4242
matrixName:
43+
- v1.34
4344
- v1.33
4445
- v1.32
4546
- v1.31
4647
- v1.30
4748
- v1.29
4849
- v1.28
49-
- v1.27
5050
include:
51+
- matrixName: v1.34
52+
k8s: kindest/node:v1.34.0@sha256:7416a61b42b1662ca6ca89f02028ac133a309a2a30ba309614e8ec94d976dc5a
53+
kindCommand: kind-calico
54+
runNetTests: true
5155
- matrixName: v1.33
52-
k8s: kindest/node:v1.33.1@sha256:050072256b9a903bd914c0b2866828150cb229cea0efe5892e2b644d5dd3b34f
56+
k8s: kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2
5357
kindCommand: kind-calico
5458
runNetTests: true
5559
- matrixName: v1.32
56-
k8s: kindest/node:v1.32.5@sha256:e3b2327e3a5ab8c76f5ece68936e4cafaa82edf58486b769727ab0b3b97a5b0d
60+
k8s: kindest/node:v1.32.8@sha256:abd489f042d2b644e2d033f5c2d900bc707798d075e8186cb65e3f1367a9d5a1
5761
kindCommand: kind-calico
5862
runNetTests: true
5963
- matrixName: v1.31
60-
k8s: kindest/node:v1.31.9@sha256:b94a3a6c06198d17f59cca8c6f486236fa05e2fb359cbd75dabbfc348a10b211
64+
k8s: kindest/node:v1.31.12@sha256:0f5cc49c5e73c0c2bb6e2df56e7df189240d83cf94edfa30946482eb08ec57d2
6165
kindCommand: kind-calico
6266
runNetTests: true
6367
- matrixName: v1.30
@@ -72,10 +76,6 @@ jobs:
7276
k8s: kindest/node:v1.28.13@sha256:45d319897776e11167e4698f6b14938eb4d52eb381d9e3d7a9086c16c69a8110
7377
kindCommand: kind-calico
7478
runNetTests: true
75-
- matrixName: v1.27
76-
k8s: kindest/node:v1.27.17@sha256:3fd82731af34efe19cd54ea5c25e882985bafa2c9baefe14f8deab1737d9fabe
77-
kindCommand: kind-calico
78-
runNetTests: true
7979

8080
steps:
8181
- uses: actions/checkout@v4

.go-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.25.0
1+
1.25.1

Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ COMPATIBLE_SELECTOR ?= control-plane=coherence
3333
# The GitHub project URL
3434
PROJECT_URL = https://github.com/oracle/coherence-operator
3535

36-
KUBERNETES_DOC_VERSION=v1.33
36+
KUBERNETES_DOC_VERSION=v1.34
3737

3838
# ========================= Setup Go With Gimme ================================
3939
# go version to use for build etc.
@@ -2174,16 +2174,17 @@ create-ssl-secrets: $(BUILD_OUTPUT)/certs
21742174
##@ KinD
21752175

21762176
KIND_CLUSTER ?= operator
2177-
KIND_IMAGE ?= "kindest/node:v1.33.1@sha256:050072256b9a903bd914c0b2866828150cb229cea0efe5892e2b644d5dd3b34f"
2177+
KIND_IMAGE ?= "kindest/node:v1.34.0@sha256:7416a61b42b1662ca6ca89f02028ac133a309a2a30ba309614e8ec94d976dc5a"
21782178
CALICO_TIMEOUT ?= 300s
21792179
KIND_SCRIPTS := $(SCRIPTS_DIR)/kind
2180+
KIND_CONFIG ?= $(KIND_SCRIPTS)/kind-config.yaml
21802181

21812182
# ----------------------------------------------------------------------------------------------------------------------
21822183
# Start a Kind cluster
21832184
# ----------------------------------------------------------------------------------------------------------------------
21842185
.PHONY: kind
21852186
kind: ## Run a default KinD cluster
2186-
kind create cluster --name $(KIND_CLUSTER) --wait 10m --config $(KIND_SCRIPTS)/kind-config.yaml --image $(KIND_IMAGE)
2187+
kind create cluster --name $(KIND_CLUSTER) --wait 10m --config $(KIND_CONFIG) --image $(KIND_IMAGE)
21872188
$(KIND_SCRIPTS)/kind-label-node.sh
21882189

21892190
.PHONY: kind-dual

docs/coherence/021_member_identity.adoc

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,102 @@ For example the command below labels the node in Docker dDesktop on MacOS to "tw
7474
kubectl label node docker-desktop topology.kubernetes.io/zone=twighlight-zone
7575
----
7676
77+
[#down]
78+
=== Using Node Labels Via The Downwards API
79+
80+
In Kubernetes 1.34 the enhancement https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/4742-node-topology-downward-api/README.md[KEP-4742]
81+
provides access to Kubernetes topology node labels in Pods using the downwards API.
82+
This means that the topology labels applied to a node that a Pod is scheduled onto are accessible in the Pod as environment variables.
83+
84+
[NOTE]
85+
====
86+
In Kubernetes 1.34 this feature is in alpha and has to be enabled using a feature gate.
87+
====
88+
89+
The two topology labels are
90+
91+
|===
92+
|topology.kubernetes.io/region
93+
94+
|topology.kubernetes.io/zone
95+
|===
96+
97+
These are Kubernetes well-know label names configured by most cloud providers.
98+
For example in an Oracle Kubernetes cluster running in the Phoenix (PHX) region the labels on the node might look like this:
99+
100+
[source,bash]
101+
----
102+
$ kubectl get nodes -L topology.kubernetes.io/region -L topology.kubernetes.io/zone
103+
NAME STATUS ROLES AGE VERSION REGION ZONE
104+
compute-1.private.openshiftvcn.oraclevcn.com Ready worker 191d v1.34.0 phx PHX-AD-1
105+
compute-2.private.openshiftvcn.oraclevcn.com Ready worker 191d v1.34.0 phx PHX-AD-2
106+
compute-3.private.openshiftvcn.oraclevcn.com Ready worker 191d v1.34.0 phx PHX-AD-3
107+
cp-1.private.openshiftvcn.oraclevcn.com Ready control-plane,master 191d v1.34.0 phx PHX-AD-1
108+
cp-2.private.openshiftvcn.oraclevcn.com Ready control-plane,master 191d v1.34.0 phx PHX-AD-2
109+
cp-3.private.openshiftvcn.oraclevcn.com Ready control-plane,master 191d v1.34.0 phx PHX-AD-3
110+
----
111+
112+
All the nodes of this cluster run in the PHX region, as typically a cluster is in only one region.
113+
The nodes are evenly spread over three availability zones, PHX-AD-1, PHX-AD-2 and PHX-AD-3.
114+
115+
When a Pod is created in K8s the downward API will apply the topology labels from the node as annotations on the Pod.
116+
These annotations can be applied to environment variables in the yaml.
117+
118+
For example, the yaml below sets the `KUBERNETES_REGION` environment variable to the value of the
119+
`topology.kubernetes.io/region` label from the Node that the Pod is running on.
120+
121+
[source,yaml]
122+
----
123+
env:
124+
- name: KUBERNETES_REGION
125+
valueFrom:
126+
fieldRef:
127+
fieldPath: metadata.labels['topology.kubernetes.io/region']
128+
----
129+
130+
This can be used in a Coherence resource to set the Coherence site and rack values.
131+
132+
[source,yaml]
133+
----
134+
apiVersion: coherence.oracle.com/v1
135+
kind: Coherence
136+
metadata:
137+
name: storage
138+
spec:
139+
readinessProbe:
140+
initialDelaySeconds: 30
141+
periodSeconds: 10
142+
env:
143+
- name: KUBERNETES_REGION
144+
valueFrom:
145+
fieldRef:
146+
fieldPath: metadata.labels['topology.kubernetes.io/region']
147+
- name: KUBERNETES_ZONE
148+
valueFrom:
149+
fieldRef:
150+
fieldPath: metadata.labels['topology.kubernetes.io/zone']
151+
- name: COHERENCE_SITE
152+
value: "${KUBERNETES_REGION}-${KUBERNETES_ZONE}"
153+
- name: COHERENCE_RACK
154+
value: "${KUBERNETES_REGION}-${KUBERNETES_ZONE}"
155+
----
156+
157+
In the example above, if the Pod was scheduled onto the node `os-cert-cp-1.private.openshiftvcn.oraclevcn.com` that is running
158+
in region `phx` in availability zon `PHX-AD-1` then the site would be `phx-PHX-AD-1` and the rack would be `phx-PHX-AD-1`.
159+
160+
In this case both site and rack are the same. The reason is that when a Coherence cluster is deployed into a single Kubernetes cluster
161+
running in a single site, there is not really a topology node label to represent rack.
162+
We cannot use just the region label for site, because that would mean Coherence only has one site (in this case `phx`) so
163+
the partitions could not be site safe.
164+
So we combine both the region and zone values together and use them for both site and rack labels.
165+
166+
[NOTE]
167+
====
168+
When setting site and rack this way the Pod will not perform a REST call back to the Coherence Operator
169+
to request the site and rack names. This technique is therfore useful in Kubernetes clusters where the
170+
operator is running without Node lookup RBAC permissions.
171+
====
172+
77173
=== Specify Site and Rack using Environment Variables
78174
79175
The site and rack values can be set by setting the `COHERENCE_SITE` and `COHERENCE_RACK` environment variables.

docs/installation/011_install_manifests.adoc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,16 @@ The default install for the Operator is to have one Operator deployment that man
6868
all the namespaces in a Kubernetes cluster. This requires the Operator to have cluster role RBAC permissions
6969
to manage and monitor all the resources.
7070
71-
Sometimes, for security reasons or for example in a shared Kubernetes cluster this is not desirable.
71+
Sometimes, for security reasons or for example in a shared Kubernetes cluster, this is not desirable.
7272
The Operator can therefore be installed with plain namespaced scoped roles and role bindings.
7373
The Operator release includes a single yaml file named `coherence-operator-restricted.yaml` that may be used to install
7474
the Operator into a single namespace without any cluster roles.
7575
76-
The Operator installed with this yaml
77-
78-
* will not look-up Node labels for Coherence site and rack configurations
76+
The Operator installed with this yaml will not lookup Node labels for Coherence site and rack configurations.
77+
This means that the Coherence cluster will not be configured with a site and rack identity so Coherence will
78+
be unable to distribute cache partitions across availability domains in a Kubernetes cluster.
79+
See the <<docs/coherence/021_member_identity.adoc#down,Using Node Labels Via The Downwards API>>
80+
for an alternative way to specify site and rack on Kubernetes 1.34 and above.
7981
8082
[NOTE]
8183
====

go.mod

Lines changed: 74 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -8,118 +8,143 @@ module github.com/oracle/coherence-operator
88
// See ./.go-version for the go compiler version used when building binaries
99
//
1010
// https://go.dev/doc/modules/gomod-ref#go
11-
go 1.25.0
11+
go 1.25.1
1212

1313
require (
1414
github.com/distribution/reference v0.6.0
1515
github.com/fsnotify/fsnotify v1.9.0
1616
github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32
1717
github.com/go-logr/logr v1.4.3
1818
github.com/go-test/deep v1.1.1
19-
github.com/onsi/gomega v1.38.0
19+
github.com/onsi/gomega v1.38.2
2020
github.com/pkg/errors v0.9.1
21-
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.84.1
22-
github.com/prometheus-operator/prometheus-operator/pkg/client v0.84.1
23-
github.com/spf13/cobra v1.9.1
24-
github.com/spf13/pflag v1.0.7
25-
github.com/spf13/viper v1.20.1
26-
github.com/stretchr/testify v1.10.0
27-
golang.org/x/mod v0.27.0
28-
golang.org/x/net v0.43.0
29-
k8s.io/api v0.33.4
30-
k8s.io/apiextensions-apiserver v0.33.4
31-
k8s.io/apimachinery v0.33.4
32-
k8s.io/client-go v0.33.4
33-
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
34-
sigs.k8s.io/controller-runtime v0.21.0
21+
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.85.0
22+
github.com/prometheus-operator/prometheus-operator/pkg/client v0.85.0
23+
github.com/spf13/cobra v1.10.1
24+
github.com/spf13/pflag v1.0.10
25+
github.com/spf13/viper v1.21.0
26+
github.com/stretchr/testify v1.11.1
27+
golang.org/x/mod v0.28.0
28+
golang.org/x/net v0.44.0
29+
k8s.io/api v0.34.1
30+
k8s.io/apiextensions-apiserver v0.34.1
31+
k8s.io/apimachinery v0.34.1
32+
k8s.io/client-go v0.34.1
33+
k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d
34+
sigs.k8s.io/controller-runtime v0.22.1
3535
sigs.k8s.io/testing_frameworks v0.1.2
3636
)
3737

3838
require (
3939
cel.dev/expr v0.24.0 // indirect
40+
github.com/NYTimes/gziphandler v1.1.1 // indirect
4041
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
4142
github.com/beorn7/perks v1.0.1 // indirect
4243
github.com/blang/semver/v4 v4.0.0 // indirect
4344
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
4445
github.com/cespare/xxhash/v2 v2.3.0 // indirect
46+
github.com/coreos/go-semver v0.3.1 // indirect
47+
github.com/coreos/go-systemd/v22 v22.6.0 // indirect
4548
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
4649
github.com/emicklei/go-restful/v3 v3.13.0 // indirect
4750
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
4851
github.com/felixge/httpsnoop v1.0.4 // indirect
4952
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
5053
github.com/go-logr/stdr v1.2.2 // indirect
5154
github.com/go-logr/zapr v1.3.0 // indirect
52-
github.com/go-openapi/jsonpointer v0.21.2 // indirect
53-
github.com/go-openapi/jsonreference v0.21.0 // indirect
54-
github.com/go-openapi/swag v0.23.1 // indirect
55+
github.com/go-openapi/jsonpointer v0.22.0 // indirect
56+
github.com/go-openapi/jsonreference v0.21.1 // indirect
57+
github.com/go-openapi/swag v0.24.1 // indirect
58+
github.com/go-openapi/swag/cmdutils v0.24.0 // indirect
59+
github.com/go-openapi/swag/conv v0.24.0 // indirect
60+
github.com/go-openapi/swag/fileutils v0.24.0 // indirect
61+
github.com/go-openapi/swag/jsonname v0.24.0 // indirect
62+
github.com/go-openapi/swag/jsonutils v0.24.0 // indirect
63+
github.com/go-openapi/swag/loading v0.24.0 // indirect
64+
github.com/go-openapi/swag/mangling v0.24.0 // indirect
65+
github.com/go-openapi/swag/netutils v0.24.0 // indirect
66+
github.com/go-openapi/swag/stringutils v0.24.0 // indirect
67+
github.com/go-openapi/swag/typeutils v0.24.0 // indirect
68+
github.com/go-openapi/swag/yamlutils v0.24.0 // indirect
5569
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
5670
github.com/gogo/protobuf v1.3.2 // indirect
71+
github.com/golang/protobuf v1.5.4 // indirect
5772
github.com/google/btree v1.1.3 // indirect
58-
github.com/google/cel-go v0.26.0 // indirect
73+
github.com/google/cel-go v0.26.1 // indirect
5974
github.com/google/gnostic-models v0.7.0 // indirect
6075
github.com/google/go-cmp v0.7.0 // indirect
6176
github.com/google/uuid v1.6.0 // indirect
6277
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
63-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect
78+
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
79+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect
6480
github.com/inconshreveable/mousetrap v1.1.0 // indirect
6581
github.com/josharian/intern v1.0.0 // indirect
6682
github.com/json-iterator/go v1.1.12 // indirect
83+
github.com/kylelemons/godebug v1.1.0 // indirect
6784
github.com/mailru/easyjson v0.9.0 // indirect
6885
github.com/moby/spdystream v0.5.0 // indirect
6986
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
70-
github.com/modern-go/reflect2 v1.0.2 // indirect
87+
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
7188
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
7289
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
7390
github.com/opencontainers/go-digest v1.0.0 // indirect
7491
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
7592
github.com/pmezard/go-difflib v1.0.0 // indirect
76-
github.com/prometheus/client_golang v1.23.0 // indirect
93+
github.com/prometheus/client_golang v1.23.2 // indirect
7794
github.com/prometheus/client_model v0.6.2 // indirect
78-
github.com/prometheus/common v0.65.0 // indirect
95+
github.com/prometheus/common v0.66.1 // indirect
7996
github.com/prometheus/procfs v0.17.0 // indirect
80-
github.com/sagikazarmark/locafero v0.10.0 // indirect
97+
github.com/sagikazarmark/locafero v0.11.0 // indirect
8198
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect
82-
github.com/spf13/afero v1.14.0 // indirect
83-
github.com/spf13/cast v1.9.2 // indirect
99+
github.com/spf13/afero v1.15.0 // indirect
100+
github.com/spf13/cast v1.10.0 // indirect
84101
github.com/stoewer/go-strcase v1.3.1 // indirect
85102
github.com/subosito/gotenv v1.6.0 // indirect
86103
github.com/x448/float16 v0.8.4 // indirect
104+
go.etcd.io/etcd/api/v3 v3.6.4 // indirect
105+
go.etcd.io/etcd/client/pkg/v3 v3.6.4 // indirect
106+
go.etcd.io/etcd/client/v3 v3.6.4 // indirect
87107
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
88-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 // indirect
89-
go.opentelemetry.io/otel v1.37.0 // indirect
90-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 // indirect
91-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 // indirect
92-
go.opentelemetry.io/otel/metric v1.37.0 // indirect
93-
go.opentelemetry.io/otel/sdk v1.37.0 // indirect
94-
go.opentelemetry.io/otel/trace v1.37.0 // indirect
95-
go.opentelemetry.io/proto/otlp v1.7.1 // indirect
108+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 // indirect
109+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 // indirect
110+
go.opentelemetry.io/otel v1.38.0 // indirect
111+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 // indirect
112+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 // indirect
113+
go.opentelemetry.io/otel/metric v1.38.0 // indirect
114+
go.opentelemetry.io/otel/sdk v1.38.0 // indirect
115+
go.opentelemetry.io/otel/trace v1.38.0 // indirect
116+
go.opentelemetry.io/proto/otlp v1.8.0 // indirect
96117
go.uber.org/multierr v1.11.0 // indirect
97118
go.uber.org/zap v1.27.0 // indirect
98119
go.yaml.in/yaml/v2 v2.4.2 // indirect
99120
go.yaml.in/yaml/v3 v3.0.4 // indirect
100-
golang.org/x/exp v0.0.0-20250813145105-42675adae3e6 // indirect
101-
golang.org/x/oauth2 v0.30.0 // indirect
102-
golang.org/x/sync v0.16.0 // indirect
103-
golang.org/x/sys v0.35.0 // indirect
104-
golang.org/x/term v0.34.0 // indirect
105-
golang.org/x/text v0.28.0 // indirect
106-
golang.org/x/time v0.12.0 // indirect
121+
golang.org/x/crypto v0.42.0 // indirect
122+
golang.org/x/exp v0.0.0-20250819193227-8b4c13bb791b // indirect
123+
golang.org/x/oauth2 v0.31.0 // indirect
124+
golang.org/x/sync v0.17.0 // indirect
125+
golang.org/x/sys v0.36.0 // indirect
126+
golang.org/x/term v0.35.0 // indirect
127+
golang.org/x/text v0.29.0 // indirect
128+
golang.org/x/time v0.13.0 // indirect
107129
gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect
108-
google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c // indirect
109-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c // indirect
110-
google.golang.org/grpc v1.74.2 // indirect
111-
google.golang.org/protobuf v1.36.7 // indirect
130+
google.golang.org/genproto/googleapis/api v0.0.0-20250908214217-97024824d090 // indirect
131+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250908214217-97024824d090 // indirect
132+
google.golang.org/grpc v1.75.1 // indirect
133+
google.golang.org/protobuf v1.36.9 // indirect
112134
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
113135
gopkg.in/inf.v0 v0.9.1 // indirect
136+
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
114137
gopkg.in/yaml.v2 v2.4.0 // indirect
115138
gopkg.in/yaml.v3 v3.0.1 // indirect
116-
k8s.io/apiserver v0.33.4 // indirect
117-
k8s.io/component-base v0.33.4 // indirect
139+
k8s.io/apiserver v0.34.1 // indirect
140+
k8s.io/component-base v0.34.1 // indirect
118141
k8s.io/klog/v2 v2.130.1 // indirect
119-
k8s.io/kube-openapi v0.0.0-20250701173324-9bd5c66d9911 // indirect
142+
k8s.io/kms v0.34.1 // indirect
143+
k8s.io/kube-openapi v0.0.0-20250909170358-d67c058d9372 // indirect
120144
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.33.0 // indirect
121145
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
122146
sigs.k8s.io/randfill v1.0.0 // indirect
123147
sigs.k8s.io/structured-merge-diff/v4 v4.7.0 // indirect
148+
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
124149
sigs.k8s.io/yaml v1.6.0 // indirect
125150
)

0 commit comments

Comments
 (0)