# 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