initial commit
This commit is contained in:
commit
9c7f7894b9
23 changed files with 1656 additions and 0 deletions
63
Makefile
Normal file
63
Makefile
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# Image URL to use all building/pushing image targets
|
||||
REGISTRY ?= reg.k8s.giftfish.de/library
|
||||
IMAGE_NAME ?= pve-cloud-controller-manager
|
||||
CONTROLLER_IMG ?= $(REGISTRY)/$(IMAGE_NAME)
|
||||
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: manager
|
||||
|
||||
# Run tests
|
||||
test: generate fmt vet manifests
|
||||
go test ./... -coverprofile cover.out
|
||||
|
||||
# Build manager binary
|
||||
manager: generate fmt vet
|
||||
go build -o bin/manager main.go
|
||||
|
||||
# Run go fmt against code
|
||||
fmt:
|
||||
go fmt ./...
|
||||
|
||||
# Run go vet against code
|
||||
vet:
|
||||
go vet ./...
|
||||
|
||||
.PHONY: docker-build
|
||||
docker-build: ## Build the docker image for controller-manager
|
||||
docker build --pull --build-arg ARCH=$(ARCH) --build-arg LDFLAGS="$(LDFLAGS)" . -t $(CONTROLLER_IMG)-$(ARCH):$(TAG)
|
||||
MANIFEST_IMG=$(CONTROLLER_IMG)-$(ARCH) MANIFEST_TAG=$(TAG) $(MAKE) set-manifest-image
|
||||
$(MAKE) set-manifest-pull-policy
|
||||
|
||||
.PHONY: docker-push
|
||||
docker-push: ## Push the docker image
|
||||
docker push $(CONTROLLER_IMG)-$(ARCH):$(TAG)
|
||||
|
||||
.PHONY: docker-push-manifest
|
||||
docker-push-manifest: ## Push the fat manifest docker image.
|
||||
## Minimum docker version 18.06.0 is required for creating and pushing manifest images.
|
||||
docker manifest create --amend $(CONTROLLER_IMG):$(TAG) $(shell echo $(ALL_ARCH) | sed -e "s~[^ ]*~$(CONTROLLER_IMG)\-&:$(TAG)~g")
|
||||
@for arch in $(ALL_ARCH); do docker manifest annotate --arch $${arch} ${CONTROLLER_IMG}:${TAG} ${CONTROLLER_IMG}-$${arch}:${TAG}; done
|
||||
docker manifest push --purge ${CONTROLLER_IMG}:${TAG}
|
||||
MANIFEST_IMG=$(CONTROLLER_IMG) MANIFEST_TAG=$(TAG) $(MAKE) set-manifest-image
|
||||
$(MAKE) set-manifest-pull-policy
|
||||
|
||||
.PHONY: set-manifest-image
|
||||
set-manifest-image:
|
||||
$(info Updating kustomize image patch file for manager resource)
|
||||
sed -i'' -e 's@image: .*@image: '"${MANIFEST_IMG}:$(MANIFEST_TAG)"'@' ./config/manager/manager_image_patch.yaml
|
||||
|
||||
|
||||
.PHONY: set-manifest-pull-policy
|
||||
set-manifest-pull-policy:
|
||||
$(info Updating kustomize pull policy file for manager resource)
|
||||
sed -i'' -e 's@imagePullPolicy: .*@imagePullPolicy: '"$(PULL_POLICY)"'@' ./config/manager/manager_pull_policy.yaml
|
||||
Loading…
Add table
Add a link
Reference in a new issue