Skip to content

Commit 965c132

Browse files
committed
WIP
On-behalf-of: @SAP christoph.mewes@sap.com
1 parent f026310 commit 965c132

8 files changed

Lines changed: 581 additions & 174 deletions

File tree

Makefile

Lines changed: 69 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -15,30 +15,24 @@
1515
# We need bash for some conditional logic below.
1616
SHELL := /usr/bin/env bash -e
1717

18-
GO_INSTALL = ./hack/go-install.sh
19-
2018
ROOT_DIR=$(abspath .)
2119
TOOLS_DIR=hack/tools
22-
TOOLS_GOBIN_DIR := $(abspath $(TOOLS_DIR))
23-
GOBIN_DIR=$(abspath ./bin )
24-
PATH := $(GOBIN_DIR):$(TOOLS_GOBIN_DIR):$(PATH)
25-
TMPDIR := $(shell mktemp -d)
20+
BUILD_DIR=bin
21+
ABS_TOOLS_DIR := $(abspath $(TOOLS_DIR))
22+
ABS_BUILD_DIR=$(abspath $(BUILD_DIR))
23+
PATH := $(ABS_BUILD_DIR):$(ABS_TOOLS_DIR):$(PATH)
24+
25+
export UGET_DIRECTORY = $(TOOLS_DIR)
26+
export UGET_CHECKSUMS = hack/tools.checksums
2627

2728
# Image build configuration
2829
# REV is the short git sha of latest commit.
2930
REV ?= $(shell git rev-parse --short HEAD)
3031
IMAGE_REPO ?= kube-bind
3132

32-
# Detect the path used for the install target
33-
ifeq (,$(shell go env GOBIN))
34-
INSTALL_GOBIN=$(shell go env GOPATH)/bin
35-
else
36-
INSTALL_GOBIN=$(shell go env GOBIN)
37-
endif
38-
3933
CONTROLLER_GEN_VER := v0.17.3
4034
CONTROLLER_GEN_BIN := controller-gen
41-
CONTROLLER_GEN := $(TOOLS_DIR)/$(CONTROLLER_GEN_BIN)-$(CONTROLLER_GEN_VER)
35+
CONTROLLER_GEN := $(TOOLS_DIR)/$(CONTROLLER_GEN_BIN)
4236
export CONTROLLER_GEN # so hack scripts can use it
4337

4438
KUBE_CLIENT_GEN_VER := v0.32.0
@@ -50,46 +44,46 @@ KUBE_INFORMER_GEN_BIN := informer-gen
5044
KUBE_APPLYCONFIGURATION_GEN_VER := v0.32.0
5145
KUBE_APPLYCONFIGURATION_GEN_BIN := applyconfiguration-gen
5246

53-
KUBE_CLIENT_GEN := $(GOBIN_DIR)/$(KUBE_CLIENT_GEN_BIN)-$(KUBE_CLIENT_GEN_VER)
47+
KUBE_CLIENT_GEN := $(ABS_BUILD_DIR)/$(KUBE_CLIENT_GEN_BIN)
5448
export KUBE_CLIENT_GEN
55-
KUBE_LISTER_GEN := $(GOBIN_DIR)/$(KUBE_LISTER_GEN_BIN)-$(KUBE_LISTER_GEN_VER)
49+
KUBE_LISTER_GEN := $(ABS_BUILD_DIR)/$(KUBE_LISTER_GEN_BIN)
5650
export KUBE_LISTER_GEN
57-
KUBE_INFORMER_GEN := $(GOBIN_DIR)/$(KUBE_INFORMER_GEN_BIN)-$(KUBE_INFORMER_GEN_VER)
51+
KUBE_INFORMER_GEN := $(ABS_BUILD_DIR)/$(KUBE_INFORMER_GEN_BIN)
5852
export KUBE_INFORMER_GEN
59-
KUBE_APPLYCONFIGURATION_GEN := $(GOBIN_DIR)/$(KUBE_APPLYCONFIGURATION_GEN_BIN)-$(KUBE_APPLYCONFIGURATION_GEN_VER)
53+
KUBE_APPLYCONFIGURATION_GEN := $(ABS_BUILD_DIR)/$(KUBE_APPLYCONFIGURATION_GEN_BIN)
6054
export KUBE_APPLYCONFIGURATION_GEN
6155

6256
YAML_PATCH_VER ?= v0.0.11
6357
YAML_PATCH_BIN := yaml-patch
64-
YAML_PATCH := $(TOOLS_DIR)/$(YAML_PATCH_BIN)-$(YAML_PATCH_VER)
58+
YAML_PATCH := $(TOOLS_DIR)/$(YAML_PATCH_BIN)
6559
export YAML_PATCH # so hack scripts can use it
6660

67-
GOLANGCI_LINT_VER := v2.1.6
61+
GOLANGCI_LINT_VER := 2.1.6
6862
GOLANGCI_LINT_BIN := golangci-lint
69-
GOLANGCI_LINT := $(TOOLS_GOBIN_DIR)/$(GOLANGCI_LINT_BIN)-$(GOLANGCI_LINT_VER)
63+
GOLANGCI_LINT := $(ABS_TOOLS_DIR)/$(GOLANGCI_LINT_BIN)
7064

7165
GOTESTSUM_VER := v1.8.1
7266
GOTESTSUM_BIN := gotestsum
73-
GOTESTSUM := $(abspath $(TOOLS_DIR))/$(GOTESTSUM_BIN)-$(GOTESTSUM_VER)
67+
GOTESTSUM := $(abspath $(TOOLS_DIR))/$(GOTESTSUM_BIN)
7468

7569
LOGCHECK_VER := v0.2.0
7670
LOGCHECK_BIN := logcheck
77-
LOGCHECK := $(TOOLS_GOBIN_DIR)/$(LOGCHECK_BIN)-$(LOGCHECK_VER)
71+
LOGCHECK := $(ABS_TOOLS_DIR)/$(LOGCHECK_BIN)
7872
export LOGCHECK # so hack scripts can use it
7973

8074
CODE_GENERATOR_VER := v2.4.0
8175
CODE_GENERATOR_BIN := code-generator
82-
CODE_GENERATOR := $(TOOLS_GOBIN_DIR)/$(CODE_GENERATOR_BIN)-$(CODE_GENERATOR_VER)
76+
CODE_GENERATOR := $(ABS_TOOLS_DIR)/$(CODE_GENERATOR_BIN)
8377
export CODE_GENERATOR # so hack scripts can use it
8478

85-
KCP_VER := v0.28.3
79+
KCP_VER := 0.28.3
8680
KCP_BIN := kcp
87-
KCP := $(TOOLS_GOBIN_DIR)/$(KCP_BIN)-$(KCP_VER)
81+
KCP := $(ABS_TOOLS_DIR)/$(KCP_BIN)
8882
KCP_CMD ?= $(KCP)
8983

9084
DEX_VER := v2.43.1
9185
DEX_BIN := dex
92-
DEX := $(TOOLS_GOBIN_DIR)/$(DEX_BIN)-$(DEX_VER)
86+
DEX := $(ABS_TOOLS_DIR)/$(DEX_BIN)
9387

9488
ARCH := $(shell go env GOARCH)
9589
OS := $(shell go env GOOS)
@@ -132,12 +126,16 @@ ldflags:
132126
require-%:
133127
@if ! command -v $* 1> /dev/null 2>&1; then echo "$* not found in \$$PATH"; exit 1; fi
134128

129+
.PHONY: clean
130+
clean: ## Remove all build artifacts
131+
rm -rf $(BUILD_DIR) $(TOOLS_DIR)
132+
135133
build: WHAT ?= ./cmd/... ./cli/cmd/... ./contrib/kcp/cmd/kcp-init/...
136134
build: require-jq require-go require-git verify-go-versions ## Build the project
137-
mkdir -p $(GOBIN_DIR)
135+
mkdir -p $(BUILD_DIR)
138136
set -x; for W in $(WHAT); do \
139137
pushd . && cd $${W%..}; \
140-
GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build $(BUILDFLAGS) -ldflags="$(LDFLAGS)" -o $(GOBIN_DIR) ./...; \
138+
GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build $(BUILDFLAGS) -ldflags="$(LDFLAGS)" -o $(BUILD_DIR) ./...; \
141139
popd; \
142140
done
143141
.PHONY: build
@@ -147,15 +145,17 @@ install: ## install binaries to GOBIN
147145
GOOS=$(OS) GOARCH=$(ARCH) go install -ldflags="$(LDFLAGS)" $(WHAT)
148146
.PHONY: install
149147

150-
151148
$(GOLANGCI_LINT):
152-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) github.com/golangci/golangci-lint/v2/cmd/golangci-lint $(GOLANGCI_LINT_BIN) $(GOLANGCI_LINT_VER)
149+
@hack/uget.sh \
150+
https://github.com/golangci/golangci-lint/releases/download/v{VERSION}/golangci-lint-{VERSION}-{GOOS}-{GOARCH}.tar.gz \
151+
${GOLANGCI_LINT_BIN} \
152+
${GOLANGCI_LINT_VER}
153153

154154
$(LOGCHECK):
155-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) sigs.k8s.io/logtools/logcheck $(LOGCHECK_BIN) $(LOGCHECK_VER)
155+
@GO_MODULE=true hack/uget.sh sigs.k8s.io/logtools/logcheck ${LOGCHECK_BIN} $(LOGCHECK_VER)
156156

157157
$(CODE_GENERATOR):
158-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) github.com/kcp-dev/code-generator/v2 $(CODE_GENERATOR_BIN) $(CODE_GENERATOR_VER)
158+
@GO_MODULE=true hack/uget.sh github.com/kcp-dev/code-generator/v2 ${CODE_GENERATOR_BIN} $(CODE_GENERATOR_VER)
159159

160160
lint: $(GOLANGCI_LINT) $(LOGCHECK) ## Run golangci-lint
161161
@if [ -n "$(WHAT)" ]; then \
@@ -180,23 +180,30 @@ tools: $(GOLANGCI_LINT) $(CONTROLLER_GEN) $(YAML_PATCH) $(GOTESTSUM) $(CODE_GENE
180180
.PHONY: tools
181181

182182
$(CONTROLLER_GEN):
183-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) sigs.k8s.io/controller-tools/cmd/controller-gen $(CONTROLLER_GEN_BIN) $(CONTROLLER_GEN_VER)
183+
@UNCOMPRESSED=true hack/uget.sh \
184+
https://github.com/kubernetes-sigs/controller-tools/releases/download/{VERSION}/controller-gen-{GOOS}-{GOARCH} \
185+
${CONTROLLER_GEN_BIN} \
186+
${CONTROLLER_GEN_VER} \
187+
${CONTROLLER_GEN_BIN}*
184188

185189
$(YAML_PATCH):
186-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) github.com/pivotal-cf/yaml-patch/cmd/yaml-patch $(YAML_PATCH_BIN) $(YAML_PATCH_VER)
190+
@GO_MODULE=true hack/uget.sh github.com/pivotal-cf/yaml-patch/cmd/yaml-patch $(YAML_PATCH_BIN) $(YAML_PATCH_VER)
187191

188192
$(GOTESTSUM):
189-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) gotest.tools/gotestsum $(GOTESTSUM_BIN) $(GOTESTSUM_VER)
193+
@hack/uget.sh \
194+
https://github.com/gotestyourself/gotestsum/releases/download/v{VERSION}/gotestsum_{VERSION}_{GOOS}_{GOARCH}.tar.gz \
195+
${GOTESTSUM_BIN} \
196+
${GOTESTSUM_VER} \
197+
${GOTESTSUM_BIN}
190198

191199
$(KUBE_CLIENT_GEN):
192-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_CLIENT_GEN_BIN) $(KUBE_CLIENT_GEN_BIN) $(KUBE_CLIENT_GEN_VER)
200+
@GO_MODULE=true hack/uget.sh k8s.io/code-generator/cmd/$(KUBE_CLIENT_GEN_BIN) $(KUBE_CLIENT_GEN_BIN) $(KUBE_CLIENT_GEN_VER)
193201
$(KUBE_LISTER_GEN):
194-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_LISTER_GEN_BIN) $(KUBE_LISTER_GEN_BIN) $(KUBE_LISTER_GEN_VER)
202+
@GO_MODULE=true hack/uget.sh k8s.io/code-generator/cmd/$(KUBE_LISTER_GEN_BIN) $(KUBE_LISTER_GEN_BIN) $(KUBE_LISTER_GEN_VER)
195203
$(KUBE_INFORMER_GEN):
196-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_INFORMER_GEN_BIN) $(KUBE_INFORMER_GEN_BIN) $(KUBE_INFORMER_GEN_VER)
204+
@GO_MODULE=true hack/uget.sh k8s.io/code-generator/cmd/$(KUBE_INFORMER_GEN_BIN) $(KUBE_INFORMER_GEN_BIN) $(KUBE_INFORMER_GEN_VER)
197205
$(KUBE_APPLYCONFIGURATION_GEN):
198-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_APPLYCONFIGURATION_GEN_BIN) $(KUBE_APPLYCONFIGURATION_GEN_BIN) $(KUBE_APPLYCONFIGURATION_GEN_VER)
199-
206+
@GO_MODULE=true hack/uget.sh k8s.io/code-generator/cmd/$(KUBE_APPLYCONFIGURATION_GEN_BIN) $(KUBE_APPLYCONFIGURATION_GEN_BIN) $(KUBE_APPLYCONFIGURATION_GEN_VER)
200207

201208
codegen: $(CONTROLLER_GEN) $(YAML_PATCH) $(CODE_GENERATOR) $(KUBE_CLIENT_GEN) $(KUBE_LISTER_GEN) $(KUBE_INFORMER_GEN) $(KUBE_APPLYCONFIGURATION_GEN) ## Generate code
202209
go mod download
@@ -232,13 +239,15 @@ imports: $(GOLANGCI_LINT) verify-go-versions ## Fix imports and format code
232239
fi
233240

234241
$(TOOLS_DIR)/verify_boilerplate.py:
235-
mkdir -p $(TOOLS_DIR)
236-
curl --fail --retry 3 -L -o $(TOOLS_DIR)/verify_boilerplate.py https://raw.githubusercontent.com/kubernetes/repo-infra/master/hack/verify_boilerplate.py
237-
chmod +x $(TOOLS_DIR)/verify_boilerplate.py
242+
@UNCOMPRESSED=true hack/uget.sh \
243+
https://raw.githubusercontent.com/kubernetes/repo-infra/master/hack/verify_boilerplate.py \
244+
verify_boilerplate.py \
245+
201dcad9616c117927232ee0bc499ff38a27023e \
246+
verify_boilerplate.py
238247

239248
.PHONY: verify-boilerplate
240249
verify-boilerplate: $(TOOLS_DIR)/verify_boilerplate.py
241-
$(TOOLS_DIR)/verify_boilerplate.py --boilerplate-dir=hack/boilerplate --skip dex
250+
$(TOOLS_DIR)/verify_boilerplate.py --boilerplate-dir=hack/boilerplate --skip dex --skip hack/uget.sh
242251

243252
ifdef ARTIFACT_DIR
244253
GOTESTSUM_ARGS += --junitfile=$(ARTIFACT_DIR)/junit.xml
@@ -257,22 +266,25 @@ else
257266
E2E_PARALLELISM_FLAG :=
258267
endif
259268

269+
# dex does not publish binaries for their releases, and their go.mod file
270+
# is missing "/v2" and so dex cannot be installed as a Go dependency. Cloning
271+
# the repo and building it by hand is the best of the worst approaches remaining.
272+
DEX_TMP_DIR = $(TOOLS_DIR)/dex-clone-$(DEX_VER)
260273
$(DEX):
261274
mkdir -p $(TOOLS_DIR)
262-
git clone --branch $(DEX_VER) --depth 1 https://github.com/dexidp/dex $(TOOLS_DIR)/dex-clone-$(DEX_VER) || true
263-
cd $(TOOLS_DIR)/dex-clone-$(DEX_VER) && GOWORK=off make build
264-
cp -a $(TOOLS_DIR)/dex-clone-$(DEX_VER)/bin/dex $(DEX)
265-
ln -sf $(DEX) $(TOOLS_GOBIN_DIR)/dex
275+
git clone --branch $(DEX_VER) --depth 1 https://github.com/dexidp/dex $(DEX_TMP_DIR) || true
276+
cd $(DEX_TMP_DIR) && GOWORK=off make build
277+
cp -a $(DEX_TMP_DIR)/bin/dex $(DEX)
278+
rm -rf $(DEX_TMP_DIR)
266279

267280
run-dex: $(DEX)
268281
$(DEX) serve hack/dex-config-dev.yaml
269282

270283
$(KCP):
271-
mkdir -p $(TOOLS_DIR)
272-
curl --fail --retry 3 -L "https://github.com/kcp-dev/kcp/releases/download/$(KCP_VER)/kcp_$(KCP_VER:v%=%)_$(OS)_$(ARCH).tar.gz" | \
273-
tar xz -C "$(TOOLS_DIR)" --strip-components="1" bin/kcp
274-
mv $(TOOLS_DIR)/kcp $(KCP)
275-
ln -sf $(KCP) $(TOOLS_GOBIN_DIR)/kcp
284+
@hack/uget.sh \
285+
https://github.com/kcp-dev/kcp/releases/download/v{VERSION}/kcp_{VERSION}_{GOOS}_{GOARCH}.tar.gz \
286+
$(KCP_BIN) \
287+
$(KCP_VER)
276288

277289
run-kcp: $(KCP)
278290
$(KCP_CMD) start --bind-address=127.0.0.1
@@ -375,7 +387,7 @@ deploy-docs: venv ## Deploy docs
375387
. $(VENV)/activate; \
376388
REMOTE=$(REMOTE) BRANCH=$(BRANCH) docs/scripts/deploy-docs.sh
377389

378-
# Example: make IMAGE_REPO=ghcr.io/<username> image-local
390+
# Example: make IMAGE_REPO=ghcr.io/<username> image-local
379391
.PHONY: image-local
380392
image-local:
381393
@echo "Building images locally with tag $(REV)"
@@ -410,7 +422,7 @@ kind-load:
410422
helm-build-local: ## Build and package Helm charts locally for testing
411423
@echo "Building Helm charts locally..."
412424
@command -v helm >/dev/null 2>&1 || { echo "helm not found. Install from: https://helm.sh/docs/intro/install/"; exit 1; }
413-
425+
414426
@# Set chart version to semver format for local builds (0.0.0-<git-sha>)
415427
CHART_VERSION="0.0.0-$(REV)"; \
416428
for chart_dir in deploy/charts/*/; do \
@@ -439,7 +451,7 @@ helm-clean: ## Clean up built helm charts
439451
helm-push-local: ## Push Helm charts to IMAGE_REPO registry
440452
@echo "Pushing Helm charts to registry: $(IMAGE_REPO)"
441453
@command -v helm >/dev/null 2>&1 || { echo "helm not found. Install from: https://helm.sh/docs/intro/install/"; exit 1; }
442-
454+
443455
CHART_VERSION="0.0.0-$(REV)"; \
444456
export HELM_EXPERIMENTAL_OCI=1; \
445457
for chart_file in ./bin/*-$$CHART_VERSION.tgz; do \

contrib/kcp/Makefile

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,17 @@
1616
SHELL := /usr/bin/env bash -e
1717

1818
ROOT_DIR=$(abspath ../..)
19-
GO_INSTALL = $(ROOT_DIR)/hack/go-install.sh
20-
TOOLS_GOBIN_DIR = $(ROOT_DIR)/hack/tools
21-
GOBIN_DIR = $(ROOT_DIR)/bin
22-
PATH := $(GOBIN_DIR):$(TOOLS_GOBIN_DIR):$(PATH)
23-
TMPDIR := $(shell mktemp -d)
24-
25-
# Detect the path used for the install target
26-
ifeq (,$(shell go env GOBIN))
27-
INSTALL_GOBIN=$(shell go env GOPATH)/bin
28-
else
29-
INSTALL_GOBIN=$(shell go env GOBIN)
30-
endif
19+
UGET = $(ROOT_DIR)/hack/uget.sh
20+
ABS_TOOLS_DIR = $(ROOT_DIR)/hack/tools
21+
ABS_BUILD_DIR = $(ROOT_DIR)/bin
22+
PATH := $(ABS_BUILD_DIR):$(ABS_TOOLS_DIR):$(PATH)
3123

24+
export UGET_DIRECTORY = $(ABS_TOOLS_DIR)
25+
export UGET_CHECKSUMS = $(ROOT_DIR)/hack/tools.checksums
3226

3327
KCP_APIGEN_VER := v0.28.0
3428
KCP_APIGEN_BIN := apigen
35-
KCP_APIGEN_GEN := $(TOOLS_GOBIN_DIR)/$(KCP_APIGEN_BIN)-$(KCP_APIGEN_VER)
29+
KCP_APIGEN_GEN := $(ABS_TOOLS_DIR)/$(KCP_APIGEN_BIN)
3630
export KCP_APIGEN_GEN # so hack scripts can use it
3731

3832
all: build
@@ -44,7 +38,7 @@ require-%:
4438

4539
# KCP tool installation targets
4640
$(KCP_APIGEN_GEN):
47-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) github.com/kcp-dev/kcp/sdk/cmd/apigen $(KCP_APIGEN_BIN) $(KCP_APIGEN_VER)
41+
@GO_MODULE=true $(UGET) github.com/kcp-dev/kcp/sdk/cmd/apigen $(KCP_APIGEN_BIN) $(KCP_APIGEN_VER)
4842

4943
# KCP runtime targets
5044
run-kcp: $(KCP) ## Start KCP server

go.mod

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ require (
1616
github.com/gorilla/mux v1.8.0
1717
github.com/gorilla/securecookie v1.1.1
1818
github.com/headzoo/surf v1.0.1
19-
github.com/kcp-dev/code-generator/v3 v3.0.0-20250707080944-4094fb87e20f
2019
github.com/kcp-dev/kcp/pkg/apis v0.11.0
2120
github.com/kcp-dev/kcp/sdk v0.28.1
2221
github.com/kcp-dev/multicluster-provider v0.2.1-0.20251002133408-9a8d21dc2872
@@ -41,7 +40,6 @@ require (
4140
k8s.io/klog/v2 v2.130.1
4241
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
4342
sigs.k8s.io/controller-runtime v0.21.0
44-
sigs.k8s.io/controller-tools v0.16.1
4543
sigs.k8s.io/multicluster-runtime v0.21.0-alpha.9.0.20251002124257-36facc7fbe82
4644
sigs.k8s.io/yaml v1.4.0
4745
)
@@ -55,15 +53,13 @@ require (
5553
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
5654
github.com/beorn7/perks v1.0.1 // indirect
5755
github.com/blang/semver/v4 v4.0.0 // indirect
58-
github.com/bombsimon/logrusr/v3 v3.1.0 // indirect
5956
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
6057
github.com/cespare/xxhash/v2 v2.3.0 // indirect
6158
github.com/coreos/go-semver v0.3.1 // indirect
6259
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
6360
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
6461
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
6562
github.com/evanphx/json-patch v5.9.11+incompatible // indirect
66-
github.com/fatih/color v1.18.0 // indirect
6763
github.com/felixge/httpsnoop v1.0.4 // indirect
6864
github.com/fsnotify/fsnotify v1.7.0 // indirect
6965
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
@@ -75,7 +71,6 @@ require (
7571
github.com/go-openapi/jsonpointer v0.21.0 // indirect
7672
github.com/go-openapi/jsonreference v0.21.0 // indirect
7773
github.com/go-openapi/swag v0.23.0 // indirect
78-
github.com/gobuffalo/flect v1.0.2 // indirect
7974
github.com/gogo/protobuf v1.3.2 // indirect
8075
github.com/golang/protobuf v1.5.4 // indirect
8176
github.com/google/btree v1.1.3 // indirect
@@ -95,8 +90,6 @@ require (
9590
github.com/kylelemons/godebug v1.1.0 // indirect
9691
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
9792
github.com/mailru/easyjson v0.9.0 // indirect
98-
github.com/mattn/go-colorable v0.1.13 // indirect
99-
github.com/mattn/go-isatty v0.0.20 // indirect
10093
github.com/mdp/qrterminal/v3 v3.2.0 // indirect
10194
github.com/moby/term v0.5.0 // indirect
10295
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
@@ -111,7 +104,6 @@ require (
111104
github.com/prometheus/client_model v0.6.1 // indirect
112105
github.com/prometheus/common v0.62.0 // indirect
113106
github.com/prometheus/procfs v0.15.1 // indirect
114-
github.com/sirupsen/logrus v1.9.3 // indirect
115107
github.com/stoewer/go-strcase v1.3.0 // indirect
116108
github.com/vmihailenco/tagparser v0.1.1 // indirect
117109
github.com/x448/float16 v0.8.4 // indirect
@@ -149,7 +141,6 @@ require (
149141
google.golang.org/protobuf v1.36.5 // indirect
150142
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
151143
gopkg.in/inf.v0 v0.9.1 // indirect
152-
gopkg.in/yaml.v2 v2.4.0 // indirect
153144
k8s.io/gengo/v2 v2.0.0-20250207200755-1244d31929d7 // indirect
154145
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
155146
rsc.io/qr v0.2.0 // indirect

0 commit comments

Comments
 (0)