-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathfunctions.sh
68 lines (55 loc) · 1.32 KB
/
functions.sh
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
#!/bin/bash
set -o errexit -o pipefail
components="elasticsearch fluentd rsyslog-collector qpid-router kibana"
atomicrundir=viaq-efk-atomicapp
function build_images(){
for component in $components; do
build_image "docker-$component"
build_image "nulecule-$component"
done
build_image "efk-atomicapp"
}
function build_image(){
local repo="$1"
[ -d $repo ] || git clone https://github.com/ViaQ/$repo
cd $repo
git pull --rebase
./build-image.sh
cd -
}
function turn_on(){
[ -d $atomicrundir ] ; rm $atomicrundir
mkdir $atomicrundir
cp efk-atomicapp/answers.conf $atomicrundir
cd $atomicrundir
atomic run viaq/efk-atomicapp
cd -
}
function turn_off(){
docker stop `docker ps -q`
[ -d $atomicrundir ] ; rm $atomicrundir
}
function _list_viaq_containers(){
docker ps -a --format="{{.ID}},{{.Image}},{{.Names}}" \
| grep ',viaq[/-]' \
| awk -F "," '{print $1}'
}
function _remove_docker_containers(){
for container in `_list_viaq_containers`; do
docker rm $container
done
}
function _remove_docker_image(){
if docker images | grep $1; then
docker rmi "$1"
fi
}
function cleanup(){
_remove_docker_containers
for component in $components; do
_remove_docker_image viaq/$component
_remove_docker_image viaq/nulecule-$component
done
docker rmi viaq/efk-atomicapp
[ "x`docker images | grep viaq`" == "x" ]
}