23
23
$(warning Could not find docker or podman in path! This may result in targets requiring a container runtime failing!)
24
24
endif
25
25
26
- # For standard development and release flows, we use the config/overlays/cert-manager overlay.
27
- KUSTOMIZE_OVERLAY := config/overlays/cert-manager
28
-
29
26
# bingo manages consistent tooling versions for things like kind, kustomize, etc.
30
27
include ./../.bingo/Variables.mk
31
28
@@ -38,14 +35,6 @@ ifeq ($(origin KIND_CLUSTER_NAME), undefined)
38
35
KIND_CLUSTER_NAME := catalogd
39
36
endif
40
37
41
- # E2E configuration
42
- TESTDATA_DIR := testdata
43
-
44
- CATALOGD_NAMESPACE := olmv1-system
45
- KIND_CLUSTER_IMAGE := kindest/node:v1.30.0@sha256:047357ac0cfea04663786a612ba1eaba9702bef25227a794b52890dd8bcd692e
46
-
47
- GINKGO := go run github.com/onsi/ginkgo/v2/ginkgo
48
-
49
38
# #@ General
50
39
51
40
# The help target prints out all targets with their descriptions organized
@@ -74,42 +63,6 @@ generate: $(CONTROLLER_GEN) ## Generate code and manifests.
74
63
$(CONTROLLER_GEN ) object:headerFile=" ../hack/boilerplate.go.txt" paths=" ./..."
75
64
$(CONTROLLER_GEN ) rbac:roleName=manager-role crd webhook paths=" ./..." output:crd:artifacts:config=config/base/crd/bases output:rbac:artifacts:config=config/base/rbac output:webhook:artifacts:config=config/base/manager/webhook/
76
65
77
- FOCUS := $(if $(TEST ) ,-v -focus "$(TEST ) ")
78
- ifeq ($(origin E2E_FLAGS ) , undefined)
79
- E2E_FLAGS :=
80
- endif
81
- test-e2e : # # Run the e2e tests on existing cluster
82
- $(GINKGO ) $(E2E_FLAGS ) -trace -vv $(FOCUS ) test/e2e
83
-
84
- e2e : KIND_CLUSTER_NAME := catalogd-e2e
85
- e2e : ISSUER_KIND := Issuer
86
- e2e : ISSUER_NAME := selfsigned-issuer
87
- e2e : KUSTOMIZE_OVERLAY := config/overlays/e2e
88
- e2e : run image-registry test-e2e kind-cluster-cleanup # # Run e2e test suite on local kind cluster
89
-
90
- image-registry : # # Setup in-cluster image registry
91
- ./test/tools/imageregistry/registry.sh $(ISSUER_KIND ) $(ISSUER_NAME )
92
-
93
- # # image-registry target has to come after run-latest-release,
94
- # # because the image-registry depends on the olm-ca issuer.
95
- .PHONY : test-upgrade-e2e
96
- test-upgrade-e2e : export TEST_CLUSTER_CATALOG_NAME := test-catalog
97
- test-upgrade-e2e : export TEST_CLUSTER_CATALOG_IMAGE := docker-registry.catalogd-e2e.svc:5000/test-catalog:e2e
98
- test-upgrade-e2e : ISSUER_KIND=ClusterIssuer
99
- test-upgrade-e2e : ISSUER_NAME=olmv1-ca
100
- test-upgrade-e2e : kind-cluster cert-manager build-container kind-load run-latest-release image-registry pre-upgrade-setup only-deploy-manifest wait post-upgrade-checks kind-cluster-cleanup # # Run upgrade e2e tests on a local kind cluster
101
-
102
- pre-upgrade-setup :
103
- ./test/tools/imageregistry/pre-upgrade-setup.sh ${TEST_CLUSTER_CATALOG_IMAGE} ${TEST_CLUSTER_CATALOG_NAME}
104
-
105
- .PHONY : run-latest-release
106
- run-latest-release :
107
- cd ..; curl -L -s https://github.com/operator-framework/operator-controller/releases/latest/download/install.sh | bash -s
108
-
109
- .PHONY : post-upgrade-checks
110
- post-upgrade-checks :
111
- $(GINKGO ) $(E2E_FLAGS ) -trace -vv $(FOCUS ) test/upgrade
112
-
113
66
# #@ Build
114
67
115
68
BINARIES =catalogd
@@ -157,63 +110,17 @@ $(LINUX_BINARIES): BUILDBIN = bin/linux
157
110
$(LINUX_BINARIES ) :
158
111
GOOS=linux $(BUILDCMD )
159
112
160
-
161
- .PHONY : run
162
- run : generate kind-cluster install # # Create a kind cluster and install a local build of catalogd
163
-
164
113
.PHONY : build-container
165
114
build-container : build-linux # # Build docker image for catalogd.
166
115
$(CONTAINER_RUNTIME ) build -f Dockerfile -t $(IMAGE ) ./bin/linux
167
116
168
- # #@ Deploy
169
-
170
- .PHONY : kind-cluster
171
- kind-cluster : $(KIND ) kind-cluster-cleanup # # Standup a kind cluster
172
- $(KIND ) create cluster --name $(KIND_CLUSTER_NAME ) --image $(KIND_CLUSTER_IMAGE )
173
- $(KIND ) export kubeconfig --name $(KIND_CLUSTER_NAME )
174
-
175
- .PHONY : kind-cluster-cleanup
176
- kind-cluster-cleanup : $(KIND ) # # Delete the kind cluster
177
- $(KIND ) delete cluster --name $(KIND_CLUSTER_NAME )
178
-
179
117
.PHONY : kind-load
180
- kind-load : check-cluster $(KIND ) # # Load the built images onto the local cluster
118
+ kind-load : $(KIND ) # # Load the built images onto the local cluster
181
119
$(CONTAINER_RUNTIME ) save $(IMAGE ) | $(KIND ) load image-archive /dev/stdin --name $(KIND_CLUSTER_NAME )
182
120
183
- .PHONY : install
184
- install : check-cluster build-container kind-load deploy wait # # Install local catalogd to an existing cluster
185
-
186
- .PHONY : deploy
187
- deploy : export MANIFEST="./catalogd.yaml"
188
- deploy : export DEFAULT_CATALOGS="./config/base/default/clustercatalogs/default-catalogs.yaml"
189
- deploy : $(KUSTOMIZE ) # # Deploy Catalogd to the K8s cluster specified in ~/.kube/config with cert-manager and default clustercatalogs
190
- cd config/base/manager && $(KUSTOMIZE ) edit set image controller=$(IMAGE ) && cd ../../..
191
- $(KUSTOMIZE ) build $(KUSTOMIZE_OVERLAY ) | sed " s/cert-git-version/cert-$( GIT_VERSION) /g" > catalogd.yaml
192
- envsubst ' $$CERT_MGR_VERSION,$$MANIFEST,$$DEFAULT_CATALOGS' < scripts/install.tpl.sh | bash -s
193
-
194
- .PHONY : only-deploy-manifest
195
- only-deploy-manifest : $(KUSTOMIZE ) # # Deploy just the Catalogd manifest--used in e2e testing where cert-manager is installed in a separate step
196
- cd config/base/manager && $(KUSTOMIZE ) edit set image controller=$(IMAGE )
197
- $(KUSTOMIZE ) build $(KUSTOMIZE_OVERLAY ) | kubectl apply -f -
198
-
199
- wait :
200
- kubectl wait --for=condition=Available --namespace=$(CATALOGD_NAMESPACE ) deployment/catalogd-controller-manager --timeout=60s
201
- kubectl wait --for=condition=Ready --namespace=$(CATALOGD_NAMESPACE ) certificate/catalogd-service-cert # Avoid upgrade test flakes when reissuing cert
202
-
203
-
204
- .PHONY : cert-manager
205
- cert-manager :
206
- kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/${CERT_MGR_VERSION} /cert-manager.yaml
207
- kubectl wait --for=condition=Available --namespace=cert-manager deployment/cert-manager-webhook --timeout=60s
121
+ # #@ Deploy
208
122
209
123
# The demo script requires to install asciinema with: brew install asciinema to run on mac os envs.
210
124
.PHONY : demo-update # HELP build demo
211
125
demo-update :
212
126
hack/scripts/generate-asciidemo.sh
213
-
214
- .PHONY : check-cluster
215
- check-cluster :
216
- @kubectl config current-context > /dev/null 2>&1 || ( \
217
- echo " Error: Could not get current Kubernetes context. Maybe use 'run' or 'e2e' targets first?" ; \
218
- exit 1; \
219
- )
0 commit comments