stacco 0.1.68 → 0.1.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/priv/roles/Backend.sh +123 -49
- data/priv/roles/Common.sh +24 -6
- data/priv/roles/Frontend.sh +35 -14
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 680a5a39d8fa81c2b3e7830ff91cda8739cd47f9
|
4
|
+
data.tar.gz: 4eb25166d19dd268f5798b2666bd3718edc9c693
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9cfc1baff20eade90557dfe821130fd0cb7d37cde380393bd599fb32ab229081d672b1810e4b724f889c76ca2c5a830be06af76e448f6bfe27eb3b7b5ac757de
|
7
|
+
data.tar.gz: 7dc36b3ac0d03a7e148ce3dd6000a33ed3f5700dfbe5f55d8d9a2ae3028f327b3627e19dcfc9ee7cea5eca1f4d5fc8595d64c365e88da5be081c7356dc70a8d5
|
data/priv/roles/Backend.sh
CHANGED
@@ -1,9 +1,6 @@
|
|
1
|
-
|
2
|
-
backend_image="bexio/bexng:${BACKEND_IMAGE_TAG}"
|
3
|
-
|
4
|
-
# create bexng file-based config
|
1
|
+
step "setting up /target directory for bexbackend"
|
5
2
|
mkdir -p /etc/bexng
|
6
|
-
|
3
|
+
|
7
4
|
cat >"/etc/bexng/secrets.exs" <<EOF
|
8
5
|
[
|
9
6
|
authy_url: "${AUTHY_URL}",
|
@@ -32,65 +29,142 @@ cat >"/etc/bexng/secrets.exs" <<EOF
|
|
32
29
|
]
|
33
30
|
EOF
|
34
31
|
|
35
|
-
|
36
|
-
docker pull bexio/postgresql:latest && \
|
37
|
-
docker run --rm \
|
38
|
-
\$(docker-utils container-links-for -w 'postgresql') \
|
39
|
-
-e "DB_ADMIN_USERNAME=\${DB_ADMIN_USERNAME}" \
|
40
|
-
-e "DB_ADMIN_PASSWORD=\${DB_ADMIN_PASSWORD}" \
|
41
|
-
'bexio/postgresql:latest' \
|
42
|
-
db:create 'bexng' "\${BEXNG_DB_SECRET}"
|
43
|
-
EOF
|
44
|
-
chmod a+x /usr/local/sbin/bexng-before-start
|
32
|
+
step_done
|
45
33
|
|
46
34
|
|
47
|
-
|
48
|
-
gem update docker-utils
|
35
|
+
step "updating docker basefiles"
|
36
|
+
gem update 'docker-utils' --no-rdoc --no-ri
|
37
|
+
docker pull 'bexio/base:latest' >/dev/null 2>&1
|
38
|
+
docker pull 'bexio/toolchain:elixir-upgrade' >/dev/null 2>&1
|
39
|
+
step_done
|
49
40
|
|
50
|
-
docker pull tianon/true:latest
|
51
|
-
docker pull bexio/base:latest
|
52
|
-
docker pull bexio/amb:latest
|
53
|
-
docker pull bexio/bitcoind:latest
|
54
|
-
docker pull bexio/armoryd:latest
|
55
|
-
docker pull bexio/postgresql:latest
|
56
|
-
docker pull "${backend_image}"
|
57
|
-
docker pull "${frontend_image}"
|
58
41
|
|
42
|
+
start_bitcoind() {
|
59
43
|
|
60
44
|
if [ "${WALLET_NETWORK}" = "testnet3" ]; then
|
61
|
-
|
45
|
+
bitcoin_data_volume='tbtc-data'
|
62
46
|
else
|
63
|
-
|
47
|
+
bitcoin_data_volume='btc-data'
|
64
48
|
fi
|
65
49
|
|
66
|
-
docker
|
50
|
+
docker pull 'scratch:latest' >/dev/null 2>&1
|
51
|
+
|
52
|
+
docker run \
|
53
|
+
--name='bitcoind-data' \
|
54
|
+
--volumes-from="${bitcoin_data_volume}" \
|
55
|
+
--entrypoint 'volume' \
|
56
|
+
'scratch:latest' || :
|
57
|
+
|
58
|
+
step "starting bitcoind"
|
59
|
+
|
60
|
+
docker pull 'bexio/bitcoind:latest' >/dev/null 2>&1
|
61
|
+
|
62
|
+
docker run -d --restart=always \
|
63
|
+
--name='bitcoind' \
|
64
|
+
-e "NETWORK=${WALLET_NETWORK}" \
|
65
|
+
--volumes-from='bitcoind-data' \
|
66
|
+
'bexio/bitcoind:latest'
|
67
|
+
|
68
|
+
step_done
|
69
|
+
}
|
70
|
+
|
71
|
+
|
72
|
+
start_db() {
|
73
|
+
docker pull 'bexio/amb:latest' >/dev/null 2>&1
|
74
|
+
|
75
|
+
step "starting db"
|
76
|
+
|
77
|
+
docker run -d \
|
78
|
+
--name='rds-postgres-1' \
|
79
|
+
"bexio/amb:latest" \
|
80
|
+
"${DB_HOST}" "${DB_PORT}"
|
81
|
+
|
82
|
+
docker-utils block-until-port-open 'rds-postgres-1' '5432'
|
83
|
+
|
84
|
+
docker pull 'bexio/pgproxy:latest' >/dev/null 2>&1
|
85
|
+
|
86
|
+
docker run --rm -i -t \
|
87
|
+
--name='bexng-db-init-task' \
|
88
|
+
--link="rds-postgres-1:postgresql" \
|
89
|
+
-e "NO_PROXY=1" \
|
90
|
+
"bexio/pgproxy:latest" \
|
91
|
+
"${DB_ADMIN_USERNAME}" "${DB_ADMIN_PASSWORD}" \
|
92
|
+
'bexng' "${BEXNG_DB_SECRET}"
|
93
|
+
|
94
|
+
docker kill 'rds-postgres-1'
|
95
|
+
docker rm 'rds-postgres-1'
|
96
|
+
|
97
|
+
docker run -d --restart=always \
|
98
|
+
--name='rds-postgres' \
|
99
|
+
"bexio/amb:latest" \
|
67
100
|
"${DB_HOST}" "${DB_PORT}"
|
68
101
|
|
69
|
-
|
70
|
-
|
102
|
+
step_done
|
103
|
+
|
104
|
+
|
105
|
+
}
|
106
|
+
|
107
|
+
|
108
|
+
start_armoryd() {
|
109
|
+
step "starting armoryd"
|
110
|
+
|
111
|
+
docker pull 'bexio/armoryd:latest' >/dev/null 2>&1
|
112
|
+
|
113
|
+
docker run -d --restart=always \
|
114
|
+
--name="armoryd" \
|
115
|
+
-e "NETWORK=${WALLET_NETWORK}" \
|
116
|
+
"bexio/armoryd:latest"
|
117
|
+
|
118
|
+
step_done
|
119
|
+
}
|
120
|
+
|
121
|
+
start_bexbackend() {
|
122
|
+
docker-utils block-until-port-open 'rds-postgres' '5432'
|
123
|
+
docker-utils block-until-port-open 'bitcoind' '8333'
|
124
|
+
docker-utils block-until-port-open 'armoryd' '80'
|
71
125
|
|
72
|
-
|
73
|
-
-e "NETWORK=${WALLET_NETWORK}"
|
126
|
+
step "starting bexbackend"
|
74
127
|
|
75
|
-
docker
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
128
|
+
docker pull "bexio/bexng:${BACKEND_IMAGE_TAG}" >/dev/null 2>&1
|
129
|
+
|
130
|
+
export DEPLOY_TARGET="${DOMAIN}"
|
131
|
+
|
132
|
+
docker run -d --restart=always \
|
133
|
+
--name='bexbackend' \
|
134
|
+
--link='rds-postgres:postgresql' \
|
135
|
+
--link='bitcoind:bitcoind' \
|
136
|
+
--link='armoryd:armoryd' \
|
80
137
|
--volume "/etc/bexng:/target" \
|
81
138
|
--publish="51607:51607" \
|
82
|
-
-e "
|
83
|
-
-e "DEPLOY_TARGET
|
139
|
+
-e "BEXNG_DB_SECRET" \
|
140
|
+
-e "DEPLOY_TARGET" \
|
141
|
+
"bexio/bexng:${BACKEND_IMAGE_TAG}"
|
142
|
+
|
143
|
+
step_done
|
144
|
+
}
|
145
|
+
|
146
|
+
start_bexfrontend() {
|
147
|
+
docker-utils block-until-port-open 'bexbackend' '51607'
|
148
|
+
|
149
|
+
step "starting bexfrontend"
|
150
|
+
|
151
|
+
docker pull "bexio/frontend:${FRONTEND_IMAGE_TAG}" >/dev/null 2>&1
|
152
|
+
|
153
|
+
docker run -d --restart=always \
|
154
|
+
--name='bexfrontend' \
|
155
|
+
--link="bexbackend:backend" \
|
156
|
+
-e 'BEXNG_PORT_51608_TCP=tcp://backend:51608' \
|
157
|
+
--publish='80:8081' \
|
158
|
+
"bexio/frontend:${FRONTEND_IMAGE_TAG}"
|
159
|
+
|
160
|
+
step_done
|
161
|
+
}
|
84
162
|
|
85
|
-
docker-utils define-service "${frontend_image}" \
|
86
|
-
-e "BEXNG_PORT_51607_TCP=tcp://backend:51607" \
|
87
|
-
--link="bexng:backend" \
|
88
|
-
--publish="80:8080"
|
89
163
|
|
164
|
+
start_bitcoind &
|
165
|
+
start_db &
|
166
|
+
start_armoryd &
|
167
|
+
start_bexbackend &
|
168
|
+
start_bexfrontend &
|
169
|
+
wait
|
90
170
|
|
91
|
-
echo "starting docker-container services..."
|
92
|
-
start bitcoind
|
93
|
-
start armoryd
|
94
|
-
start postgresql
|
95
|
-
start bexng
|
96
|
-
start bexng-frontend
|
data/priv/roles/Common.sh
CHANGED
@@ -1,16 +1,24 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
step() {
|
2
|
+
_CFINIT_STEP="$1"; shift
|
3
|
+
echo -e "==> step: \033[33m${_CFINIT_STEP}\033[0m" >&2
|
4
4
|
}
|
5
5
|
|
6
|
+
step_done() {
|
7
|
+
echo -e "--> \033[32m${_CFINIT_STEP}\033[0m: ok" >&2
|
8
|
+
}
|
6
9
|
set -e
|
7
10
|
|
11
|
+
die(){
|
12
|
+
echo "--> \033[31merror during ${_CFINIT_STEP}\033[0m: $1" >&2
|
13
|
+
exit 1
|
14
|
+
}
|
15
|
+
|
8
16
|
export HOME=/root
|
9
17
|
cd "$HOME"
|
10
18
|
|
11
19
|
stop rsyslog
|
12
20
|
|
13
|
-
|
21
|
+
step "configuring hostname from cloudformation and aws metadata service"
|
14
22
|
configured_hostname="${CFN_INSTANCE_HOSTNAME}"
|
15
23
|
configured_hostname_short=$(echo "${configured_hostname}" | cut -d'.' -f 1)
|
16
24
|
private_hostname=$(curl -sL http://169.254.169.254/latest/meta-data/local-hostname)
|
@@ -34,6 +42,10 @@ cat >>/etc/hosts <<EOF
|
|
34
42
|
127.0.2.1 ${public_hostname} ${public_hostname_short}
|
35
43
|
EOF
|
36
44
|
fi
|
45
|
+
step_done
|
46
|
+
|
47
|
+
|
48
|
+
step "setting up remote logging"
|
37
49
|
|
38
50
|
rm -f /etc/rsyslog.d/21-cloudinit.conf
|
39
51
|
|
@@ -63,11 +75,14 @@ chown -R root:syslog /var/log/upstart
|
|
63
75
|
|
64
76
|
start rsyslog
|
65
77
|
|
78
|
+
step_done
|
79
|
+
|
66
80
|
|
67
81
|
provision_volume() {
|
68
82
|
device="$1"; shift
|
69
83
|
mntpt="$1"; shift
|
70
84
|
|
85
|
+
step "provisioning btrfs on ${mntpt} using ${device}"
|
71
86
|
mkfs.btrfs "${device}" 2>/dev/null || :
|
72
87
|
|
73
88
|
mount "${device}" /mnt 2>/dev/null || :
|
@@ -76,6 +91,7 @@ provision_volume() {
|
|
76
91
|
|
77
92
|
mkdir -p "${mntpt}"
|
78
93
|
mount -t btrfs -o "rw,noatime,space_cache" "${device}" "${mntpt}"
|
94
|
+
step_done
|
79
95
|
}
|
80
96
|
|
81
97
|
if [ -b "/dev/xvdc" ]; then
|
@@ -87,18 +103,20 @@ if [ -b "/dev/xvdd" ]; then
|
|
87
103
|
fi
|
88
104
|
|
89
105
|
if ! hash docker; then
|
90
|
-
|
106
|
+
step "installing docker..."
|
91
107
|
echo 'deb http://get.docker.io/ubuntu docker main' > /etc/apt/sources.list.d/docker.list
|
92
108
|
apt-key adv --keyserver 'hkp://pgp.mit.edu:80' --recv-keys '36A1D7869245C8950F966E92D8576A8BA88D21E9'
|
93
109
|
apt-get update
|
94
110
|
apt-get install -qy lxc-docker
|
95
111
|
gpasswd -a ubuntu docker
|
112
|
+
step_done
|
96
113
|
fi
|
97
114
|
|
98
|
-
|
115
|
+
step "logging into ${DOCKER_REGISTRY_URL}"
|
99
116
|
cat >"$HOME/.dockercfg" <<EOF
|
100
117
|
{"${DOCKER_REGISTRY_URL}": {
|
101
118
|
"auth": "${DOCKER_REGISTRY_AUTH}",
|
102
119
|
"email": "${DOCKER_REGISTRY_EMAIL}"
|
103
120
|
}}
|
104
121
|
EOF
|
122
|
+
step_done
|
data/priv/roles/Frontend.sh
CHANGED
@@ -1,20 +1,41 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
step "updating docker basefiles"
|
3
2
|
gem update docker-utils
|
3
|
+
docker pull 'bexio/base:latest' >/dev/null 2>&1
|
4
|
+
docker pull 'bexio/toolchain:elixir-upgrade' >/dev/null 2>&1
|
5
|
+
step_done
|
6
|
+
|
7
|
+
|
8
|
+
start_bexbackend_proxy() {
|
9
|
+
step "starting bexbackend proxy"
|
10
|
+
|
11
|
+
docker pull 'bexio/amb:latest' >/dev/null 2>&1
|
12
|
+
|
13
|
+
docker run -d --restart=always \
|
14
|
+
--name='bexbackend-proxy' \
|
15
|
+
'bexio/amb:latest' \
|
16
|
+
"${BEXNG_ADMIN_API_HOST}" '51607'
|
17
|
+
|
18
|
+
step_done
|
19
|
+
}
|
20
|
+
|
21
|
+
start_bexfrontend() {
|
22
|
+
step "starting bexfrontend"
|
23
|
+
|
24
|
+
docker-utils block-until-port-open 'bexbackend-proxy' '51607'
|
4
25
|
|
5
|
-
docker pull
|
6
|
-
docker pull bexio/amb:latest
|
7
|
-
docker pull "${frontend_image}"
|
26
|
+
docker pull "bexio/frontend:${FRONTEND_IMAGE_TAG}" >/dev/null 2>&1
|
8
27
|
|
9
|
-
docker
|
10
|
-
|
28
|
+
docker run -d --restart=always \
|
29
|
+
--name='bexfrontend' \
|
30
|
+
--link="bexbackend-proxy:backend" \
|
31
|
+
-e 'BEXNG_PORT_51607_TCP=tcp://backend:51607' \
|
32
|
+
--publish='80:8080' \
|
33
|
+
"bexio/frontend:${FRONTEND_IMAGE_TAG}"
|
11
34
|
|
12
|
-
|
13
|
-
|
14
|
-
--link="backend-proxy:backend" \
|
15
|
-
--publish="80:8080"
|
35
|
+
step_done
|
36
|
+
}
|
16
37
|
|
17
38
|
|
18
|
-
|
19
|
-
|
20
|
-
|
39
|
+
start_bexbackend_proxy &
|
40
|
+
start_bexfrontend &
|
41
|
+
wait
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stacco
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.70
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Levi Aul
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|