/
Taskfile.yaml
89 lines (75 loc) · 2.26 KB
/
Taskfile.yaml
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
version: '3'
dotenv: [".env"]
tasks:
build:
desc: "Build the docker compose file"
deps: [ssl-gen]
cmds:
- docker compose build --parallel
- if [ $IV3_ENV == "dev" ]; then docker save -o iv3.tar iv3-iv3:latest; fi
# The equivalent is docker load -i iv3.tar
all:
desc: "Start all the containers"
cmds:
- docker compose --env-file .env up -d
down:
desc: "Tear down iv3"
cmds:
- docker compose down
go:
cmds:
- go run *.go -influxdbToken $INFLUXDB_TOKEN
# InfluxDB.
# idb-nv, idb-new, idb-up, idp-down are meant for standalone
# instances, and quick testing.
idb-nv:
cmds:
- docker run
--name influxdb
-p 8086:8086
{{.CLI_ARGS}}
-d influxdb:2.7.0
- echo "InfluxDB UI on http://localhost:8086"
idb-new:
cmds:
- task idb-nv --
--volume $(pwd)/.data/influxdb2:/var/lib/influxdb2
idb-up:
cmds:
- docker start $(docker ps -a -qf "name=influxdb")
idb-down:
cmds:
- docker stop $(docker ps -qf "name=influxdb")
# Can be used in conjunction with docker composeinstances.
idb-backup:
desc: "Manually backup InfluxDB"
cmds:
- influx backup .data/backup/$(date '+%Y-%m-%d_%H-%M') -t $INFLUXDB_TOKEN
idb-restore:
desc: "Manually restore InfluxDB to the latest backup"
cmds:
- echo "restoring to version {{.BACKUP_VERSION}}"
- influx restore {{.BACKUP_VERSION}} --full -t $INFLUXDB_TOKEN
vars:
LATEST_VERSION:
sh: ls -d .data/backup/* | tail -1
BACKUP_VERSION: "{{.BACKUP_VERSION | default .LATEST_VERSION }}"
# TODO: temporary solution
idb-restore-auto:
desc: "Manually restore InfluxDB to the latest auto backup"
cmds:
- echo "restoring to version {{.BACKUP_VERSION}}"
- influx restore {{.BACKUP_VERSION}} --full -t $INFLUXDB_TOKEN
vars:
LATEST_VERSION:
sh: ls -d .data/auto_backup/* | tail -1
BACKUP_VERSION: "{{.BACKUP_VERSION | default .LATEST_VERSION }}"
# Docker install.
docker-install:
cmds:
- curl -fsSL https://get.docker.com -o get-docker.sh
- sh get-docker.sh
# SSL-gen. Don't run on local dev environment.
ssl-gen:
cmds:
- if [ "$IV3_ENV" != "dev" ]; then ./ssl-gen.sh; fi