Skip to content

Commit dc8bf04

Browse files
committed
feat: generate crds from types
1 parent 0b1eb74 commit dc8bf04

13 files changed

+1692
-1562
lines changed

Makefile

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,13 @@ default:
3030
# make nats-server-config-reloader
3131
# make nats-boot-config
3232

33-
generate: fetch-modules pkg/k8scodegen/file-header.txt
34-
rm -rf pkg/jetstream/generated
35-
D="$(codeGeneratorDir)"; : "$${D:=`go list -m -f '{{.Dir}}' k8s.io/code-generator`}"; \
36-
source "$$D/kube_codegen.sh" ; \
37-
kube::codegen::gen_helpers \
38-
--boilerplate pkg/k8scodegen/file-header.txt \
39-
pkg/jetstream/apis; \
40-
kube::codegen::gen_client \
41-
--with-watch \
42-
--with-applyconfig \
43-
--boilerplate pkg/k8scodegen/file-header.txt \
44-
--output-dir pkg/jetstream/generated \
45-
--output-pkg github.com/nats-io/nack/pkg/jetstream/generated \
46-
--one-input-api jetstream/v1beta2 \
47-
pkg/jetstream/apis
33+
.PHONY: manifests
34+
manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects.
35+
$(CONTROLLER_GEN) crd paths=./pkg/jetstream/apis/... output:crd:artifacts:config=deploy/crds/
36+
37+
.PHONY: generate
38+
generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations.
39+
$(CONTROLLER_GEN) object:headerFile="pkg/k8scodegen/file-header.txt" paths="pkg/jetstream/apis/..."
4840

4941
jetstream-controller: $(jetstreamSrc)
5042
go build -race -o $@ \
@@ -198,12 +190,19 @@ endef
198190

199191
ENVTEST ?= $(LOCALBIN)/setup-envtest-$(ENVTEST_VERSION)
200192
ENVTEST_VERSION ?= release-0.20
193+
CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen
194+
CONTROLLER_TOOLS_VERSION ?= v0.17.2
201195

202196
.PHONY: envtest
203197
envtest: $(ENVTEST) ## Download setup-envtest locally if necessary.
204198
$(ENVTEST): $(LOCALBIN)
205199
$(call go-install-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest,$(ENVTEST_VERSION))
206200

201+
.PHONY: controller-gen
202+
controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary.
203+
$(CONTROLLER_GEN): $(LOCALBIN)
204+
$(call go-install-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen,$(CONTROLLER_TOOLS_VERSION))
205+
207206

208207
.PHONY: test
209208
test: envtest

0 commit comments

Comments
 (0)