@@ -48,9 +48,14 @@ SIDECAR_TAG ?= cosi-provisioner-sidecar:latest
48
48
# #@ Development
49
49
50
50
.PHONY : generate
51
- generate : controller/Dockerfile sidecar/Dockerfile # # Generate files
51
+ generate : crd-ref-docs controller/Dockerfile sidecar/Dockerfile # # Generate files
52
52
$(MAKE ) -C client crds
53
53
$(MAKE ) -C proto generate
54
+ $(CRD_REF_DOCS ) \
55
+ --config=./docs/.crd-ref-docs.yaml \
56
+ --source-path=./client/apis \
57
+ --renderer=markdown \
58
+ --output-path=./docs/src/api/
54
59
% /Dockerfile : hack/Dockerfile.in hack/gen-dockerfile.sh
55
60
hack/gen-dockerfile.sh $* > " $@ "
56
61
@@ -107,6 +112,16 @@ build.controller: controller/Dockerfile ## Build only the controller container i
107
112
build.sidecar : sidecar/Dockerfile # # Build only the sidecar container image
108
113
$(DOCKER ) build --file sidecar/Dockerfile --platform $(PLATFORM ) $(BUILD_ARGS ) --tag $(SIDECAR_TAG ) .
109
114
115
+ .PHONY : build-docs
116
+ build-docs : generate mdbook
117
+ cd docs; $(MDBOOK ) build
118
+
119
+ MDBOOK_PORT ?= 3000
120
+
121
+ .PHONY : serve-docs
122
+ serve-docs : generate mdbook build-docs
123
+ cd docs; $(MDBOOK ) serve --port $(MDBOOK_PORT )
124
+
110
125
.PHONY : clean
111
126
clean : # # Clean build environment
112
127
$(MAKE ) -C proto clean
@@ -121,11 +136,11 @@ clobber: ## Clean build environment and cached tools
121
136
122
137
.PHONY : cluster
123
138
cluster : kind ctlptl # # Create Kind cluster and local registry
124
- $(CTLPTL ) apply -f ctlptl.yaml
139
+ PATH= $( TOOLBIN ) : $( PATH ) $(CTLPTL ) apply -f ctlptl.yaml
125
140
126
141
.PHONY : cluster-reset
127
142
cluster-reset : kind ctlptl # # Delete Kind cluster
128
- $(CTLPTL ) delete -f ctlptl.yaml
143
+ PATH= $( TOOLBIN ) : $( PATH ) $(CTLPTL ) delete -f ctlptl.yaml
129
144
130
145
.PHONY : deploy
131
146
deploy : kustomize # # Deploy controller to the K8s cluster specified in ~/.kube/config
@@ -145,44 +160,58 @@ $(TOOLBIN):
145
160
mkdir -p $(TOOLBIN )
146
161
147
162
# Tool Binaries
148
- CHAINSAW ?= $(TOOLBIN ) /chainsaw
149
- CTLPTL ?= $(TOOLBIN ) /ctlptl
163
+ CHAINSAW ?= $(TOOLBIN ) /chainsaw
164
+ CRD_REF_DOCS ?= $(TOOLBIN ) /crd-ref-docs
165
+ CTLPTL ?= $(TOOLBIN ) /ctlptl
150
166
GOLANGCI_LINT ?= $(TOOLBIN ) /golangci-lint
151
- KIND ?= $(TOOLBIN ) /kind
152
- KUSTOMIZE ?= $(TOOLBIN ) /kustomize
167
+ KIND ?= $(TOOLBIN ) /kind
168
+ KUSTOMIZE ?= $(TOOLBIN ) /kustomize
169
+ MDBOOK ?= $(TOOLBIN ) /mdbook
153
170
154
171
# Tool Versions
155
- CHAINSAW_VERSION ?= $(shell grep 'github.com/kyverno/chainsaw ' ./hack/tools/go.mod | cut -d ' ' -f 2)
156
- CTLPTL_VERSION ?= $(shell grep 'github.com/tilt-dev/ctlptl ' ./hack/tools/go.mod | cut -d ' ' -f 2)
157
- GOLANGCI_LINT_VERSION ?= $(shell grep 'github.com/golangci/golangci-lint ' ./hack/tools/go.mod | cut -d ' ' -f 2)
158
- KIND_VERSION ?= $(shell grep 'sigs.k8s.io/kind ' ./hack/tools/go.mod | cut -d ' ' -f 2)
159
- KUSTOMIZE_VERSION ?= $(shell grep 'sigs.k8s.io/kustomize/kustomize/v5 ' ./hack/tools/go.mod | cut -d ' ' -f 2)
172
+ CHAINSAW_VERSION ?= v0.2.12
173
+ CRD_REF_DOCS_VERSION ?= v0.1.0
174
+ CTLPTL_VERSION ?= v0.8.39
175
+ GOLANGCI_LINT_VERSION ?= v1.64.7
176
+ KIND_VERSION ?= v0.27.0
177
+ KUSTOMIZE_VERSION ?= v5.6.0
178
+ MDBOOK_VERSION ?= v0.4.47
160
179
161
180
.PHONY : chainsaw
162
- chainsaw : $(CHAINSAW )$(CHAINSAW_VERSION )
163
- $(CHAINSAW )$(CHAINSAW_VERSION ) : $(TOOLBIN )
181
+ chainsaw : $(CHAINSAW ) - $(CHAINSAW_VERSION )
182
+ $(CHAINSAW ) - $(CHAINSAW_VERSION ) : $(TOOLBIN )
164
183
$(call go-install-tool,$(CHAINSAW ) ,github.com/kyverno/chainsaw,$(CHAINSAW_VERSION ) )
165
184
185
+ .PHONY : crd-ref-docs
186
+ crd-ref-docs : $(CRD_REF_DOCS ) -$(CRD_REF_DOCS_VERSION )
187
+ $(CRD_REF_DOCS ) -$(CRD_REF_DOCS_VERSION ) : $(TOOLBIN )
188
+ $(call go-install-tool,$(CRD_REF_DOCS ) ,github.com/elastic/crd-ref-docs,$(CRD_REF_DOCS_VERSION ) )
189
+
166
190
.PHONY : ctlptl
167
- ctlptl : $(CTLPTL )$(CTLPTL_VERSION )
168
- $(CTLPTL )$(CTLPTL_VERSION ) : $(TOOLBIN )
191
+ ctlptl : $(CTLPTL ) - $(CTLPTL_VERSION )
192
+ $(CTLPTL ) - $(CTLPTL_VERSION ) : $(TOOLBIN )
169
193
$(call go-install-tool,$(CTLPTL ) ,github.com/tilt-dev/ctlptl/cmd/ctlptl,$(CTLPTL_VERSION ) )
170
194
171
195
.PHONY : golangci-lint
172
- golangci-lint : $(GOLANGCI_LINT )$(GOLANGCI_LINT_VERSION )
173
- $(GOLANGCI_LINT )$(GOLANGCI_LINT_VERSION ) : $(TOOLBIN )
174
- $( call go-install-tool, $( GOLANGCI_LINT ) ,github.com/golangci/golangci-lint/cmd/ golangci-lint, $( GOLANGCI_LINT_VERSION ) )
196
+ golangci-lint : $(GOLANGCI_LINT ) - $(GOLANGCI_LINT_VERSION )
197
+ $(GOLANGCI_LINT ) - $(GOLANGCI_LINT_VERSION ) : $(TOOLBIN )
198
+ ./hack/tools/install- golangci-lint.sh $( TOOLBIN ) $( GOLANGCI_LINT ) $( GOLANGCI_LINT_VERSION )
175
199
176
200
.PHONY : kind
177
- kind : $(KIND )$(KIND_VERSION )
178
- $(KIND )$(KIND_VERSION ) : $(TOOLBIN )
201
+ kind : $(KIND ) - $(KIND_VERSION )
202
+ $(KIND ) - $(KIND_VERSION ) : $(TOOLBIN )
179
203
$(call go-install-tool,$(KIND ) ,sigs.k8s.io/kind,$(KIND_VERSION ) )
180
204
181
205
.PHONY : kustomize
182
- kustomize : $(KUSTOMIZE )$(KUSTOMIZE_VERSION )
183
- $(KUSTOMIZE )$(KUSTOMIZE_VERSION ) : $(TOOLBIN )
206
+ kustomize : $(KUSTOMIZE ) - $(KUSTOMIZE_VERSION )
207
+ $(KUSTOMIZE ) - $(KUSTOMIZE_VERSION ) : $(TOOLBIN )
184
208
$(call go-install-tool,$(KUSTOMIZE ) ,sigs.k8s.io/kustomize/kustomize/v5,$(KUSTOMIZE_VERSION ) )
185
209
210
+ .PHONY : mdbook
211
+ mdbook : $(MDBOOK ) -$(MDBOOK_VERSION )
212
+ $(MDBOOK ) -$(MDBOOK_VERSION ) : $(TOOLBIN )
213
+ ./hack/tools/install-mdbook.sh $(MDBOOK ) $(MDBOOK_VERSION )
214
+
186
215
# go-install-tool will 'go install' any package with custom target and name of binary, if it doesn't exist
187
216
# $1 - target path with name of binary
188
217
# $2 - package url which can be installed
0 commit comments