Skip to content

Commit 8110aaf

Browse files
Gabriel MonroyMatthew Fisher
authored andcommitted
refactor(makefile): dispatch to relevant coreos utilities
chore(makefile): stop on uninstall chore(makefile): separate clean and full-clean chore(makefile): separate clean and full-clean perf(makefile): batch ssh calls in root makefile fix(Makefile): run make cmds on vagrant in order to be consistent, all commands should be run under vagrant.
1 parent 4220183 commit 8110aaf

9 files changed

Lines changed: 231 additions & 109 deletions

File tree

Makefile

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,40 @@
1+
#
2+
# Deis Makefile
3+
#
4+
5+
# ordered list of deis components
6+
COMPONENTS=registry logger database cache controller builder router
7+
8+
all: build run
9+
110
test_client:
211
python -m unittest discover client.tests
312

413
build:
5-
for image in builder cache controller database discovery logger registry deis; do \
6-
pushd $$image; \
7-
docker build -t deis/$$image .; \
8-
popd; \
9-
done
14+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c && docker build -t deis/$$c . && cd ..; done'
15+
16+
install:
17+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c && sudo systemctl enable $$(pwd)/systemd/* && cd ..; done'
18+
19+
uninstall: stop
20+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c && sudo systemctl disable $$(pwd)/systemd/* && cd ..; done'
21+
22+
start:
23+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c/systemd && sudo systemctl start * && cd ../..; done'
24+
25+
stop:
26+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c/systemd && sudo systemctl stop * && cd ../..; done'
27+
28+
restart:
29+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do cd $$c/systemd && sudo systemctl restart * && cd ../..; done'
30+
31+
logs:
32+
vagrant ssh -c 'journalctl -f -u deis-* -u docker.service'
33+
34+
run: install restart logs
35+
36+
clean: uninstall
37+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do docker rm -f deis-$$c; done'
38+
39+
full-clean: clean
40+
vagrant ssh -c 'cd share && for c in $(COMPONENTS); do docker rmi deis-$$c; done'

builder/Makefile

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,28 @@
11
build:
2-
docker build -t deis/builder .
2+
vagrant ssh -c 'cd share/builder && docker build -t deis/builder .'
33

4-
config:
5-
-etcdctl -C $${ETCD:-127.0.0.1:4001} setdir /deis
6-
-etcdctl -C $${ETCD:-127.0.0.1:4001} setdir /deis/builder
7-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/builder/port $${PORT:-22}
4+
install:
5+
vagrant ssh -c 'sudo systemctl enable /home/core/share/builder/systemd/*'
86

9-
run:
10-
docker run -privileged -e ETCD=$${ETCD:-127.0.0.1:4001} -p $${PORT:-2222}:$${PORT:-22} -rm deis/builder ; exit 0
7+
uninstall: stop
8+
vagrant ssh -c 'sudo systemctl disable /home/core/share/builder/systemd/*'
119

12-
shell:
13-
docker run -privileged -e $${ETCD:-127.0.0.1:4001} -t -i -rm deis/builder /bin/bash
10+
start:
11+
vagrant ssh -c 'sudo systemctl start deis-builder.service'
1412

15-
clean:
16-
-docker rmi deis/builder
13+
stop:
14+
vagrant ssh -c 'sudo systemctl stop deis-builder.service'
15+
16+
restart:
17+
vagrant ssh -c 'sudo systemctl restart deis-builder.service'
18+
19+
logs:
20+
vagrant ssh -c 'sudo journalctl -f -u deis-builder.service'
21+
22+
run: install restart logs
23+
24+
clean: uninstall
25+
vagrant ssh -c 'sudo docker rm -f deis-builder'
26+
27+
full-clean: clean
28+
vagrant ssh -c 'sudo docker rmi deis/builder'

cache/Makefile

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
11
build:
2-
docker build -t deis/cache .
2+
vagrant ssh -c 'cd share/cache && sudo docker build -t deis/cache .'
33

4-
run:
5-
docker run -rm -p :6379 -e ETCD=$${ETCD:-127.0.0.1:4001} deis/cache
6-
exit 0
4+
install:
5+
vagrant ssh -c 'sudo systemctl enable /home/core/share/cache/systemd/*'
76

8-
shell:
9-
docker run -t -i -rm deis/cache /bin/bash
7+
uninstall: stop
8+
vagrant ssh -c 'sudo systemctl disable /home/core/share/cache/systemd/*'
109

11-
clean:
12-
-docker rmi deis/cache
10+
start:
11+
vagrant ssh -c 'sudo systemctl start deis-cache.service'
12+
13+
stop:
14+
vagrant ssh -c 'sudo systemctl stop deis-cache.service'
15+
16+
restart:
17+
vagrant ssh -c 'sudo systemctl restart deis-cache.service'
18+
19+
logs:
20+
vagrant ssh -c 'sudo journalctl -f -u deis-cache.service'
21+
22+
run: install restart logs
23+
24+
clean: uninstall
25+
vagrant ssh -c 'sudo docker rm -f deis-cache'
26+
27+
full-clean: clean
28+
vagrant ssh -c 'sudo docker rmi deis/cache'

controller/Makefile

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,35 @@
1+
.PHONY: all test logs
2+
3+
all: build run
4+
15
build:
2-
docker build -t deis/controller .
6+
vagrant ssh -c 'cd share/controller && sudo docker build -t deis/controller .'
7+
8+
install:
9+
vagrant ssh -c 'sudo systemctl enable /home/core/share/controller/systemd/*'
10+
11+
uninstall: stop
12+
vagrant ssh -c 'sudo systemctl disable /home/core/share/controller/systemd/*'
13+
14+
start:
15+
vagrant ssh -c 'sudo systemctl start deis-controller.service'
16+
17+
stop:
18+
vagrant ssh -c 'sudo systemctl stop deis-controller.service'
19+
20+
restart:
21+
vagrant ssh -c 'sudo systemctl restart deis-controller.service'
22+
23+
logs:
24+
vagrant ssh -c 'sudo journalctl -f -u deis-controller.service'
325

4-
run:
5-
docker run -p $${PORT:-8000}:$${PORT:-8000} -e ETCD=$${ETCD:-127.0.0.1:4001} -name deis-controller deis/controller
6-
exit 0
26+
run: install restart logs
727

8-
shell:
9-
docker run -t -i -e ETCD=$${ETCD:-127.0.0.1:4001} deis/controller /bin/bash
28+
clean: uninstall
29+
vagrant ssh -c 'sudo docker rm -f deis-controller'
1030

11-
clean:
12-
-docker rmi deis/controller
31+
full-clean: clean
32+
vagrant ssh -c 'sudo docker rmi deis/controller'
1333

1434
test:
1535
python manage.py test --noinput api web

database/Makefile

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,28 @@
11
build:
2-
docker build -t deis/database .
3-
4-
env:
5-
export PG_ADMIN_USER=`etcdctl -C $${ETCD:-127.0.0.1:4001} get /deis/database/admin-user`
6-
export PG_ADMIN_PASS=`etcdctl -C $${ETCD:-127.0.0.1:4001} get /deis/database/admin-pass`
7-
export PG_USER_NAME=`etcdctl -C $${ETCD:-127.0.0.1:4001} get /deis/database/user`
8-
export PG_USER_PASS=`etcdctl -C $${ETCD:-127.0.0.1:4001} get /deis/database/password`
9-
export PG_USER_DB=`etcdctl -C $${ETCD:-127.0.0.1:4001} get /deis/database/name`
10-
env
11-
12-
config:
13-
-etcdctl -C $${ETCD:-127.0.0.1:4001} setdir /deis
14-
-etcdctl -C $${ETCD:-127.0.0.1:4001} setdir /deis/database
15-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/database/engine $${DATABASE_ENGINE:-databaseql_psycopg2}
16-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/database/admin-user $${DATABASE_ADMIN_USER:-database}
17-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/database/admin-pass $${DATABASE_ADMIN_PASS:-changeme123}
18-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/database/host $${DATABASE_HOST:-127.0.0.1}
19-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/database/user $${DATABASE_USER:-docker}
20-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/database/password $${DATABASE_PASS:-changeme123}
21-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/database/name $${DATABASE_NAME:-docker}
22-
23-
run:
24-
docker run -p :5432 -e ETCD=$${ETCD:-127.0.0.1:4001} deis/database
25-
exit 0
26-
27-
shell:
28-
docker run -t -i -rm deis/database /bin/bash
29-
30-
clean:
31-
-docker rmi deis/database
2+
vagrant ssh -c 'cd share/database && sudo docker build -t deis/database .'
3+
4+
install:
5+
vagrant ssh -c 'sudo systemctl enable /home/core/share/database/systemd/*'
6+
7+
uninstall: stop
8+
vagrant ssh -c 'sudo systemctl disable /home/core/share/database/systemd/*'
9+
10+
start:
11+
vagrant ssh -c 'sudo systemctl start deis-database.service'
12+
13+
stop:
14+
vagrant ssh -c 'sudo systemctl stop deis-database.service'
15+
16+
restart:
17+
vagrant ssh -c 'sudo systemctl restart deis-database.service'
18+
19+
logs:
20+
vagrant ssh -c 'sudo journalctl -f -u deis-database.service'
21+
22+
run: install restart logs
23+
24+
clean: uninstall
25+
vagrant ssh -c 'sudo docker rm -f deis-database'
26+
27+
full-clean: clean
28+
vagrant ssh -c 'sudo docker rmi deis/database'

discovery/Makefile

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,28 @@
11
build:
2-
docker build -t deis/discovery .
3-
4-
run:
5-
docker run -p 4001:4001 -p 7001:7001 -e PUBLIC_IP=10.0.1.8 -rm deis/discovery ; exit 0
2+
vagrant ssh -c 'cd share/discovery && sudo docker build -t deis/discovery .'
63

7-
shell:
8-
docker run -t -i -rm -e PUBLIC_IP=10.0.1.8 deis/discovery /bin/bash
4+
install:
5+
vagrant ssh -c 'sudo systemctl enable /home/core/share/discovery/systemd/*'
96

10-
clean:
11-
docker rmi deis/discovery
7+
uninstall:
8+
-vagrant ssh -c 'sudo systemctl disable /home/core/share/discovery/systemd/*'
9+
10+
start:
11+
vagrant ssh -c 'sudo systemctl start deis-discovery.service'
12+
13+
stop:
14+
-vagrant ssh -c 'sudo systemctl stop deis-discovery.service'
15+
16+
restart:
17+
vagrant ssh -c 'sudo systemctl restart deis-discovery.service'
18+
19+
logs:
20+
vagrant ssh -c 'sudo journalctl -f -u deis-discovery.service'
21+
22+
run: install restart logs
23+
24+
clean: stop uninstall
25+
vagrant ssh -c 'sudo docker rm -f deis-discovery'
26+
27+
full-clean: clean
28+
vagrant ssh -c 'sudo docker rmi deis/discovery'

logger/Makefile

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
11
build:
2-
docker build -t deis/logger .
2+
vagrant ssh -c 'cd share/logger && sudo docker build -t deis/logger .'
33

4-
run:
5-
docker run -rm -p :514 -e ETCD=$${ETCD:-127.0.0.1:4001} deis/logger
6-
exit 0
4+
install:
5+
vagrant ssh -c 'sudo systemctl enable /home/core/share/logger/systemd/*'
76

8-
shell:
9-
docker run -t -i -rm deis/logger /bin/bash
7+
uninstall: stop
8+
vagrant ssh -c 'sudo systemctl disable /home/core/share/logger/systemd/*'
109

11-
clean:
12-
-docker rmi deis/logger
10+
start:
11+
vagrant ssh -c 'sudo systemctl start deis-logger.service'
12+
13+
stop:
14+
vagrant ssh -c 'sudo systemctl stop deis-logger.service'
15+
16+
restart:
17+
vagrant ssh -c 'sudo systemctl restart deis-logger.service'
18+
19+
logs:
20+
vagrant ssh -c 'sudo journalctl -f -u deis-logger.service'
21+
22+
run: install restart logs
23+
24+
clean: uninstall
25+
vagrant ssh -c 'sudo docker rm -f deis-logger'
26+
27+
full-clean: clean
28+
vagrant ssh -c 'sudo docker rmi deis/logger'

registry/Makefile

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
11
build:
2-
docker build -t deis/registry .
2+
vagrant ssh -c 'cd share/registry && sudo docker build -t deis/registry .'
33

4-
run:
5-
docker run -rm -p :5000 -e ETCD=$${ETCD:-127.0.0.1:4001} deis/registry
6-
exit 0
4+
install:
5+
vagrant ssh -c 'sudo systemctl enable /home/core/share/registry/systemd/*'
76

8-
shell:
9-
docker run -t -i -rm deis/registry /bin/bash
7+
uninstall: stop
8+
vagrant ssh -c 'sudo systemctl disable /home/core/share/registry/systemd/*'
109

11-
clean:
12-
-docker rmi deis/registry
10+
start:
11+
vagrant ssh -c 'sudo systemctl start deis-registry.service'
12+
13+
stop:
14+
-vagrant ssh -c 'sudo systemctl stop deis-registry.service'
15+
16+
restart:
17+
vagrant ssh -c 'sudo systemctl restart deis-registry.service'
18+
19+
logs:
20+
vagrant ssh -c 'sudo journalctl -f -u deis-registry.service'
21+
22+
run: install restart logs
23+
24+
clean: uninstall
25+
vagrant ssh -c 'sudo docker rm -f deis-registry'
26+
27+
full-clean: clean
28+
vagrant ssh -c 'sudo docker rmi deis/registry'

router/Makefile

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,28 @@
11
build:
2-
docker build -t deis/router .
2+
vagrant ssh -c 'cd share/router && sudo docker build -t deis/router .'
33

4-
env:
5-
export ROUTER_HOST=`etcdctl -C $${ETCD:-127.0.0.1:4001} get /deis/router/host`
6-
export ROUTER_PORT=`etcdctl -C $${ETCD:-127.0.0.1:4001} get /deis/router/port`
7-
export ROUTER_WORKER_CONNECTIONS=`etcdctl -C $${ETCD:-127.0.0.1:4001} get /deis/router/workerConnections`
8-
export ROUTER_WORKER_PROCESSES=`etcdctl -C $${ETCD:-127.0.0.1:4001} get /deis/router/workerProcesses`
9-
env
4+
install:
5+
vagrant ssh -c 'sudo systemctl enable /home/core/share/router/systemd/*'
106

11-
config:
12-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/router/host $${ROUTER_HOST:-127.0.0.1}
13-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/router/port $${ROUTER_PORT:-80}
14-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/router/workerConnections $${ROUTER_WORKER_CONNECTIONS:-1024}
15-
etcdctl -C $${ETCD:-127.0.0.1:4001} set /deis/router/workerProcesses $${ROUTER_WORKER_PROCESSES:-2}
7+
uninstall: stop
8+
vagrant ssh -c 'sudo systemctl disable /home/core/share/router/systemd/*'
169

17-
run:
18-
docker run -d -p 80:80 -e ETCD=$${ETCD:-172.17.42.1:4001} -e HOST=$${HOST:-172.17.42.1} --name deis-router deis/router
10+
start:
11+
vagrant ssh -c 'sudo systemctl start deis-router.service'
1912

20-
shell:
21-
docker run -t -i -rm deis/router /bin/bash
13+
stop:
14+
vagrant ssh -c 'sudo systemctl stop deis-router.service'
2215

23-
kill:
24-
docker kill deis-router
25-
docker rm deis-router
16+
restart:
17+
vagrant ssh -c 'sudo systemctl restart deis-router.service'
2618

27-
clean:
28-
docker rmi deis/router
19+
logs:
20+
vagrant ssh -c 'sudo journalctl -f -u deis-router.service'
2921

30-
test:
31-
docker build .
22+
run: install restart logs
23+
24+
clean: uninstall
25+
vagrant ssh -c 'sudo docker rm -f deis-router'
26+
27+
full-clean: clean
28+
vagrant ssh -c 'sudo docker rmi deis/router'

0 commit comments

Comments
 (0)