-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
69 lines (51 loc) · 1.22 KB
/
Copy pathMakefile
File metadata and controls
69 lines (51 loc) · 1.22 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
SHELL := /bin/bash
PROJECT := kafka-scripts
# paths
SCRIPTS_DIR := scripts
BROKER_DIR := $(SCRIPTS_DIR)/broker
TOPICS_DIR := $(SCRIPTS_DIR)/topics
PROD_DIR := $(SCRIPTS_DIR)/producer
CONS_DIR := $(SCRIPTS_DIR)/consumer
EXPERIMENT_DIR := $(SCRIPTS_DIR)/experiments
# docker
DOCKER_DIR := docker
COMPOSE_FILE := $(DOCKER_DIR)/docker-compose.yml
# defaults
TOPIC ?= products.prices.changelog
.PHONY: \
up down down-clean ps \
create describe list delete \
produce consume \
broker-api
# docker
up:
docker compose -p $(PROJECT) -f $(COMPOSE_FILE) up -d
up-log:
docker compse -p $(PROJECT) -f $(COMPOSE_FILE) up
down:
docker compose -p $(PROJECT) -f $(COMPOSE_FILE) down
down-clean:
docker compose -p $(PROJECT) -f $(COMPOSE_FILE) down -v
ps:
docker compose -p $(PROJECT) ps
# topics
create:
bash $(TOPICS_DIR)/create.sh
describe:
TOPIC=$(TOPIC) bash $(TOPICS_DIR)/describe.sh
list:
bash $(TOPICS_DIR)/list.sh
delete:
TOPIC=$(TOPIC) bash $(TOPICS_DIR)/delete.sh
# producer
produce:
TOPIC=$(TOPIC) bash $(PROD_DIR)/produce.sh
# consumer
consume:
TOPIC=$(TOPIC) bash $(CONS_DIR)/consume.sh
# broker
broker-api:
bash $(BROKER_DIR)/broker-api.sh
# experiments
election:
bash $(EXPERIMENT_DIR)/controller-election.sh