-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
59 lines (39 loc) · 1.44 KB
/
Copy pathMakefile
File metadata and controls
59 lines (39 loc) · 1.44 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
OS ?= $(shell go env GOOS)
ARCH ?= $(shell go env GOARCH)
BUILD_CMD?=docker
KIND_ADDITIONAL_ARGS?=--kubeconfig ~/.kube/config
KIND_CLUSTER_NAME?=kind
# Images
APP_SNAPSHOT_IMAGE?=localhost/snapshot:test
APP_PRODUCER_IMAGE?=localhost/producer:test
APP_CONSUMER_IMAGE?=localhost/consumer:test
# prepare setup
create-kind-cluster:
kind create cluster ${KIND_ADDITIONAL_ARGS} --name ${KIND_CLUSTER_NAME} --config=./hack/kind_config.yaml
set-context:
kubectl config set-context kind-${KIND_CLUSTER_NAME}
prepare-environment: deploy-setup deploy-kafka
deploy-setup:
helmsman -f ./deploy/setup.yaml -apply
deploy-kafka:
kubectl apply -f ./deploy/kafka_cluster.yaml
# teardown setup
delete-kind-cluster:
kind delete cluster --name ${KIND_CLUSTER_NAME}
prepare-apps: build-all load-all
# Build applications
build-all: build-snapshot build-producer build-consumer
build-snapshot:
$(BUILD_CMD) build -t ${APP_SNAPSHOT_IMAGE} ./apps/snapshot
build-producer:
$(BUILD_CMD) build --platform=$(OS)/$(ARCH) --build-arg CMD_BIN=cmd/producer.go -t ${APP_PRODUCER_IMAGE} apps/report
build-consumer:
$(BUILD_CMD) build --platform=$(OS)/$(ARCH) --build-arg CMD_BIN=cmd/consumer.go -t ${APP_CONSUMER_IMAGE} apps/report
# Load images
load-all: load-snapshot load-producer load-consumer
load-snapshot:
kind load docker-image ${APP_SNAPSHOT_IMAGE}
load-producer:
kind load docker-image ${APP_PRODUCER_IMAGE}
load-consumer:
kind load docker-image ${APP_CONSUMER_IMAGE}