cloud-provider-pve/Makefile
2021-11-28 16:58:47 +01:00

65 lines
1.6 KiB
Makefile

# Image URL to use all building/pushing image targets
REGISTRY ?= reg.k8s.giftfish.de/library
CONTROLLER_NAME ?= pve-cloud-controller-manager
APPROVER_NAME ?= pve-csr-approver-manager
CONTROLLER_IMG ?= $(REGISTRY)/$(CONTROLLER_NAME)
APPROVER_IMG ?= $(REGISTRY)/$(APPROVER_NAME)
LDFLAGS ?= -s -w
TAG ?= dev
ARCH ?= amd64
PULL_POLICY ?= Always
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
ifeq (,$(shell go env GOBIN))
GOBIN=$(shell go env GOPATH)/bin
else
GOBIN=$(shell go env GOBIN)
endif
all: $(CONTROLLER_NAME) $(APPROVER_NAME)
# Run tests
test: fmt vet
go test ./... -coverprofile cover.out
.PHONY: $(CONTROLLER_NAME)
$(CONTROLLER_NAME): fmt vet
go build -o $(CONTROLLER_NAME) cmd/$(CONTROLLER_NAME)/main.go
.PHONY: $(APPROVER_NAME)
$(APPROVER_NAME): fmt vet
go build -o $(APPROVER_NAME) cmd/$(APPROVER_NAME)/main.go
# Run go fmt against code
fmt:
go fmt ./...
# Run go vet against code
vet:
go vet ./...
.PHONY: build-controller
build-controller:
docker build --build-arg ARCH=$(ARCH) --build-arg LDFLAGS="$(LDFLAGS)" -f images/$(CONTROLLER_NAME)/Dockerfile . -t $(CONTROLLER_IMG)-$(ARCH):$(TAG)
.PHONY: build-approver
build-approver:
docker build --build-arg ARCH=$(ARCH) --build-arg LDFLAGS="$(LDFLAGS)" -f images/$(APPROVER_NAME)/Dockerfile . -t $(APPROVER_IMG)-$(ARCH):$(TAG)
.PHONY: docker
docker: docker-build docker-push
.PHONY: docker-build
docker-build: build-controller build-approver
.PHONY: push-controller
push-controller:
docker push $(CONTROLLER_IMG)-$(ARCH):$(TAG)
.PHONY: push-approver
push-approver:
docker push $(APPROVER_IMG)-$(ARCH):$(TAG)
.PHONY: docker-push
docker-push: push-controller push-approver