71
71
MANIFESTPATHCRD := manifests/arango-crd$(MANIFESTSUFFIX ) .yaml
72
72
MANIFESTPATHDEPLOYMENT := manifests/arango-deployment$(MANIFESTSUFFIX ) .yaml
73
73
MANIFESTPATHDEPLOYMENTREPLICATION := manifests/arango-deployment-replication$(MANIFESTSUFFIX ) .yaml
74
+ MANIFESTPATHBACKUP := manifests/arango-backup$(MANIFESTSUFFIX ) .yaml
74
75
MANIFESTPATHSTORAGE := manifests/arango-storage$(MANIFESTSUFFIX ) .yaml
75
76
MANIFESTPATHTEST := manifests/arango-test$(MANIFESTSUFFIX ) .yaml
76
77
ifndef DEPLOYMENTNAMESPACE
@@ -111,7 +112,7 @@ TESTLENGTHOPTIONS := -test.short
111
112
TESTTIMEOUT := 30m
112
113
ifeq ($(LONG ) , 1)
113
114
TESTLENGTHOPTIONS :=
114
- TESTTIMEOUT := 240m
115
+ TESTTIMEOUT := 300m
115
116
endif
116
117
ifdef VERBOSE
117
118
TESTVERBOSEOPTIONS := -v
@@ -151,6 +152,14 @@ allall: all
151
152
# Tip: Run `eval $(minikube docker-env)` before calling make if you're developing on minikube.
152
153
#
153
154
155
+ .PHONY : fmt
156
+ fmt :
157
+ golangci-lint run --no-config --issues-exit-code=1 --deadline=30m --disable-all --enable=deadcode --enable=gocyclo \
158
+ --enable=golint --enable=varcheck --enable=structcheck --enable=maligned --enable=errcheck \
159
+ --enable=dupl --enable=ineffassign --enable=interfacer --enable=unconvert --enable=goconst \
160
+ --enable=gosec --enable=megacheck --exclude-use-default=false \
161
+ $(ROOTDIR ) /pkg/backup/...
162
+
154
163
.PHONY : build
155
164
build : docker manifests
156
165
@@ -182,7 +191,7 @@ update-generated:
182
191
" all" \
183
192
" github.com/arangodb/kube-arangodb/pkg/generated" \
184
193
" github.com/arangodb/kube-arangodb/pkg/apis" \
185
- " deployment:v1alpha replication:v1alpha storage:v1alpha" \
194
+ " deployment:v1alpha replication:v1alpha storage:v1alpha backup:v1alpha " \
186
195
--go-header-file " ./tools/codegen/boilerplate.go.txt" \
187
196
$(VERIFYARGS )
188
197
@@ -236,7 +245,8 @@ manifests-operator-deployment: helm
236
245
@$(HELM_CMD ) \
237
246
--set " operator.features.deployment=true" \
238
247
--set " operator.features.deploymentReplications=false" \
239
- --set " operator.features.storage=false" > " $( MANIFESTPATHDEPLOYMENT) "
248
+ --set " operator.features.storage=false" \
249
+ --set " operator.features.backup=false" > " $( MANIFESTPATHDEPLOYMENT) "
240
250
241
251
.PHONY : manifests-operator-deployment-replication
242
252
manifests-operator-deployment-replication : export CHART_NAME := kube-arangodb
@@ -246,7 +256,8 @@ manifests-operator-deployment-replication: helm
246
256
@$(HELM_CMD ) \
247
257
--set " operator.features.deployment=false" \
248
258
--set " operator.features.deploymentReplications=true" \
249
- --set " operator.features.storage=false" > " $( MANIFESTPATHDEPLOYMENTREPLICATION) "
259
+ --set " operator.features.storage=false" \
260
+ --set " operator.features.backup=false" > " $( MANIFESTPATHDEPLOYMENTREPLICATION) "
250
261
251
262
.PHONY : manifests-operator-storage
252
263
manifests-operator-storage : export CHART_NAME := kube-arangodb
@@ -256,10 +267,22 @@ manifests-operator-storage: helm
256
267
@$(HELM_CMD ) \
257
268
--set " operator.features.deployment=false" \
258
269
--set " operator.features.deploymentReplications=false" \
259
- --set " operator.features.storage=true" > " $( MANIFESTPATHSTORAGE) "
270
+ --set " operator.features.storage=true" \
271
+ --set " operator.features.backup=false" > " $( MANIFESTPATHSTORAGE) "
272
+
273
+ .PHONY : manifests-operator-backup
274
+ manifests-operator-backup : export CHART_NAME := kube-arangodb
275
+ manifests-operator-backup : export NAME := backup
276
+ manifests-operator-backup : helm
277
+ @echo Building manifests for Operator Backup - $(MANIFESTPATHBACKUP )
278
+ @$(HELM_CMD ) \
279
+ --set " operator.features.deployment=false" \
280
+ --set " operator.features.deploymentReplications=false" \
281
+ --set " operator.features.storage=false" \
282
+ --set " operator.features.backup=true" > " $( MANIFESTPATHBACKUP) "
260
283
261
284
.PHONY : manifests-operator
262
- manifests-operator : manifests-operator-deployment manifests-operator-deployment-replication manifests-operator-storage
285
+ manifests-operator : manifests-operator-deployment manifests-operator-deployment-replication manifests-operator-storage manifests-operator-backup
263
286
264
287
.PHONY : chart-crd
265
288
chart-crd : export CHART_NAME := kube-arangodb-crd
@@ -281,6 +304,7 @@ manifests: helm manifests-crd manifests-operator manifests-test chart-crd chart-
281
304
.PHONY : run-unit-tests
282
305
run-unit-tests : $(SOURCES )
283
306
go test $(TESTVERBOSEOPTIONS ) \
307
+ $(REPOPATH ) /pkg/apis/backup/v1alpha \
284
308
$(REPOPATH ) /pkg/apis/deployment/v1alpha \
285
309
$(REPOPATH ) /pkg/apis/replication/v1alpha \
286
310
$(REPOPATH ) /pkg/apis/storage/v1alpha \
@@ -290,7 +314,8 @@ run-unit-tests: $(SOURCES)
290
314
$(REPOPATH ) /pkg/util/k8sutil \
291
315
$(REPOPATH ) /pkg/util/k8sutil/test \
292
316
$(REPOPATH ) /pkg/util/probe \
293
- $(REPOPATH ) /pkg/util/validation
317
+ $(REPOPATH ) /pkg/util/validation \
318
+ $(REPOPATH ) /pkg/backup/...
294
319
295
320
$(TESTBIN ) : $(GOBUILDDIR ) $(SOURCES )
296
321
@mkdir -p $(BINDIR )
@@ -318,9 +343,11 @@ endif
318
343
kubectl apply -f $(MANIFESTPATHSTORAGE)
319
344
kubectl apply -f $(MANIFESTPATHDEPLOYMENT)
320
345
kubectl apply -f $(MANIFESTPATHDEPLOYMENTREPLICATION)
346
+ kubectl apply -f $(MANIFESTPATHBACKUP)
321
347
kubectl apply -f $(MANIFESTPATHTEST)
322
348
$(ROOTDIR)/scripts/kube_create_storage.sh $(DEPLOYMENTNAMESPACE)
323
349
$(ROOTDIR)/scripts/kube_create_license_key_secret.sh "$(DEPLOYMENTNAMESPACE)" '$(ENTERPRISELICENSE)'
350
+ $(ROOTDIR)/scripts/kube_create_backup_remote_secret.sh "$(DEPLOYMENTNAMESPACE)" '$(TEST_REMOTE_SECRET)'
324
351
325
352
.PHONY : run-tests
326
353
run-tests : docker-test
@@ -336,10 +363,12 @@ endif
336
363
kubectl apply -f $(MANIFESTPATHSTORAGE)
337
364
kubectl apply -f $(MANIFESTPATHDEPLOYMENT)
338
365
kubectl apply -f $(MANIFESTPATHDEPLOYMENTREPLICATION)
366
+ kubectl apply -f $(MANIFESTPATHBACKUP)
339
367
kubectl apply -f $(MANIFESTPATHTEST)
340
368
$(ROOTDIR)/scripts/kube_create_storage.sh $(DEPLOYMENTNAMESPACE)
341
369
$(ROOTDIR)/scripts/kube_create_license_key_secret.sh "$(DEPLOYMENTNAMESPACE)" '$(ENTERPRISELICENSE)'
342
- $(ROOTDIR)/scripts/kube_run_tests.sh $(DEPLOYMENTNAMESPACE) $(TESTIMAGE) "$(ARANGODIMAGE)" '$(ENTERPRISEIMAGE)' '$(TESTTIMEOUT)' '$(TESTLENGTHOPTIONS)' '$(TESTOPTIONS)'
370
+ $(ROOTDIR)/scripts/kube_create_backup_remote_secret.sh "$(DEPLOYMENTNAMESPACE)" '$(TEST_REMOTE_SECRET)'
371
+ $(ROOTDIR)/scripts/kube_run_tests.sh $(DEPLOYMENTNAMESPACE) $(TESTIMAGE) "$(ARANGODIMAGE)" '$(ENTERPRISEIMAGE)' '$(TESTTIMEOUT)' '$(TESTLENGTHOPTIONS)' '$(TESTOPTIONS)' '$(TEST_REMOTE_REPOSITORY)'
343
372
344
373
$(DURATIONTESTBIN ) : $(SOURCES )
345
374
CGO_ENABLED=0 go build -installsuffix cgo -ldflags " -X main.projectVersion=$( VERSION) -X main.projectBuild=$( COMMIT) " -o $(DURATIONTESTBINNAME ) $(REPOPATH ) /tests/duration
@@ -430,6 +459,7 @@ delete-operator:
430
459
kubectl delete -f $(MANIFESTPATHTEST ) --ignore-not-found
431
460
kubectl delete -f $(MANIFESTPATHDEPLOYMENT ) --ignore-not-found
432
461
kubectl delete -f $(MANIFESTPATHDEPLOYMENTREPLICATION ) --ignore-not-found
462
+ kubectl delete -f $(MANIFESTPATHBACKUP ) --ignore-not-found
433
463
kubectl delete -f $(MANIFESTPATHSTORAGE ) --ignore-not-found
434
464
kubectl delete -f $(MANIFESTPATHCRD ) --ignore-not-found
435
465
@@ -439,6 +469,7 @@ redeploy-operator: delete-operator manifests
439
469
kubectl apply -f $(MANIFESTPATHSTORAGE )
440
470
kubectl apply -f $(MANIFESTPATHDEPLOYMENT )
441
471
kubectl apply -f $(MANIFESTPATHDEPLOYMENTREPLICATION )
472
+ kubectl apply -f $(MANIFESTPATHBACKUP )
442
473
kubectl apply -f $(MANIFESTPATHTEST )
443
474
kubectl get pods
444
475
0 commit comments