Skip to content

Commit 468dce8

Browse files
authored
[Feature] Enterprise Edition support (#795)
1 parent c786630 commit 468dce8

File tree

7 files changed

+30
-957
lines changed

7 files changed

+30
-957
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ logs
66
vendor/
77
.idea/
88
deps/
9-
.vscode/
9+
.vscode/
10+
**/*.enterprise.go

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
When the topic is removed from the argument list then it will not
1111
be turned off in the ArangoDB automatically.
1212
- Allow to customize SchedulerName inside Member Pod
13+
- Add Enterprise Edition support
1314

1415
## [1.2.2](https://github.com/arangodb/kube-arangodb/tree/1.2.2) (2021-09-09)
1516
- Update 'github.com/arangodb/arangosync-client' dependency to v0.7.0

Makefile

Lines changed: 18 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@ VERSION_MAJOR_MINOR := $(shell echo $(VERSION_MAJOR_MINOR_PATCH) | cut -f 1,2 -d
1010
VERSION_MAJOR := $(shell echo $(VERSION_MAJOR_MINOR) | cut -f 1 -d '.')
1111
COMMIT := $(shell git rev-parse --short HEAD)
1212
DOCKERCLI := $(shell which docker)
13+
RELEASE_MODE ?= community
1314

1415
GOBUILDDIR := $(SCRIPTDIR)/.gobuild
1516
SRCDIR := $(SCRIPTDIR)
1617
CACHEVOL := $(PROJECT)-gocache
1718
BINDIR := $(ROOTDIR)/bin
19+
VBINDIR := $(BINDIR)/$(RELEASE_MODE)
1820
VENDORDIR := $(ROOTDIR)/deps
1921
DASHBOARDDIR := $(ROOTDIR)/dashboard
2022

@@ -48,7 +50,7 @@ endif
4850

4951
HELM_PACKAGE_CMD = $(HELM) package "$(ROOTDIR)/chart/$(CHART_NAME)" \
5052
-d "$(ROOTDIR)/bin/charts" \
51-
--save=false
53+
--save=false --version "$(VERSION)"
5254

5355
HELM_CMD = $(HELM) template "$(ROOTDIR)/chart/$(CHART_NAME)" \
5456
--name "$(NAME)" \
@@ -95,11 +97,13 @@ endif
9597

9698
BASEUBIIMAGE ?= registry.access.redhat.com/ubi8/ubi-minimal:8.4
9799

100+
OPERATORIMAGENAME ?= $(REPONAME)
101+
98102
ifndef OPERATORIMAGE
99-
OPERATORIMAGE := $(DOCKERNAMESPACE)/kube-arangodb$(IMAGESUFFIX)
103+
OPERATORIMAGE := $(DOCKERNAMESPACE)/$(OPERATORIMAGENAME)$(IMAGESUFFIX)
100104
endif
101105
ifndef OPERATORUBIIMAGE
102-
OPERATORUBIIMAGE := $(DOCKERNAMESPACE)/kube-arangodb$(IMAGESUFFIX)-ubi
106+
OPERATORUBIIMAGE := $(DOCKERNAMESPACE)/$(OPERATORIMAGENAME)$(IMAGESUFFIX)-ubi
103107
endif
104108
ifndef ENTERPRISEIMAGE
105109
ENTERPRISEIMAGE := $(DEFAULTENTERPRISEIMAGE)
@@ -115,8 +119,7 @@ endif
115119

116120
BINNAME := $(PROJECT)
117121
BIN := $(BINDIR)/$(BINNAME)
118-
RELEASE := $(GOBUILDDIR)/bin/release
119-
GHRELEASE := $(GOBUILDDIR)/bin/github-release
122+
VBIN := $(BINDIR)/$(RELEASE_MODE)/$(BINNAME)
120123

121124
ifdef VERBOSE
122125
TESTVERBOSEOPTIONS := -v
@@ -168,7 +171,7 @@ fmt-verify: license-verify
168171

169172
.PHONY: linter
170173
linter:
171-
$(GOPATH)/bin/golangci-lint run --no-config --issues-exit-code=1 --deadline=30m --exclude-use-default=false \
174+
$(GOPATH)/bin/golangci-lint run --build-tags "$(RELEASE_MODE)" --no-config --issues-exit-code=1 --deadline=30m --exclude-use-default=false \
172175
--disable-all $(foreach EXCLUDE_DIR,$(EXCLUDE_DIRS),--skip-dirs $(EXCLUDE_DIR)) \
173176
$(foreach MODE,$(GOLANGCI_ENABLED),--enable $(MODE)) ./...
174177

@@ -222,7 +225,7 @@ update-generated:
222225
verify-generated:
223226
@${MAKE} -B -s VERIFYARGS=--verify-only update-generated
224227

225-
dashboard/assets.go: $(DASHBOARDSOURCES) $(DASHBOARDDIR)/Dockerfile.build
228+
dashboard/assets.go:
226229
cd $(DASHBOARDDIR) && docker build -t $(DASHBOARDBUILDIMAGE) -f Dockerfile.build $(DASHBOARDDIR)
227230
@mkdir -p $(DASHBOARDDIR)/build
228231
docker run --rm \
@@ -236,9 +239,12 @@ dashboard/assets.go: $(DASHBOARDSOURCES) $(DASHBOARDDIR)/Dockerfile.build
236239
.PHONY: bin
237240
bin: $(BIN)
238241

239-
$(BIN): $(SOURCES) dashboard/assets.go VERSION
240-
@mkdir -p $(BINDIR)
241-
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -installsuffix netgo -ldflags "-X $(REPOPATH)/pkg/version.version=$(VERSION) -X $(REPOPATH)/pkg/version.buildDate=$(BUILDTIME) -X $(REPOPATH)/pkg/version.build=$(COMMIT)" -o $(BIN) $(REPOPATH)
242+
$(VBIN): $(SOURCES) dashboard/assets.go VERSION
243+
@mkdir -p $(VBINDIR)
244+
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build --tags "$(RELEASE_MODE)" -installsuffix netgo -ldflags "-X $(REPOPATH)/pkg/version.version=$(VERSION) -X $(REPOPATH)/pkg/version.buildDate=$(BUILDTIME) -X $(REPOPATH)/pkg/version.build=$(COMMIT)" -o $(VBIN) $(REPOPATH)
245+
246+
$(BIN): $(VBIN)
247+
@cp "$(VBIN)" "$(BIN)"
242248

243249
.PHONY: docker
244250
docker: check-vars $(BIN)
@@ -333,7 +339,7 @@ manifests: chart-operator
333339

334340
.PHONY: run-unit-tests
335341
run-unit-tests: $(SOURCES)
336-
go test --count=1 $(TESTVERBOSEOPTIONS) \
342+
go test --count=1 --tags "$(RELEASE_MODE)" $(TESTVERBOSEOPTIONS) \
337343
$(REPOPATH)/pkg/apis/backup/... \
338344
$(REPOPATH)/pkg/apis/deployment/... \
339345
$(REPOPATH)/pkg/apis/replication/... \
@@ -363,45 +369,6 @@ patch-release: patch-readme patch-examples
363369
patch-chart:
364370
$(ROOTDIR)/scripts/patch_chart.sh "$(VERSION_MAJOR_MINOR_PATCH)" "$(OPERATORIMAGE)"
365371

366-
.PHONY: docker-push
367-
docker-push: docker
368-
ifneq ($(DOCKERNAMESPACE), arangodb)
369-
docker tag $(OPERATORIMAGE) $(DOCKERNAMESPACE)/arangodb-operator
370-
endif
371-
docker push $(DOCKERNAMESPACE)/arangodb-operator
372-
373-
.PHONY: docker-push-version
374-
docker-push-version: docker
375-
docker tag arangodb/arangodb-operator arangodb/arangodb-operator:$(VERSION)
376-
docker tag arangodb/arangodb-operator arangodb/arangodb-operator:$(VERSION_MAJOR_MINOR)
377-
docker tag arangodb/arangodb-operator arangodb/arangodb-operator:$(VERSION_MAJOR)
378-
docker tag arangodb/arangodb-operator arangodb/arangodb-operator:latest
379-
docker push arangodb/arangodb-operator:$(VERSION)
380-
docker push arangodb/arangodb-operator:$(VERSION_MAJOR_MINOR)
381-
docker push arangodb/arangodb-operator:$(VERSION_MAJOR)
382-
docker push arangodb/arangodb-operator:latest
383-
384-
$(RELEASE): $(GOBUILDDIR) $(SOURCES) $(GHRELEASE)
385-
GOPATH=$(GOBUILDDIR) go build -o $(RELEASE) $(REPOPATH)/tools/release
386-
387-
.PHONY: build-ghrelease
388-
build-ghrelease: $(GHRELEASE)
389-
390-
$(GHRELEASE): $(GOBUILDDIR)
391-
GOPATH=$(GOBUILDDIR) go build -o $(GHRELEASE) github.com/aktau/github-release
392-
393-
.PHONY: release-patch
394-
release-patch: $(RELEASE)
395-
GOPATH=$(GOBUILDDIR) $(RELEASE) -type=patch
396-
397-
.PHONY: release-minor
398-
release-minor: $(RELEASE)
399-
GOPATH=$(GOBUILDDIR) $(RELEASE) -type=minor
400-
401-
.PHONY: release-major
402-
release-major: $(RELEASE)
403-
GOPATH=$(GOBUILDDIR) $(RELEASE) -type=major
404-
405372
.PHONY: tidy
406373
tidy:
407374
@go mod tidy
@@ -410,7 +377,7 @@ tidy:
410377
deps-reload: tidy init
411378

412379
.PHONY: init
413-
init: tools update-generated $(GHRELEASE) $(RELEASE) $(BIN) vendor
380+
init: tools update-generated $(BIN) vendor
414381

415382
.PHONY: tools
416383
tools: update-vendor

tools/tools.go renamed to pkg/version/version.community.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,10 @@
1818
// Copyright holder is ArangoDB GmbH, Cologne, Germany
1919
//
2020

21-
package tools
21+
// +build community
22+
23+
package version
24+
25+
var (
26+
edition = CommunityEdition
27+
)

pkg/version/version.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ import (
3232
type License string
3333

3434
const (
35-
CommunityEdition License = "community"
35+
CommunityEdition License = "community"
36+
EnterpriseEdition License = "enterprise"
3637
)
3738

3839
func (s License) Title() string {
@@ -43,7 +44,6 @@ var (
4344
version = "dev"
4445
build = "dev"
4546
buildDate = ""
46-
edition = CommunityEdition
4747
goVersion = runtime.Version()
4848
)
4949

0 commit comments

Comments
 (0)