blob: 75ad470357c99c50660b4cdf6a06f65d3a687eed [file] [log] [blame]
Giorgi Lekveishvili0048a782023-06-20 18:32:21 +04001OS ?= $(shell go env GOOS)
2ARCH ?= $(shell go env GOARCH)
3
4ifeq (Darwin, $(shell uname))
5 GREP_PREGEX_FLAG := E
6else
7 GREP_PREGEX_FLAG := P
8endif
9
10GO_VERSION ?= $(shell go mod edit -json | grep -${GREP_PREGEX_FLAG}o '"Go":\s+"([0-9.]+)"' | sed -E 's/.+"([0-9.]+)"/\1/')
11
12IMAGE_NAME := bwolf/cert-manager-webhook-gandi
13IMAGE_TAG := 0.2.0
14
15OUT := $(shell pwd)/_out
16
17KUBEBUILDER_VERSION=2.3.2
18
19$(shell mkdir -p "${OUT}")
20
21test: _test/kubebuilder
22 TEST_ASSET_ETCD=_test/kubebuilder/bin/etcd \
23 TEST_ASSET_KUBE_APISERVER=_test/kubebuilder/bin/kube-apiserver \
24 TEST_ASSET_KUBECTL=_test/kubebuilder/bin/kubectl \
25 go test -v .
26
27_test/kubebuilder:
28 curl -fsSL https://github.com/kubernetes-sigs/kubebuilder/releases/download/v${KUBEBUILDER_VERSION}/kubebuilder_${KUBEBUILDER_VERSION}_${OS}_${ARCH}.tar.gz -o kubebuilder-tools.tar.gz
29 mkdir -p _test/kubebuilder
30 tar -xvf kubebuilder-tools.tar.gz
31 mv kubebuilder_${KUBEBUILDER_VERSION}_${OS}_${ARCH}/bin _test/kubebuilder/
32 rm kubebuilder-tools.tar.gz
33 rm -R kubebuilder_${KUBEBUILDER_VERSION}_${OS}_${ARCH}
34
35clean: clean-kubebuilder
36
37clean-kubebuilder:
38 rm -Rf _test/kubebuilder
39
40build:
41 docker buildx build --target=image --platform=linux/amd64 --output=type=docker,name=${IMAGE_NAME}:${IMAGE_TAG} --tag=${IMAGE_NAME}:latest --build-arg=GO_VERSION=${GO_VERSION} .
42
43package:
44 helm package deploy/cert-manager-webhook-gandi -d charts/
45 helm repo index charts/ --url https://bwolf.github.io/cert-manager-webhook-gandi
46
47.PHONY: rendered-manifest.yaml
48rendered-manifest.yaml:
49 helm template \
50 --set image.repository=${IMAGE_NAME} \
51 --set image.tag=${IMAGE_TAG} \
52 deploy/cert-manager-webhook-gandi > "${OUT}/rendered-manifest.yaml"