-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
75 lines (63 loc) · 2.79 KB
/
Makefile
File metadata and controls
75 lines (63 loc) · 2.79 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
include .env
export
.PHONY: create_dir copy_conf create_docker_things set_directory clean run build
.SILENT: create_dir copy_conf create_docker_things set_directory clean run build
ccend=$(shell tput sgr0)
ccbold=$(shell tput bold)
ccgreen=$(shell tput setaf 2)
ccso=$(shell tput smso)
# Create directory for docker volume
create_dir:
@echo "$(ccso)--> Create directory for TICK stack $(ccend)"
@mkdir -p "${DEFAULT_CONTAINER_VOLUME_PATH}/telegraf/config" \
"${DEFAULT_CONTAINER_VOLUME_PATH}/influxdb/data" \
"${DEFAULT_CONTAINER_VOLUME_PATH}/influxdb/config" \
"${DEFAULT_CONTAINER_VOLUME_PATH}/chronograf/data" \
"${DEFAULT_CONTAINER_VOLUME_PATH}/kapacitor/data" \
"${DEFAULT_CONTAINER_VOLUME_PATH}/kapacitor/config"
# Copy configure file
copy_conf:
@echo "$(ccso)--> Copy configure file $(ccend)"
@cp ./workspace/tick-stack/telegraf/telegraf.conf "${DEFAULT_CONTAINER_VOLUME_PATH}/telegraf/config/"
@cp ./workspace/tick-stack/influxdb/influxdb.conf "${DEFAULT_CONTAINER_VOLUME_PATH}/influxdb/config/"
@cp ./workspace/tick-stack/kapacitor/kapacitor.conf "${DEFAULT_CONTAINER_VOLUME_PATH}/kapacitor/config/"
# Create docker volume & network
create_docker_things:
@echo "$(ccso)--> Create docker volume & network $(ccend)"
@docker volume create -d local -o type=none -o o=bind -o device="${DEFAULT_CONTAINER_VOLUME_PATH}/influxdb/data" "${VOLUME_INFLUXDB_DATA}"
@docker volume create -d local -o type=none -o o=bind -o device="${DEFAULT_CONTAINER_VOLUME_PATH}/kapacitor/data" "${VOLUME_KAPACITOR_DATA}"
@docker volume create -d local -o type=none -o o=bind -o device="${DEFAULT_CONTAINER_VOLUME_PATH}/chronograf/data" "${VOLUME_CHRONOGRAF_DATA}"
@docker network create "${NETWORK_TICK}"
# Set directory owner & mode
set_directory:
@echo "$(ccso)--> Set directory $(ccend)"
@chown -R "${USER}:" "${DEFAULT_CONTAINER_VOLUME_PATH}"
@chmod -R 755 "${DEFAULT_CONTAINER_VOLUME_PATH}"
# Clean TICK stack project
clean:
@echo "$(ccso)--> Removing virtual environment $(ccend)"
@docker compose --env-file ./.env -f ./workspace/tick-stack/docker-compose.yml down --remove-orphans
@rm -rf ${DEFAULT_CONTAINER_VOLUME_PATH}
@docker volume rm -f ${VOLUME_INFLUXDB_DATA} \
${VOLUME_KAPACITOR_DATA} \
${VOLUME_CHRONOGRAF_DATA}
@docker network rm ${NETWORK_TICK}
# Build TICK stack project
build:
@echo ""
@echo "$(ccso)--> Build TICK stack project $(ccend)"
$(MAKE) create_dir && \
$(MAKE) copy_conf && \
$(MAKE) create_docker_things && \
$(MAKE) set_directory
# Run TICK stack using docker compose
run:
@echo ""
@echo "$(ccso)--> Run docker compose $(ccend)"
@docker compose --env-file ./.env -f ./workspace/tick-stack/docker-compose.yml up -d
# Test
test:
@echo ""
@echo "$(ccso)--> TICK stack Health Check $(ccend)"
@curl -f "http://localhost:8086/ping"; echo;
@curl -f "http://localhost:8888/ping"; echo;