65 lines
1.6 KiB
Makefile
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
|