forked from kubernetes-sigs/custom-metrics-apiserver
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
60 lines (49 loc) · 2.05 KB
/
Makefile
File metadata and controls
60 lines (49 loc) · 2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
REGISTRY?=kubernetes-sigs
IMAGE?=k8s-test-metrics-adapter
TEMP_DIR:=$(shell mktemp -d)
ARCH?=amd64
OUT_DIR?=./_output
VERSION?=latest
.PHONY: all
all: build-test-adapter
.PHONY: build-test-adapter
build-test-adapter: test-adapter/generated/openapi/zz_generated.openapi.go
CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH) go build -o $(OUT_DIR)/$(ARCH)/test-adapter github.com/kubernetes-sigs/custom-metrics-apiserver/test-adapter
test-adapter/generated/openapi/zz_generated.openapi.go: go.mod go.sum
go install -mod=readonly k8s.io/kube-openapi/cmd/openapi-gen
$(GOPATH)/bin/openapi-gen --logtostderr \
-i k8s.io/metrics/pkg/apis/custom_metrics,k8s.io/metrics/pkg/apis/custom_metrics/v1beta1,k8s.io/metrics/pkg/apis/custom_metrics/v1beta2,k8s.io/metrics/pkg/apis/external_metrics,k8s.io/metrics/pkg/apis/external_metrics/v1beta1,k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/apimachinery/pkg/api/resource,k8s.io/apimachinery/pkg/version,k8s.io/api/core/v1 \
-h ./hack/boilerplate.go.txt \
-p ./test-adapter/generated/openapi \
-O zz_generated.openapi \
-o ./ \
-r /dev/null
.PHONY: gofmt
gofmt:
./hack/gofmt-all.sh
.PHONY: verify
verify: verify-deps verify-gofmt
.PHONY: verify-deps
verify-deps:
go mod verify
go mod tidy
@git diff --exit-code -- go.sum go.mod
.PHONY: verify-gofmt
verify-gofmt:
./hack/gofmt-all.sh -v
.PHONY: test
test:
CGO_ENABLED=0 go test ./pkg/...
.PHONY: test-adapter-container
test-adapter-container: build-test-adapter
cp test-adapter-deploy/Dockerfile $(TEMP_DIR)
cp $(OUT_DIR)/$(ARCH)/test-adapter $(TEMP_DIR)/adapter
cd $(TEMP_DIR) && sed -i.bak "s|BASEIMAGE|scratch|g" Dockerfile
sed -i.bak 's|REGISTRY|'${REGISTRY}'|g' test-adapter-deploy/testing-adapter.yaml
docker build -t $(REGISTRY)/$(IMAGE)-$(ARCH):$(VERSION) $(TEMP_DIR)
rm -rf $(TEMP_DIR) test-adapter-deploy/testing-adapter.yaml.bak
.PHONY: test-kind
test-kind:
kind load docker-image $(REGISTRY)/$(IMAGE)-$(ARCH):$(VERSION)
kubectl apply -f test-adapter-deploy/testing-adapter.yaml
kubectl rollout restart -n custom-metrics deployment/custom-metrics-apiserver