@@ -54,36 +54,43 @@ SHELL:=env PATH=$(subst $(SPACE),\$(SPACE),$(PATH)) $(SHELL)
5454# ----------------------------------------------------------------------------------------------------------------------
5555# Operator image names
5656# ----------------------------------------------------------------------------------------------------------------------
57- ORACLE_REGISTRY := container-registry.oracle.com/middleware
58- GITHUB_REGISTRY := ghcr.io/oracle
59- OPERATOR_IMAGE_NAME := coherence-operator
60- OPERATOR_IMAGE_REGISTRY ?= $(ORACLE_REGISTRY )
61- OPERATOR_IMAGE_ARM := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(VERSION ) -arm64
62- PREV_OPERATOR_IMAGE_ARM := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_VERSION ) -arm64
63- OPERATOR_IMAGE_AMD := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(VERSION ) -amd64
64- PREV_OPERATOR_IMAGE_AMD := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_VERSION ) -amd64
65- OPERATOR_IMAGE := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(VERSION )
66- PREV_OPERATOR_IMAGE := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_VERSION )
67- OPERATOR_IMAGE_DELVE := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :delve
68- OPERATOR_IMAGE_DEBUG := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :debug
69- OPERATOR_BASE_IMAGE ?= scratch
57+ ORACLE_REGISTRY := container-registry.oracle.com/middleware
58+ GITHUB_REGISTRY := ghcr.io/oracle
59+ OPERATOR_IMAGE_NAME := coherence-operator
60+ OPERATOR_IMAGE_REGISTRY ?= $(ORACLE_REGISTRY )
61+ OPERATOR_IMAGE_TAG_SUFFIX ?=
62+ OPERATOR_IMAGE_TAG := $(VERSION )$(OPERATOR_IMAGE_TAG_SUFFIX )
63+ OPERATOR_IMAGE_TAG_ARM := $(VERSION ) -arm64$(OPERATOR_IMAGE_TAG_SUFFIX )
64+ OPERATOR_IMAGE_TAG_AMD := $(VERSION ) -amd64$(OPERATOR_IMAGE_TAG_SUFFIX )
65+ OPERATOR_IMAGE := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(OPERATOR_IMAGE_TAG )
66+ OPERATOR_IMAGE_ARM := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(OPERATOR_IMAGE_TAG_ARM )
67+ OPERATOR_IMAGE_AMD := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(OPERATOR_IMAGE_TAG_AMD )
68+ PREV_IMAGE_TAG := $(VERSION )$(OPERATOR_IMAGE_TAG_SUFFIX )
69+ PREV_IMAGE_TAG_ARM := $(VERSION ) -arm64$(OPERATOR_IMAGE_TAG_SUFFIX )
70+ PREV_IMAGE_TAG_AMD := $(VERSION ) -amd64$(OPERATOR_IMAGE_TAG_SUFFIX )
71+ PREV_OPERATOR_IMAGE := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_IMAGE_TAG )
72+ PREV_OPERATOR_IMAGE_ARM := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_IMAGE_TAG_ARM )
73+ PREV_OPERATOR_IMAGE_AMD := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_IMAGE_TAG_AMD )
74+ OPERATOR_IMAGE_DELVE := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :delve
75+ OPERATOR_IMAGE_DEBUG := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :debug
76+ OPERATOR_BASE_IMAGE ?= scratch
7077
7178# The registry we release (push) the operator images to, which can be different to the registry
7279# used to build and test the operator.
73- OPERATOR_RELEASE_REGISTRY ?= $(OPERATOR_IMAGE_REGISTRY )
74- OPERATOR_RELEASE_IMAGE := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(VERSION )
75- PREV_OPERATOR_RELEASE_IMAGE := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_VERSION )
76- OPERATOR_RELEASE_ARM := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(VERSION ) -arm64
77- PREV_OPERATOR_RELEASE_ARM := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_VERSION ) -arm64
78- OPERATOR_RELEASE_AMD := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(VERSION ) -amd64
79- PREV_OPERATOR_RELEASE_AMD := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_VERSION ) -amd64
80+ OPERATOR_RELEASE_REGISTRY ?= $(OPERATOR_IMAGE_REGISTRY )
81+ OPERATOR_RELEASE_IMAGE := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(OPERATOR_IMAGE_TAG )
82+ PREV_OPERATOR_RELEASE_IMAGE := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_IMAGE_TAG )
83+ OPERATOR_RELEASE_ARM := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(OPERATOR_IMAGE_TAG_ARM )
84+ PREV_OPERATOR_RELEASE_ARM := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_IMAGE_TAG_ARM )
85+ OPERATOR_RELEASE_AMD := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(OPERATOR_IMAGE_TAG_AMD )
86+ PREV_OPERATOR_RELEASE_AMD := $(OPERATOR_RELEASE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) :$(PREV_IMAGE_TAG_AMD )
8087
8188# ----------------------------------------------------------------------------------------------------------------------
8289# The Coherence image to use for deployments that do not specify an image
8390# ----------------------------------------------------------------------------------------------------------------------
8491# The Coherence version to build against - must be a Java 8 compatible version
8592COHERENCE_VERSION ?= 21.12.5
86- COHERENCE_VERSION_LTS ?= 14.1.2-0-2
93+ COHERENCE_VERSION_LTS ?= 14.1.2-0-3
8794COHERENCE_CE_LATEST ?= 25.03.1
8895
8996# The default Coherence image the Operator will run if no image is specified
@@ -147,7 +154,7 @@ GOPROXY ?= https://proxy.golang.org
147154# ----------------------------------------------------------------------------------------------------------------------
148155# Set the location of the Operator SDK executable
149156# ----------------------------------------------------------------------------------------------------------------------
150- OPERATOR_SDK_VERSION := v1.39 .1
157+ OPERATOR_SDK_VERSION := v1.41 .1
151158
152159# ----------------------------------------------------------------------------------------------------------------------
153160# Options to append to the Maven command
@@ -158,14 +165,14 @@ MAVEN_BUILD_OPTS :=$(USE_MAVEN_SETTINGS) -Drevision=$(MVN_VERSION) -Dcoherence.v
158165# ----------------------------------------------------------------------------------------------------------------------
159166# Test image names
160167# ----------------------------------------------------------------------------------------------------------------------
161- TEST_BASE_IMAGE := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) -test-base:$(VERSION )
168+ TEST_BASE_IMAGE := $(OPERATOR_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) -test-base:$(OPERATOR_IMAGE_TAG )
162169
163170# Tanzu packages
164171TANZU_REGISTRY := $(GITHUB_REGISTRY )
165172OPERATOR_PACKAGE_PREFIX := $(TANZU_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) -package
166- OPERATOR_PACKAGE_IMAGE := $(OPERATOR_PACKAGE_PREFIX ) :$(VERSION )
173+ OPERATOR_PACKAGE_IMAGE := $(OPERATOR_PACKAGE_PREFIX ) :$(OPERATOR_IMAGE_TAG )
167174OPERATOR_REPO_PREFIX := $(TANZU_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) -repo
168- OPERATOR_REPO_IMAGE := $(OPERATOR_REPO_PREFIX ) :$(VERSION )
175+ OPERATOR_REPO_IMAGE := $(OPERATOR_REPO_PREFIX ) :$(OPERATOR_IMAGE_TAG )
169176
170177# ----------------------------------------------------------------------------------------------------------------------
171178# The test application images used in integration tests
@@ -212,7 +219,7 @@ BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL)
212219
213220# BUNDLE_IMG defines the image:tag used for the bundle.
214221# You can use it as an arg. (E.g make bundle-build BUNDLE_IMG=<some-registry>/<project-name-bundle>:<tag>)
215- BUNDLE_IMAGE := $(OLM_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) -bundle:$(VERSION )
222+ BUNDLE_IMAGE := $(OLM_IMAGE_REGISTRY ) /$(OPERATOR_IMAGE_NAME ) -bundle:$(OPERATOR_IMAGE_TAG )
216223
217224# ----------------------------------------------------------------------------------------------------------------------
218225# Testing properties
@@ -516,6 +523,7 @@ clean: ## Cleans the build
516523 rm pkg/data/zz_generated_* .go || true
517524 rm pkg/data/assets/* .yaml || true
518525 rm pkg/data/assets/* .json || true
526+ rm api/v1/zz_generated.deepcopy.go || true
519527 ./mvnw -f java clean $(MAVEN_BUILD_OPTS )
520528 ./mvnw -f examples clean $(MAVEN_BUILD_OPTS )
521529
@@ -534,9 +542,13 @@ clean-tools: ## Cleans the locally downloaded build tools (i.e. need a new tool
534542build-operator : $(BUILD_TARGETS ) /build-operator # # Build the Coherence Operator image
535543
536544$(BUILD_TARGETS ) /build-operator : $(BUILD_BIN ) /runner $(BUILD_TARGETS ) /java $(BUILD_TARGETS ) /cli
537- $(call buildOperatorImage,$(OPERATOR_BASE_IMAGE ) ,amd64,$(OPERATOR_IMAGE ) )
538- $(call buildOperatorImage,$(OPERATOR_BASE_IMAGE ) ,arm64,$(OPERATOR_IMAGE ) )
539- $(DOCKER_CMD ) tag $(OPERATOR_IMAGE ) -$(IMAGE_ARCH ) $(OPERATOR_IMAGE )
545+ $(call buildOperatorImage,$(OPERATOR_BASE_IMAGE ) ,amd64,$(OPERATOR_IMAGE_AMD ) )
546+ $(call buildOperatorImage,$(OPERATOR_BASE_IMAGE ) ,arm64,$(OPERATOR_IMAGE_ARM ) )
547+ ifeq (amd64,$(IMAGE_ARCH ) )
548+ $(DOCKER_CMD) tag $(OPERATOR_IMAGE_AMD) $(OPERATOR_IMAGE)
549+ else
550+ $(DOCKER_CMD) tag $(OPERATOR_IMAGE_ARM) $(OPERATOR_IMAGE)
551+ endif
540552 printf $(VERSION) > $(BUILD_OUTPUT)/version.txt
541553 touch $(BUILD_TARGETS)/build-operator
542554
@@ -547,7 +559,7 @@ define buildOperatorImage
547559 --build-arg operator_image=$(3 ) \
548560 --build-arg release=$(GITCOMMIT ) \
549561 --build-arg target=$(2 ) \
550- --load -t $(3 ) - $( 2 ) .
562+ --load -t $(3 ) .
551563endef
552564
553565OPERATOR_OL_BASE_IMAGE ?= container-registry.oracle.com/java/jdk:17
@@ -1055,7 +1067,8 @@ bundle-image: bundle ## Build the OLM image
10551067bundle-push : bundle-image # # Push the OLM bundle image.
10561068 $(DOCKER_CMD ) push $(OPE ) $(BUNDLE_IMAGE )
10571069
1058- OPM = $(TOOLS_BIN ) /opm
1070+ OPM = $(TOOLS_BIN ) /opm
1071+ OPM_VERSION := v1.57.0
10591072
10601073.PHONY : opm
10611074opm : $(TOOLS_BIN ) /opm
@@ -1064,7 +1077,7 @@ $(TOOLS_BIN)/opm: ## Download opm locally if necessary.
10641077 @{ \
10651078 set -e ; \
10661079 OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \
1067- curl -sSLo $(OPM ) https://github.com/operator-framework/operator-registry/releases/download/v1.51.0 /$$ {OS}-$$ {ARCH}-opm --header $(GH_AUTH ) ; \
1080+ curl -sSLo $(OPM ) https://github.com/operator-framework/operator-registry/releases/download/$( OPM_VERSION ) /$$ {OS}-$$ {ARCH}-opm --header $(GH_AUTH ) ; \
10681081 chmod +x $(OPM ) ; \
10691082 }
10701083
@@ -1108,6 +1121,7 @@ scorecard: $(BUILD_PROPS) ensure-sdk bundle ## Run the Operator SDK scorecard te
11081121.PHONY : install-olm
11091122install-olm : ensure-sdk # # Install the Operator Lifecycle Manage into the K8s cluster
11101123 $(OPERATOR_SDK ) olm install
1124+ $(KUBECTL_CMD ) label namespace olm pod-security.kubernetes.io/enforce=baseline --overwrite
11111125
11121126.PHONY : uninstall-olm
11131127uninstall-olm : ensure-sdk # # Uninstall the Operator Lifecycle Manage from the K8s cluster
@@ -1185,35 +1199,27 @@ prepare-olm-e2e-test: reset-namespace create-ssl-secrets ensure-pull-secret olm-
11851199# ======================================================================================================================
11861200# Targets to run a local container registry
11871201# ======================================================================================================================
1188- REGISTRY_USER ?= operator
1189- REGISTRY_PWD ?= secret
1190-
1191- $(TOOLS_DIRECTORY ) /registry/auth/htpasswd :
1192- mkdir -p ${TOOLS_DIRECTORY} /registry/{auth,certs,data} || true
1193- htpasswd -bBc ${TOOLS_DIRECTORY} /registry/auth/htpasswd $(REGISTRY_USER ) $(REGISTRY_PWD )
1202+ REGISTRY_HOST ?= localhost
11941203
11951204.PHONY : registry
1196- registry : $( TOOLS_DIRECTORY ) /registry/auth/htpasswd
1197- mkdir -p ${TOOLS_DIRECTORY} /registry/{auth,certs,data} || true
1205+ registry :
1206+ mkdir -p ${TOOLS_DIRECTORY} /registry/{auth,certs,data,cli-config } || true
11981207 openssl req -newkey rsa:4096 -nodes -sha256 \
11991208 -keyout $(TOOLS_DIRECTORY ) /registry/certs/domain.key \
1200- -x509 -days 3650 -subj " /CN=localhost " \
1209+ -x509 -days 3650 -subj " /CN=$( REGISTRY_HOST ) " \
12011210 -addext " subjectAltName = DNS:registry" \
12021211 -out $(TOOLS_DIRECTORY ) /registry/certs/domain.crt
1212+ echo " {\" auths\" : {}}" > $(TOOLS_DIRECTORY ) /registry/cli-config/auth.json
12031213 $(DOCKER_CMD ) network create registry-network || true
12041214 $(DOCKER_CMD ) run --name registry --network registry-network \
12051215 -p 5555:5000 \
12061216 -v ${TOOLS_DIRECTORY} /registry/data:/var/lib/registry:z \
12071217 -v ${TOOLS_DIRECTORY} /registry/auth:/auth:z \
1208- -e " REGISTRY_AUTH=htpasswd" \
1209- -e " REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
1210- -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
12111218 -v ${TOOLS_DIRECTORY} /registry/certs:/certs:z \
12121219 -e " REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt" \
12131220 -e " REGISTRY_HTTP_TLS_KEY=/certs/domain.key" \
12141221 -e REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED=true \
12151222 -d docker.io/library/registry:latest
1216- $(DOCKER_CMD ) login localhost:5555 -u $(REGISTRY_USER ) -p $(REGISTRY_PWD )
12171223
12181224.PHONY : registry-stop
12191225registry-stop :
@@ -1234,7 +1240,7 @@ preflight: ## Run the OpenShift preflight tests against the Operator Image in a
12341240 $(DOCKER_CMD ) run -it --rm --network registry-network \
12351241 --security-opt=label=disable \
12361242 --env KUBECONFIG=/kubeconfig/config \
1237- --env PFLT_DOCKERCONFIG=/dockerconfig/config.json \
1243+ --env PFLT_DOCKERCONFIG=/dockerconfig/$( PREFLIGHT_REGISTRY_AUTH_JSON ) \
12381244 --env PFLT_LOGLEVEL=trace \
12391245 --env PFLT_CHANNEL=beta \
12401246 --env PFLT_LOGFILE=/artifacts/preflight.log \
@@ -1979,7 +1985,6 @@ define prepare_deploy
19791985 mkdir -p $(BUILD_DEPLOY )
19801986 cp -R config $(BUILD_OUTPUT )
19811987 cd $(BUILD_DEPLOY ) /manager && $(KUSTOMIZE ) edit add configmap env-vars --from-literal COHERENCE_IMAGE=$(COHERENCE_IMAGE )
1982- cd $(BUILD_DEPLOY ) /manager && $(KUSTOMIZE ) edit add configmap env-vars --from-literal OPERATOR_IMAGE=$(1 )
19831988 cd $(BUILD_DEPLOY ) /manager && $(KUSTOMIZE ) edit set image controller=$(1 )
19841989 cd $(BUILD_DEPLOY ) /default && $(KUSTOMIZE ) edit set namespace $(2 )
19851990endef
@@ -2534,7 +2539,7 @@ $(TOOLS_BIN)/controller-gen:
25342539# find or download kustomize
25352540# ----------------------------------------------------------------------------------------------------------------------
25362541KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
2537- KUSTOMIZE_VERSION ?= v5.6.0
2542+ KUSTOMIZE_VERSION ?= v5.7.1
25382543
25392544.PHONY : kustomize
25402545KUSTOMIZE = $(TOOLS_BIN ) /kustomize
@@ -3039,7 +3044,7 @@ new-version: ## Update the Operator Version (must be run with NEXT_VERSION=x.y.z
30393044 find helm-charts \( -name ' *.yaml' -o -name ' *.json' \) -exec $(SED ) ' s/$(subst .,\.,$(VERSION))/$(NEXT_VERSION)/g' {} +
30403045 $(SED ) -e ' s/<revision>$(subst .,\.,$(VERSION))<\/revision>/<revision>$(NEXT_VERSION)<\/revision>/g' java/pom.xml
30413046 yq -i e ' select(.schema == "olm.template.basic").entries[] |= select(.schema == "olm.channel" and .name == "stable").entries += [{"name" : "coherence-operator.v$(VERSION)", "replaces": "coherence-operator.v$(PREV_VERSION)"}]' $(SCRIPTS_DIR ) /olm/catalog-template.yaml
3042- yq -i e ' select(.schema == "olm.template.basic").entries += [{"schema" : "olm.bundle", "image": "$(GITHUB_REGISTRY)/$(OPERATOR_IMAGE_NAME)-bundle:$(VERSION )"}]' $(SCRIPTS_DIR ) /olm/catalog-template.yaml
3047+ yq -i e ' select(.schema == "olm.template.basic").entries += [{"schema" : "olm.bundle", "image": "$(GITHUB_REGISTRY)/$(OPERATOR_IMAGE_NAME)-bundle:$(OPERATOR_IMAGE_TAG )"}]' $(SCRIPTS_DIR ) /olm/catalog-template.yaml
30433048
30443049GIT_NEXT_BRANCH = "version-update-$(NEXT_VERSION ) "
30453050GIT_LABEL = "version-update"
0 commit comments