2
2
# # Generate
3
3
# # --------------------------------------
4
4
5
+ CONTROLLER_GEN := go run sigs.k8s.io/controller-tools/cmd/
[email protected]
6
+ GOFUMPT := go run mvdan.cc/
[email protected]
7
+ KUSTOMIZE := go run sigs.k8s.io/kustomize/kustomize/
[email protected]
8
+
5
9
.PHONY : generate
6
10
generate : generate-go generate-manifests # Generate code, manifests etc.
7
11
8
12
.PHONY : generate-go
9
- generate-go : bin/controller-gen bin/gofumpt # Generate Go code.
10
- controller-gen object:headerFile=" hack/boilerplate/boilerplate.generatego.txt" paths=" ./pkg/apis/..."
11
- gofumpt -w -s ./pkg/apis
13
+ generate-go : # Generate Go code.
14
+ $( CONTROLLER_GEN ) object:headerFile=" hack/boilerplate/boilerplate.generatego.txt" paths=" ./pkg/apis/..."
15
+ $( GOFUMPT ) -w ./pkg/apis
12
16
13
17
.PHONY : generate-manifests
14
18
generate-manifests : generate-crds generate-rbacs generate-server-rbacs # Generate manifests e.g. CRD, RBAC etc.
15
19
16
20
.PHONY : generate-crds
17
- generate-crds : bin/controller-gen
18
- controller-gen \
21
+ generate-crds :
22
+ $( CONTROLLER_GEN ) \
19
23
paths=./pkg/apis/... \
20
24
crd:crdVersions=v1 \
21
25
rbac:roleName=manager-role \
22
26
output:crd:dir=./config/crd/bases \
23
27
output:webhook:dir=./config/webhook \
24
28
webhook
25
- prettier --write ./config/crd/bases
26
29
27
30
.PHONY : generate-rbacs
28
- generate-rbacs : bin/controller-gen
29
- controller-gen \
31
+ generate-rbacs :
32
+ $( CONTROLLER_GEN ) \
30
33
paths=./pkg/controllers/... \
31
34
output:rbac:dir=./config/rbac/ \
32
35
rbac:roleName=manager-role
33
- prettier --write ./config/rbac
34
36
35
37
.PHONY : generate-server-rbacs
36
- generate-server-rbacs : bin/controller-gen
37
- controller-gen \
38
+ generate-server-rbacs :
39
+ $( CONTROLLER_GEN ) \
38
40
paths=./server/... \
39
41
output:rbac:dir=./config/server-rbac \
40
42
rbac:roleName=server-role
41
- prettier --write ./config/server-rbac/
42
43
43
- TINK_SERVER_IMAGE ?= quay.io/tinkerbell/tink-server
44
- TINK_CONTROLLER_IMAGE ?= quay.io/tinkerbell/tink-controller
45
- TINK_SERVER_TAG ?= latest
46
- TINK_CONTROLLER_TAG ?= latest
44
+ TINK_SERVER_IMAGE ?= quay.io/tinkerbell/tink-server
45
+ TINK_SERVER_TAG ?= latest
46
+
47
+ TINK_CONTROLLER_IMAGE ?= quay.io/tinkerbell/tink-controller
48
+ TINK_CONTROLLER_TAG ?= latest
49
+
47
50
NAMESPACE ?= tink-system
48
51
49
52
out/release/default/kustomization.yaml : config/default/kustomization.yaml
@@ -52,11 +55,12 @@ out/release/default/kustomization.yaml: config/default/kustomization.yaml
52
55
cp -a config/ out/release/
53
56
54
57
out/release/tink.yaml : bin/kustomize generate-manifests out/release/default/kustomization.yaml
55
- (cd out/release/default && \
56
- kustomize edit set image server=$(TINK_SERVER_IMAGE ) :$(TINK_CONTROLLER_TAG ) controller=$(TINK_CONTROLLER_IMAGE ) :$(TINK_CONTROLLER_TAG ) && \
57
- kustomize edit set namespace $(NAMESPACE ) \
58
+ (
59
+ cd out/release/default && \
60
+ $(KUSTOMIZE ) edit set image server=$(TINK_SERVER_IMAGE ) :$(TINK_CONTROLLER_TAG ) controller=$(TINK_CONTROLLER_IMAGE ) :$(TINK_CONTROLLER_TAG ) && \
61
+ $(KUSTOMIZE ) edit set namespace $(NAMESPACE ) \
58
62
)
59
- kustomize build out/release/default -o $@
63
+ $( KUSTOMIZE ) build out/release/default -o $@
60
64
prettier --write $@
61
65
62
66
release-manifests : out/release/tink.yaml # # Builds the manifests to publish with a release.
0 commit comments