-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathMakefile
More file actions
110 lines (87 loc) · 3.63 KB
/
Copy pathMakefile
File metadata and controls
110 lines (87 loc) · 3.63 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
.DEFAULT_GOAL := default
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
GIT_COMMIT ?= $(shell git rev-parse HEAD 2>/dev/null)
BUILD_TIME ?= $(shell date -u '+%Y-%m-%dT%H:%M:%SZ')
LDFLAGS := -X 'github.com/Azure/adx-mon/pkg/version.Version=$(VERSION)' \
-X 'github.com/Azure/adx-mon/pkg/version.GitCommit=$(GIT_COMMIT)' \
-X 'github.com/Azure/adx-mon/pkg/version.BuildTime=$(BUILD_TIME)'
build-alerter:
mkdir -p bin
CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o bin/alerter ./cmd/alerter/...
.PHONY: build-alerter
build-ingestor:
mkdir -p bin
CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o bin/ingestor ./cmd/ingestor/...
.PHONY: build-ingestor
build-collector:
mkdir -p bin
CGO_ENABLED=1 go build -ldflags="$(LDFLAGS)" -o bin/collector ./cmd/collector/
.PHONY: build-collector
build-operator:
mkdir -p bin
CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o bin/operator ./cmd/operator/...
.PHONY: build-operator
build-adxexporter:
mkdir -p bin
CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o bin/adxexporter ./cmd/adxexporter/...
.PHONY: build-adxexporter
build: build-alerter build-ingestor build-collector build-operator build-adxexporter
.PHONY: build
image: image-ingestor image-alerter image-collector image-operator
.PHONY: image
image-ingestor:
docker build --no-cache --build-arg VERSION=$(VERSION) --build-arg GIT_COMMIT=$(GIT_COMMIT) --build-arg BUILD_TIME=$(BUILD_TIME) -t ghcr.io/azure/adx-mon/ingestor:latest -f build/images/Dockerfile.ingestor .
.PHONY: image-ingestor
image-alerter:
docker build --no-cache --build-arg VERSION=$(VERSION) --build-arg GIT_COMMIT=$(GIT_COMMIT) --build-arg BUILD_TIME=$(BUILD_TIME) -t ghcr.io/azure/adx-mon/alerter:latest -f build/images/Dockerfile.alerter .
.PHONY: image-alerter
image-collector:
docker build --no-cache --build-arg VERSION=$(VERSION) --build-arg GIT_COMMIT=$(GIT_COMMIT) --build-arg BUILD_TIME=$(BUILD_TIME) -t ghcr.io/azure/adx-mon/collector:latest -f build/images/Dockerfile.collector .
.PHONY: image-collector
image-operator:
docker build --no-cache --build-arg VERSION=$(VERSION) --build-arg GIT_COMMIT=$(GIT_COMMIT) --build-arg BUILD_TIME=$(BUILD_TIME) -t ghcr.io/azure/adx-mon/operator:latest -f build/images/Dockerfile.operator .
.PHONY: image-operator
image-operator-dev:
.PHONY: image-operator-dev
push:
docker push ghcr.io/azure/adx-mon/alerter:latest
docker push ghcr.io/azure/adx-mon/ingestor:latest
docker push ghcr.io/azure/adx-mon/collector:latest
docker push ghcr.io/azure/adx-mon/operator:latest
.PHONY: push
clean:
rm bin/*
.PHONY: clean
gendocs:
go run tools/docgen/config/config.go
.PHONY: gendocs
test:
ENABLE_ASSERTIONS=true INTEGRATION=1 go test -timeout 30m ./...
.PHONY: test
# Generate CRDs, replacing MY_CRD with the _kind_ of the CRD you want to create
# and CMD is either create, to create a new CRD, or update, to update our existing CRDs.
#
# To generate a new CRD with kind=TestTest
# make generate-crd CRD=TestTest CMD=create
#
# To update our existing CRDs because of an updated field in api/v1/*.go
# make generate-crd CMD=update
generate-crd:
docker build --file tools/crdgen/Dockerfile --build-arg crd=$(CRD) --build-arg cmd=$(CMD) -t my-crdgen .
docker create --name my-crdgen-container my-crdgen
docker cp my-crdgen-container:/code/bin/. $(shell pwd)/bin
docker rm my-crdgen-container
docker rmi my-crdgen
mv bin/*.yaml kustomize/bases/
mv bin/*.go api/v1/
mv bin/PROJECT tools/crdgen/PROJECT
mkdir -p operator/manifests/crds
cp kustomize/bases/*.yaml operator/manifests/crds
.PHONY: generate-crd
k8s-bundle:
./build/scripts/generate-bundle.sh
.PHONY: k8s-bundle
default:
@$(MAKE) test
@$(MAKE) build
.PHONY: default