Skip to content

Commit b05a2c9

Browse files
committed
fix/feat(Makefile): add downloader and installer build targets; supply to make run
Signed-off-by: Vaughn Dice <[email protected]>
1 parent 143e2fc commit b05a2c9

File tree

1 file changed

+31
-5
lines changed

1 file changed

+31
-5
lines changed

Makefile

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,14 @@ VERSION ?= ${BRANCH}-${COMMIT_SHORT}
66
PKG_LDFLAGS := github.com/prometheus/common/version
77
LDFLAGS := -s -w -X ${PKG_LDFLAGS}.Version=${VERSION} -X ${PKG_LDFLAGS}.Revision=${COMMIT} -X ${PKG_LDFLAGS}.BuildDate=${DATE} -X ${PKG_LDFLAGS}.Branch=${BRANCH}
88

9+
REGISTRY ?= ghcr.io/spinframework
10+
TAG ?= latest
911
# Image URL to use all building/pushing image targets
10-
IMG ?= controller:latest
12+
IMG ?= $(REGISTRY)/runtime-class-manager:$(TAG)
13+
# Defaults for the shim-downloader and node-installer images
14+
SHIM_DOWNLOADER_IMAGE := $(REGISTRY)/shim-downloader:$(TAG)
15+
SHIM_NODE_INSTALLER_IMAGE := $(REGISTRY)/node-installer:$(TAG)
16+
1117
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
1218
ENVTEST_K8S_VERSION = 1.28.0
1319

@@ -98,18 +104,38 @@ build: manifests generate fmt vet golangci-build ## Build manager binary.
98104

99105
.PHONY: run
100106
run: manifests generate fmt vet ## Run a controller from your host.
101-
CONTROLLER_NAMESPACE="default" go run -ldflags "${LDFLAGS}" ./cmd/rcm/main.go
107+
CONTROLLER_NAMESPACE="default" \
108+
SHIM_DOWNLOADER_IMAGE="$(SHIM_DOWNLOADER_IMAGE)" \
109+
SHIM_NODE_INSTALLER_IMAGE="$(SHIM_NODE_INSTALLER_IMAGE)" \
110+
go run -ldflags "${LDFLAGS}" ./cmd/rcm/main.go
102111

103112
# If you wish to build the manager image targeting other platforms you can use the --platform flag.
104113
# (i.e. docker build --platform linux/arm64). However, you must enable docker buildKit for it.
105114
# More info: https://docs.docker.com/develop/develop-images/build_enhancements/
106115
.PHONY: docker-build
107-
docker-build: ## Build docker image with the manager.
116+
docker-build: ## Build the runtime-class-manager image.
108117
$(CONTAINER_TOOL) build -t ${IMG} .
109118

119+
.PHONY: docker-build-shim-downloader
120+
docker-build-shim-downloader: ## Build the shim-downloader image.
121+
$(CONTAINER_TOOL) build -t ${SHIM_DOWNLOADER_IMAGE} -f ./images/downloader/Dockerfile .
122+
123+
.PHONY: docker-build-node-installer
124+
docker-build-node-installer: ## Build the node-installer image.
125+
$(CONTAINER_TOOL) build -t ${SHIM_DOWNLOADER_IMAGE} -f ./images/installer/Dockerfile ./images/downloader
126+
127+
.PHONY: docker-build-all
128+
docker-build-all: docker-build docker-build-shim-downloader docker-build-node-installer
129+
110130
.PHONY: docker-push
111-
docker-push: ## Push docker image with the manager.
112-
$(CONTAINER_TOOL) push ${IMG}
131+
docker-push: docker-push-runtime-class-manager ## Push the runtime-class-manager image.
132+
133+
.PHONY: docker-push-%
134+
docker-push-%:
135+
$(CONTAINER_TOOL) push $(REGISTRY)/$*:$(TAG)
136+
137+
.PHONY: docker-push-all
138+
docker-push-all: docker-push docker-push-shim-downloader docker-push-node-installer
113139

114140
# PLATFORMS defines the target platforms for the manager image be built to provide support to multiple
115141
# architectures. (i.e. make docker-buildx IMG=myregistry/mypoperator:0.0.1). To use this option you need to:

0 commit comments

Comments
 (0)