-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
60 lines (46 loc) · 1.26 KB
/
Makefile
File metadata and controls
60 lines (46 loc) · 1.26 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
# variables
host=xdoor
secrets_file=secrets.yml
# environment
export MIX_ENV = prod
export MIX_TARGET = rpi3
export XDOOR_HOST = ${host}
setup:
mix archive.install hex nerves_bootstrap
generate-secrets:
mkdir -p secrets priv/host_key
sops -d --extract '["mqtt_password"]' ${secrets_file} > secrets/mqtt_pw
sops -d --extract '["authorized_keys_pub_pem"]' ${secrets_file} > priv/authorized_keys_pub.pem
sops -d --extract '["${host}"]["ssh_key"]["pub"]' ${secrets_file} > priv/host_key/ssh_host_ed25519_key.pub
sops -d --extract '["${host}"]["ssh_key"]["priv"]' ${secrets_file} > priv/host_key/ssh_host_ed25519_key
burn-complete:
mix firmware ;\
mix firmware.burn --task complete
burn-upgrade:
mix firmware ;\
mix firmware.burn --task upgrade
push:
mix firmware &&\
rm -f upload.sh &&\
mix firmware.gen.script &&\
SSH_OPTIONS="-p 23" ./upload.sh ${host}.lan.xhain.space
deps-get:
mix local.hex --force ;\
mix local.rebar --force ;\
mix deps.get
deps-update:
mix deps.update --all
shell:
ssh -p 23 admin@${host}.lan.xhain.space
console:
MIX_TARGET=host MIX_ENV=dev iex -S mix
clean:
mix clean
mix nerves.clean --all
mix deps.clean --all
logs:
ssh admin@${host} logs
lock-state-changes:
ssh admin@${host} lock_state_changes
logins:
ssh admin@${host} logins