stacco 0.1.35 → 0.1.36
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/.git/COMMIT_EDITMSG +1 -1
- data/.git/ORIG_HEAD +1 -1
- data/.git/index +0 -0
- data/.git/logs/HEAD +3 -0
- data/.git/logs/refs/heads/master +3 -0
- data/.git/logs/refs/remotes/origin/master +3 -0
- data/.git/logs/refs/stash +1 -0
- data/.git/objects/07/91d907ed6963384c1004e190ed90dd450508c2 +2 -0
- data/.git/objects/16/61db6808cb016c9e6bcb2ad5101d764937c736 +2 -0
- data/.git/objects/37/5e25615f71378adf4dd73193cd81c3f7352369 +0 -0
- data/.git/objects/42/5f5d060ee54ae4cc5f17572bc987f716cd17c1 +0 -0
- data/.git/objects/4a/8da05d11eb6697750d0db790d97f748cf623b5 +0 -0
- data/.git/objects/4e/22c4721a1d2d8d51eb61b0bba996256630e1a3 +0 -0
- data/.git/objects/50/b5642cf3f862461e7f85dc6725e96828b11682 +0 -0
- data/.git/objects/52/8ec24f9b5e9de38c45e8b6c118b57fdbbfae35 +0 -0
- data/.git/objects/55/5abaf0d0b29f123811187b275b2c147a128cc1 +0 -0
- data/.git/objects/56/a1aa11820e45dae9cb6b3f3540abced735b644 +0 -0
- data/.git/objects/5b/7f97f542ff49439e8546f3dcacdc698a722934 +0 -0
- data/.git/objects/5e/d09e7a9b0c7c9f04adfd8ebf3e38a946c0b610 +0 -0
- data/.git/objects/6e/62fde9cd4e40d459c6114c3205cb776cba6594 +0 -0
- data/.git/objects/72/004e682e8d82daf6eba58b183e46b330c07da0 +0 -0
- data/.git/objects/78/591e917d69e31f7d83ef0af3932388cb3de351 +0 -0
- data/.git/objects/86/06dd5bf12eacc932a95d244d7b150dd3a1ec65 +0 -0
- data/.git/objects/89/a9c546a2bc92ff3842edf6b5da4ee4b9bd2291 +0 -0
- data/.git/objects/93/fa00b6df5c6739438970874780a4550e16dc48 +0 -0
- data/.git/objects/9a/92184b489a227578051750584dc92ae1931e2f +0 -0
- data/.git/objects/a5/14f50076fb17396922bf24e9798cac7a8d4033 +0 -0
- data/.git/objects/ac/b458f1835bb3524fe46476a30774e9aade4804 +0 -0
- data/.git/objects/b3/08339fe8c36dbf2fd00eee2167edb12522a682 +0 -0
- data/.git/objects/b5/625a09c7a96a7ee5d127e59f95365e58626a22 +0 -0
- data/.git/objects/c4/e0d3de1b8e5ce1dfa7fa2c0eb4452734ece366 +0 -0
- data/.git/objects/c8/29585e12db531c96b1e8dc63217514632a314e +0 -0
- data/.git/objects/cb/bb58f29b8df0faa424e7aca47e5244461bbaa3 +0 -0
- data/.git/objects/cd/96b15f2b7b9159f864cbe98ebbd60e79395dc9 +0 -0
- data/.git/objects/dc/917ece77023b2664fa74de0638de2ce7d18eab +0 -0
- data/.git/objects/de/883c21aa3a20265f9b0938f26f60ed9082f0ba +0 -0
- data/.git/objects/e1/321eeec30ae2f997c2e6517d26806dc8f412fb +0 -0
- data/.git/objects/e2/a1e70ad9a272071ee667e6042b72dc71ac632a +0 -0
- data/.git/objects/e5/7b4031a9e26ee9568d8348f3efb970e2c32c16 +0 -0
- data/.git/objects/ee/c275596c0232459fc6073e70e620ccdea7e279 +0 -0
- data/.git/refs/heads/master +1 -1
- data/.git/refs/remotes/origin/master +1 -1
- data/.git/refs/stash +1 -1
- data/.git/refs/tags/0.1.36 +1 -0
- data/bin/stacco +20 -16
- data/lib/stacco/layer.rb +1 -1
- data/priv/roles/BaseImageGenerator.sh +100 -0
- metadata +36 -2
- data/priv/layers/task-docker-librarian.json +0 -66
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0439f6b02a67e262ccee3ef474f81d78f291aeb
|
4
|
+
data.tar.gz: 496b55ea3caf29b5e31364e08938a8eb80389389
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6a46383afac9b393e9ae5ac86a58c6064e225bbfa647fb5672a7fe965976143c68fcca45c7d59c92216316459e69ec6e7065f08bc80a06e918fc9a561b44019
|
7
|
+
data.tar.gz: a1418466865c9f3bbf0e79ddd9ffd61b1fc47c84612436559ba36b08906004dc069b0516560a8c91179249a8c625009aae5f519d4d52b38d60ed46b278255425
|
data/.git/COMMIT_EDITMSG
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Parameterize stack name
|
data/.git/ORIG_HEAD
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
8606dd5bf12eacc932a95d244d7b150dd3a1ec65
|
data/.git/index
CHANGED
Binary file
|
data/.git/logs/HEAD
CHANGED
@@ -56,3 +56,6 @@ ef3411b02bb0f32b7d420f19e5bd1fbbcca55914 bfdf2e1ff6a2624f4a8e8c7bb67a35c23368018
|
|
56
56
|
bfdf2e1ff6a2624f4a8e8c7bb67a35c233680182 3a3d3096b8a071125990a515d1ba8a4c548bec62 Levi Aul <levi@leviaul.com> 1403735187 -0700 commit: Retry after errors in S3 download
|
57
57
|
3a3d3096b8a071125990a515d1ba8a4c548bec62 ee046d6cded6dead3f5f28cdd033b81824935d97 Levi Aul <levi@leviaul.com> 1403739236 -0700 commit: Increase health-check grace period for backend
|
58
58
|
ee046d6cded6dead3f5f28cdd033b81824935d97 a8daedf0736425657be336e720dd7520abe75f3d Levi Aul <levi@leviaul.com> 1403833608 -0700 commit: Increase health-check interval so stack won't be brought down by container updates
|
59
|
+
a8daedf0736425657be336e720dd7520abe75f3d 89a9c546a2bc92ff3842edf6b5da4ee4b9bd2291 Levi Aul <levi@leviaul.com> 1403839775 -0700 commit: Ensure task layers can be enabled or disabled by specifying "all"
|
60
|
+
89a9c546a2bc92ff3842edf6b5da4ee4b9bd2291 555abaf0d0b29f123811187b275b2c147a128cc1 Levi Aul <levi@leviaul.com> 1403840277 -0700 commit (amend): Ensure task layers can be enabled or disabled by specifying "all"
|
61
|
+
555abaf0d0b29f123811187b275b2c147a128cc1 8606dd5bf12eacc932a95d244d7b150dd3a1ec65 Levi Aul <levi@leviaul.com> 1403898548 -0700 commit: Parameterize stack name
|
data/.git/logs/refs/heads/master
CHANGED
@@ -49,3 +49,6 @@ ef3411b02bb0f32b7d420f19e5bd1fbbcca55914 bfdf2e1ff6a2624f4a8e8c7bb67a35c23368018
|
|
49
49
|
bfdf2e1ff6a2624f4a8e8c7bb67a35c233680182 3a3d3096b8a071125990a515d1ba8a4c548bec62 Levi Aul <levi@leviaul.com> 1403735187 -0700 commit: Retry after errors in S3 download
|
50
50
|
3a3d3096b8a071125990a515d1ba8a4c548bec62 ee046d6cded6dead3f5f28cdd033b81824935d97 Levi Aul <levi@leviaul.com> 1403739236 -0700 commit: Increase health-check grace period for backend
|
51
51
|
ee046d6cded6dead3f5f28cdd033b81824935d97 a8daedf0736425657be336e720dd7520abe75f3d Levi Aul <levi@leviaul.com> 1403833608 -0700 commit: Increase health-check interval so stack won't be brought down by container updates
|
52
|
+
a8daedf0736425657be336e720dd7520abe75f3d 89a9c546a2bc92ff3842edf6b5da4ee4b9bd2291 Levi Aul <levi@leviaul.com> 1403839775 -0700 commit: Ensure task layers can be enabled or disabled by specifying "all"
|
53
|
+
89a9c546a2bc92ff3842edf6b5da4ee4b9bd2291 555abaf0d0b29f123811187b275b2c147a128cc1 Levi Aul <levi@leviaul.com> 1403840277 -0700 commit (amend): Ensure task layers can be enabled or disabled by specifying "all"
|
54
|
+
555abaf0d0b29f123811187b275b2c147a128cc1 8606dd5bf12eacc932a95d244d7b150dd3a1ec65 Levi Aul <levi@leviaul.com> 1403898548 -0700 commit: Parameterize stack name
|
@@ -33,3 +33,6 @@ cfbccd7b6c433bdedb589e83144a05cca3a50e86 ef3411b02bb0f32b7d420f19e5bd1fbbcca5591
|
|
33
33
|
ef3411b02bb0f32b7d420f19e5bd1fbbcca55914 3a3d3096b8a071125990a515d1ba8a4c548bec62 Levi Aul <levi@leviaul.com> 1403735192 -0700 update by push
|
34
34
|
3a3d3096b8a071125990a515d1ba8a4c548bec62 ee046d6cded6dead3f5f28cdd033b81824935d97 Levi Aul <levi@leviaul.com> 1403739241 -0700 update by push
|
35
35
|
ee046d6cded6dead3f5f28cdd033b81824935d97 a8daedf0736425657be336e720dd7520abe75f3d Levi Aul <levi@leviaul.com> 1403833611 -0700 update by push
|
36
|
+
a8daedf0736425657be336e720dd7520abe75f3d 89a9c546a2bc92ff3842edf6b5da4ee4b9bd2291 Levi Aul <levi@leviaul.com> 1403839782 -0700 update by push
|
37
|
+
89a9c546a2bc92ff3842edf6b5da4ee4b9bd2291 555abaf0d0b29f123811187b275b2c147a128cc1 Levi Aul <levi@leviaul.com> 1403840280 -0700 update by push
|
38
|
+
555abaf0d0b29f123811187b275b2c147a128cc1 8606dd5bf12eacc932a95d244d7b150dd3a1ec65 Levi Aul <levi@leviaul.com> 1403898552 -0700 update by push
|
data/.git/logs/refs/stash
CHANGED
@@ -1 +1,2 @@
|
|
1
1
|
0000000000000000000000000000000000000000 b08e071aa962e5ebe2312ced25ea2a0481a83fe7 Levi Aul <levi@leviaul.com> 1403735110 -0700 WIP on master: ef3411b Use SSD storage for docker-image and data-container volumes
|
2
|
+
b08e071aa962e5ebe2312ced25ea2a0481a83fe7 cbbb58f29b8df0faa424e7aca47e5244461bbaa3 Levi Aul <levi@leviaul.com> 1403898570 -0700 WIP on master: 8606dd5 Parameterize stack name
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/.git/refs/heads/master
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
8606dd5bf12eacc932a95d244d7b150dd3a1ec65
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
8606dd5bf12eacc932a95d244d7b150dd3a1ec65
|
data/.git/refs/stash
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
cbbb58f29b8df0faa424e7aca47e5244461bbaa3
|
@@ -0,0 +1 @@
|
|
1
|
+
8606dd5bf12eacc932a95d244d7b150dd3a1ec65
|
data/bin/stacco
CHANGED
@@ -134,6 +134,11 @@ $force = true if ARGV.delete('-f')
|
|
134
134
|
$watch = true if $stdin.tty?
|
135
135
|
$async = true if ARGV.delete('-a')
|
136
136
|
|
137
|
+
if stack_name_index = ARGV.index('-s')
|
138
|
+
$stack_name = ARGV[stack_name_index + 1]
|
139
|
+
ARGV[stack_name_index, 2] = []
|
140
|
+
end
|
141
|
+
|
137
142
|
unless ARGV.length >= 1
|
138
143
|
$stderr.puts "usage: #{File.basename($0)} <subcommand ...>"
|
139
144
|
Kernel.exit 1
|
@@ -230,27 +235,26 @@ when :"stacks:import"
|
|
230
235
|
Kernel.exit 0
|
231
236
|
end
|
232
237
|
|
233
|
-
|
234
|
-
|
235
|
-
$stderr.puts "no stacks defined!"
|
236
|
-
$stderr.puts "run 'cat ./stack.yml | stacco stacks:import'"
|
237
|
-
Kernel.exit 1
|
238
|
-
when 1
|
239
|
-
stack = stacks.first
|
240
|
-
else
|
241
|
-
unless ARGV.length >= 1
|
242
|
-
$stderr.puts "ambiguous target stack"
|
243
|
-
$stderr.puts "try '#{File.basename($0)} #{subcommand} <stackname>'"
|
244
|
-
Kernel.exit 1
|
245
|
-
end
|
246
|
-
|
247
|
-
stack_name = ARGV.shift
|
248
|
-
stack = stacks.find{ |st| st.name == stack_name }
|
238
|
+
if $stack_name
|
239
|
+
stack = stacks.find{ |st| st.name == $stack_name }
|
249
240
|
|
250
241
|
unless stack
|
251
242
|
$stderr.puts "unknown stack '#{stack_name}'"
|
252
243
|
Kernel.exit 1
|
253
244
|
end
|
245
|
+
else
|
246
|
+
case stacks.length
|
247
|
+
when 0
|
248
|
+
$stderr.puts "no stacks defined!"
|
249
|
+
$stderr.puts "run 'cat ./stack.yml | stacco stacks:import'"
|
250
|
+
Kernel.exit 1
|
251
|
+
when 1
|
252
|
+
stack = stacks.first
|
253
|
+
else
|
254
|
+
$stderr.puts "ambiguous target stack"
|
255
|
+
$stderr.puts "try '#{File.basename($0)} -s <stackname> #{subcommand}'"
|
256
|
+
Kernel.exit 1
|
257
|
+
end
|
254
258
|
end
|
255
259
|
|
256
260
|
case subcommand
|
data/lib/stacco/layer.rb
CHANGED
@@ -0,0 +1,100 @@
|
|
1
|
+
_exit_handler_reason=""
|
2
|
+
_exit_handler(){
|
3
|
+
exit_code="$?"
|
4
|
+
|
5
|
+
if [ "${exit_code}" -eq 0 ]; then
|
6
|
+
echo "Stacco cloud-init handler finished"
|
7
|
+
cfn-signal -s true "${AWS_INSTANCE_WAIT_HANDLE}"
|
8
|
+
else
|
9
|
+
echo "Stacco cloud-init handler aborted (${exit_code}: ${_exit_handler_reason})"
|
10
|
+
cfn-signal -e "${exit_code}" -r "${_exit_handler_reason}" "${AWS_INSTANCE_WAIT_HANDLE}"
|
11
|
+
fi
|
12
|
+
|
13
|
+
exit "${exit_code}"
|
14
|
+
}
|
15
|
+
trap _exit_handler EXIT
|
16
|
+
|
17
|
+
die(){
|
18
|
+
_exit_handler_reason="$1"
|
19
|
+
echo "error: $1" >&2
|
20
|
+
exit 1
|
21
|
+
}
|
22
|
+
|
23
|
+
set -e
|
24
|
+
|
25
|
+
export HOME=/root
|
26
|
+
cd "$HOME"
|
27
|
+
|
28
|
+
echo "ensuring internet connectivity..."
|
29
|
+
curl -sL -I -o /dev/null --fail --show-error --retry 100 'http://bex-status.s3.amazonaws.com/status.json'
|
30
|
+
echo "found an internet connection."
|
31
|
+
|
32
|
+
echo "configuring hostname from aws metadata service"
|
33
|
+
host_title="${AWS_STACK_NAME}-$(echo "${AWS_INSTANCE_LOGICAL_NAME}" | sed 's/LaunchConfiguration$//')"
|
34
|
+
private_hostname=$(curl -sL http://169.254.169.254/latest/meta-data/local-hostname)
|
35
|
+
short_private_hostname=$(echo "${private_hostname}" | cut -d'.' -f 1)
|
36
|
+
echo "${host_title}" > /etc/hostname
|
37
|
+
hostname -b -F /etc/hostname
|
38
|
+
sed -i '/127\.0\./d' /etc/hosts
|
39
|
+
cat >>/etc/hosts <<EOF
|
40
|
+
127.0.0.1 localhost
|
41
|
+
127.0.1.1 ${private_hostname} ${host_title} ${short_private_hostname}
|
42
|
+
EOF
|
43
|
+
|
44
|
+
echo "enabling mirroring for security apt sources"
|
45
|
+
sed -i "s/security\.ubuntu\.com/${AWS_REGION}.ec2.archive.ubuntu.com/g" /etc/apt/sources.list
|
46
|
+
|
47
|
+
echo "disablng kernel and initramfs updates"
|
48
|
+
echo $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}') hold | dpkg --set-selections
|
49
|
+
sed -i 's/=yes/=no/g' /etc/initramfs-tools/update-initramfs.conf
|
50
|
+
|
51
|
+
echo "adding vendor apt sources"
|
52
|
+
apt-key adv --keyserver 'hkp://pgp.mit.edu:80' --recv-keys 'C43C79AD'
|
53
|
+
echo "deb http://rep.logentries.com/ trusty main" > /etc/apt/sources.list.d/logentries.list
|
54
|
+
|
55
|
+
echo "installing packages"
|
56
|
+
apt-get clean
|
57
|
+
apt-get update
|
58
|
+
apt-get upgrade -qy
|
59
|
+
apt-get install -qy python-setuptools python-pip python-setproctitle htop tree btrfs-tools xz-utils logentries bundler ruby-nokogiri
|
60
|
+
pip install -q awscli
|
61
|
+
gem install -q --no-rdoc --no-ri aws-sdk docker-utils
|
62
|
+
|
63
|
+
if [ -n "$LOGENTRIES_ACCOUNT_KEY" ]; then
|
64
|
+
echo "starting remote logging"
|
65
|
+
host_key=$(docker-utils get-host-uuid "${AWS_INSTANCE_LOGICAL_NAME}.${AWS_STACK_NAME}")
|
66
|
+
le init --account-key="${LOGENTRIES_ACCOUNT_KEY}" --agent-key="${host_key}"
|
67
|
+
le register --force --name="${host_title}" --hostname="${private_hostname}"
|
68
|
+
apt-get install -qy logentries-daemon 2>/dev/null || :
|
69
|
+
|
70
|
+
logs_to_follow="syslog messages dmesg auth.log boot.log daemon.log dpkg.log kern.log cron secure faillog cloud-init-output.log"
|
71
|
+
for log_name in ${logs_to_follow}; do
|
72
|
+
log_path="/var/log/${log_name}"
|
73
|
+
if [ -f "${log_path}" ]; then
|
74
|
+
log_name=$(basename "${log_path}" '.log')
|
75
|
+
le follow --name="${log_name}" "${log_path}" 2>/dev/null 1>&2
|
76
|
+
fi
|
77
|
+
done
|
78
|
+
|
79
|
+
service logentries restart
|
80
|
+
fi
|
81
|
+
|
82
|
+
echo "installing aws cfn-tools"
|
83
|
+
easy_install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz
|
84
|
+
cfn-init --region="${AWS_REGION}" --stack="${AWS_STACK_NAME}" --resource="${AWS_INSTANCE_LOGICAL_NAME}" || die 'Failed to run cfn-init'
|
85
|
+
|
86
|
+
docker-utils bootstrap
|
87
|
+
|
88
|
+
docker pull tianon/true:latest
|
89
|
+
docker pull ubuntu:trusty
|
90
|
+
|
91
|
+
docker pull bexio/amb:latest
|
92
|
+
docker pull bexio/bitcoind:latest
|
93
|
+
docker pull bexio/postgresql:latest
|
94
|
+
docker pull bexio/bexng:latest
|
95
|
+
docker pull bexio/bexng-frontend:latest
|
96
|
+
docker pull bexio/toolchain:latest
|
97
|
+
|
98
|
+
echo "bootstrapping bitcoind service"
|
99
|
+
docker run --name="btc-data" bexio/bitcoind:latest /bin/true
|
100
|
+
docker run --name="tbtc-data" bexio/bitcoind:latest /bin/true
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.36
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Levi Aul
|
@@ -98,6 +98,7 @@ files:
|
|
98
98
|
- "./.git/objects/06/30fdef20b3c925dff6aaac0eaadc748461ddd3"
|
99
99
|
- "./.git/objects/07/1c3c0ff3bbb5d2dee36124869ac978339aa7d8"
|
100
100
|
- "./.git/objects/07/506ae5d4f20db18bc4df1c96b9433162effa0b"
|
101
|
+
- "./.git/objects/07/91d907ed6963384c1004e190ed90dd450508c2"
|
101
102
|
- "./.git/objects/07/ccbe7deba806a5e3045276d5c56d70bfcd1144"
|
102
103
|
- "./.git/objects/08/d390fad8629347b01e81e36389b6445bb7be6e"
|
103
104
|
- "./.git/objects/0a/28342f575dbb656027091d278de50c38749bbc"
|
@@ -120,6 +121,7 @@ files:
|
|
120
121
|
- "./.git/objects/15/0c165cfccdaf9165d8b15cd7ba646de3d647d1"
|
121
122
|
- "./.git/objects/15/810e99050544479c8b2b90c768562dd6f54476"
|
122
123
|
- "./.git/objects/16/1674f5c76626e5bbffc7e71c20211d96899429"
|
124
|
+
- "./.git/objects/16/61db6808cb016c9e6bcb2ad5101d764937c736"
|
123
125
|
- "./.git/objects/17/1d95cd01d326ee914941e6c4019082aca25d01"
|
124
126
|
- "./.git/objects/17/f27a74d365bab0dc5e4fa9f482468454e736ee"
|
125
127
|
- "./.git/objects/18/d13eb6d9fe9db4a742098c8cea7a297af02aa6"
|
@@ -178,6 +180,7 @@ files:
|
|
178
180
|
- "./.git/objects/36/b6662ae57207c098d8cd5ece18d989d07c1fab"
|
179
181
|
- "./.git/objects/36/ba5be11b41d1823658d7ce80027a97ebad5b49"
|
180
182
|
- "./.git/objects/36/fce3986c3b9edc2d23aa2c79b07caa538a1e2d"
|
183
|
+
- "./.git/objects/37/5e25615f71378adf4dd73193cd81c3f7352369"
|
181
184
|
- "./.git/objects/37/963467810545c413ee63c07b03ef5451cd21a4"
|
182
185
|
- "./.git/objects/38/7d298fcc98f3a139f4bc7601920adb3a4fcb2d"
|
183
186
|
- "./.git/objects/38/fe76890f93e66590c962db099b9db770729394"
|
@@ -191,6 +194,7 @@ files:
|
|
191
194
|
- "./.git/objects/3e/b5d827d4ac858c3fee5f1d5e4486304e211875"
|
192
195
|
- "./.git/objects/40/1ec5566a108682e6735a166b503f6488fd7fa0"
|
193
196
|
- "./.git/objects/40/e27dd83949a5a91228d4fb4562d3dd0899cf6c"
|
197
|
+
- "./.git/objects/42/5f5d060ee54ae4cc5f17572bc987f716cd17c1"
|
194
198
|
- "./.git/objects/42/a30010d7fb35e5946ac0858140f8286748a49a"
|
195
199
|
- "./.git/objects/42/b3255de2c5bd3371bd7b5c666aa847321b7c63"
|
196
200
|
- "./.git/objects/43/9648d2f9392dca9ff6ef72c89e2ea2c77ca817"
|
@@ -202,6 +206,7 @@ files:
|
|
202
206
|
- "./.git/objects/48/8dfa9ad8ced0c190771304414e48996c981b30"
|
203
207
|
- "./.git/objects/49/9b16e419ad742e3de023fd6c932e5f3dcf9969"
|
204
208
|
- "./.git/objects/49/c4d2b96b8a0e2ee7d45970e01b7c8ea70472dd"
|
209
|
+
- "./.git/objects/4a/8da05d11eb6697750d0db790d97f748cf623b5"
|
205
210
|
- "./.git/objects/4a/a16c4ea8a6922a91538873893f181000e53e16"
|
206
211
|
- "./.git/objects/4a/ded72b0a091965c9cb556c90400e8f116b4a83"
|
207
212
|
- "./.git/objects/4a/e6f3d6a0321c6c544e705a0a6195ccb65e97a4"
|
@@ -209,21 +214,28 @@ files:
|
|
209
214
|
- "./.git/objects/4b/31e30c368cc13d65df794e3a50ded0c36a1119"
|
210
215
|
- "./.git/objects/4b/7e51ebdd2d7ae3ef0b0a27d081ce1579f5a073"
|
211
216
|
- "./.git/objects/4c/ac13b15d6336164789ae3f228fa2d81ac51120"
|
217
|
+
- "./.git/objects/4e/22c4721a1d2d8d51eb61b0bba996256630e1a3"
|
212
218
|
- "./.git/objects/4f/4fae184e6e68f8382f9234c283451fecdbf5df"
|
213
219
|
- "./.git/objects/4f/b3f480c304734c6b4634fea5457a0af53118b8"
|
214
220
|
- "./.git/objects/50/a19ac6e7c9e4d63ea313bd195c80bf93030024"
|
221
|
+
- "./.git/objects/50/b5642cf3f862461e7f85dc6725e96828b11682"
|
215
222
|
- "./.git/objects/51/db6ab779ca5bc4b13ba68ebdfaab521c010948"
|
216
223
|
- "./.git/objects/52/5148183a1cccd66f55a634ca7685d115ade75f"
|
224
|
+
- "./.git/objects/52/8ec24f9b5e9de38c45e8b6c118b57fdbbfae35"
|
217
225
|
- "./.git/objects/52/f64ba8a626a834799f67ee1483cc6c4b96b120"
|
218
226
|
- "./.git/objects/53/2b0166a9dda8275dcfcba389a1d782269a127f"
|
219
227
|
- "./.git/objects/53/957b5f4306928e9d137147d05310bdbc533ed0"
|
220
228
|
- "./.git/objects/53/d5c004c404e0f06b0304ea3373ec6f943c8174"
|
221
229
|
- "./.git/objects/54/f0feff7b49b9909efb6ae80f646a91cd2f2ecc"
|
230
|
+
- "./.git/objects/55/5abaf0d0b29f123811187b275b2c147a128cc1"
|
231
|
+
- "./.git/objects/56/a1aa11820e45dae9cb6b3f3540abced735b644"
|
222
232
|
- "./.git/objects/57/298313d53034ca639585d7250d687822609b7c"
|
223
233
|
- "./.git/objects/59/c0878a8ab0c3278706a1b396536cab346b9936"
|
234
|
+
- "./.git/objects/5b/7f97f542ff49439e8546f3dcacdc698a722934"
|
224
235
|
- "./.git/objects/5c/e0dd8b4fc14791fadce8f84bd7cbd25e9a0437"
|
225
236
|
- "./.git/objects/5d/85e8b4b5ad08b8aabb031d5702ca954de1eda5"
|
226
237
|
- "./.git/objects/5e/4275517d808ddacfc24d8d931fc69c02fab2b9"
|
238
|
+
- "./.git/objects/5e/d09e7a9b0c7c9f04adfd8ebf3e38a946c0b610"
|
227
239
|
- "./.git/objects/5f/a64ecbeb1f504e147f9a2d3efc607c9ba69899"
|
228
240
|
- "./.git/objects/5f/c2276bc86b4f5251bbe95bf7991538d1144822"
|
229
241
|
- "./.git/objects/60/cffb71344e0595790bc86f9044b635eb584cd5"
|
@@ -242,15 +254,18 @@ files:
|
|
242
254
|
- "./.git/objects/69/0aec5f1e25fcd50073339d9c172aef839726ec"
|
243
255
|
- "./.git/objects/69/2be5effe74e8c9f60c3a949d383324ac075248"
|
244
256
|
- "./.git/objects/6b/2ef57cc35288ebe544c2ae709322375c385bb1"
|
257
|
+
- "./.git/objects/6e/62fde9cd4e40d459c6114c3205cb776cba6594"
|
245
258
|
- "./.git/objects/6e/ed1d8bd6ca0f3d5407ff10ea858e97c9275b88"
|
246
259
|
- "./.git/objects/6f/77655f92e54cd66c3b913adde3fd240ad76f6a"
|
247
260
|
- "./.git/objects/71/3116d57f19f63eb85fd483c56e7c6802ffec61"
|
248
261
|
- "./.git/objects/71/53aedecdaa747c3cede1dd2821b9a197882fce"
|
262
|
+
- "./.git/objects/72/004e682e8d82daf6eba58b183e46b330c07da0"
|
249
263
|
- "./.git/objects/72/d2de572d48b3ccec2c7e1fbf86a6efbf8ba163"
|
250
264
|
- "./.git/objects/73/4a98305b5f15a8f2ca7804ffa6b056db02529a"
|
251
265
|
- "./.git/objects/74/a61dab8d92df4e3219588dcada13ea6666b5c5"
|
252
266
|
- "./.git/objects/76/b4fefc281ce7feb21e988bb6818350ebb62f59"
|
253
267
|
- "./.git/objects/78/218ebe8a446629d76d27c1f59e2257f07ca57f"
|
268
|
+
- "./.git/objects/78/591e917d69e31f7d83ef0af3932388cb3de351"
|
254
269
|
- "./.git/objects/78/a6d90b8e3275c3c8c9556a7b30ab6a1c4a9c28"
|
255
270
|
- "./.git/objects/79/47526f0f3bc0e41576835c158e21d10b5e970a"
|
256
271
|
- "./.git/objects/79/b78df8abb2703e35a607c5b083bfaf1ebe1545"
|
@@ -277,8 +292,10 @@ files:
|
|
277
292
|
- "./.git/objects/84/8093b90556c149b8900ed4dd04e84332ebb522"
|
278
293
|
- "./.git/objects/84/dd376dafb34b45fe3be8dc8c56b129d88b9262"
|
279
294
|
- "./.git/objects/85/b0845ce2959901e5743b813592e493685b3b0f"
|
295
|
+
- "./.git/objects/86/06dd5bf12eacc932a95d244d7b150dd3a1ec65"
|
280
296
|
- "./.git/objects/86/3a1d95067b4ec3727afdf2a9b224b6d625f217"
|
281
297
|
- "./.git/objects/89/71bc2a201ae9e2e5e048f9b525f22b6c2b4f65"
|
298
|
+
- "./.git/objects/89/a9c546a2bc92ff3842edf6b5da4ee4b9bd2291"
|
282
299
|
- "./.git/objects/8b/f576e0195bba361a0cd4a9b3e57f17559d33ee"
|
283
300
|
- "./.git/objects/8c/daf84c49504f3d4fd2395e8451525166412ed8"
|
284
301
|
- "./.git/objects/8d/815b33c7347ed3e7bd30f4659643f69ba43aa8"
|
@@ -294,6 +311,7 @@ files:
|
|
294
311
|
- "./.git/objects/92/ab3f3c6e49479610d422f6f53ee27179fb5aa4"
|
295
312
|
- "./.git/objects/92/ce8ecbd3fac4fc20c45ce41091941d0a7e3e62"
|
296
313
|
- "./.git/objects/93/1f39b330d13373c413947d56c6eddd3b7329e0"
|
314
|
+
- "./.git/objects/93/fa00b6df5c6739438970874780a4550e16dc48"
|
297
315
|
- "./.git/objects/94/876aed4340a5be37615a98b6bf6128036220e9"
|
298
316
|
- "./.git/objects/96/1ad57d191df3d12f55097fd5d5aa569bfe67ee"
|
299
317
|
- "./.git/objects/96/2975833389a0d53022023e8ea904a036665fe5"
|
@@ -306,6 +324,7 @@ files:
|
|
306
324
|
- "./.git/objects/9a/4f78182ba84dd029daaf7daf625614ccb30e64"
|
307
325
|
- "./.git/objects/9a/6bf02cb2413ead9284a1d018e3b83b9e48dd96"
|
308
326
|
- "./.git/objects/9a/7a7d20ee398751b7f7c42b93d0db56d5dbe375"
|
327
|
+
- "./.git/objects/9a/92184b489a227578051750584dc92ae1931e2f"
|
309
328
|
- "./.git/objects/9b/369cb2fcdbf594439b9bfa701c8ab0c75ed82f"
|
310
329
|
- "./.git/objects/9c/098fb3f0caace7f5aea2944e9f605191c8cbba"
|
311
330
|
- "./.git/objects/9c/60f6485e59e25b1f73dea846be3ef755fedeef"
|
@@ -319,6 +338,7 @@ files:
|
|
319
338
|
- "./.git/objects/a2/96ae3203cfb9353fe0ba902e1733449d078ac7"
|
320
339
|
- "./.git/objects/a4/8e7327658eb733ad58e37b80bec3874ea3a661"
|
321
340
|
- "./.git/objects/a4/a209c2bad0adbb5b24f70c72e390d720cf765f"
|
341
|
+
- "./.git/objects/a5/14f50076fb17396922bf24e9798cac7a8d4033"
|
322
342
|
- "./.git/objects/a5/62e7c9d3ada1d9323c7b354c3b9b7a6f48ba4f"
|
323
343
|
- "./.git/objects/a5/f2bf529f1392f53cc2fe0e6f46395d178742c2"
|
324
344
|
- "./.git/objects/a6/236056b6eb554475bd2e5163badce6804f73b4"
|
@@ -331,6 +351,7 @@ files:
|
|
331
351
|
- "./.git/objects/aa/0761146e9c27163c2137acec89cf1163b28918"
|
332
352
|
- "./.git/objects/aa/4fb2e24a224a0f378a47070439eb7f1f618f53"
|
333
353
|
- "./.git/objects/ac/1c6a234743dcb02025497b631d3650ccb25bcc"
|
354
|
+
- "./.git/objects/ac/b458f1835bb3524fe46476a30774e9aade4804"
|
334
355
|
- "./.git/objects/ac/bd17f31a56c815488e16e5b0890e599aa647f7"
|
335
356
|
- "./.git/objects/ad/eb7ad22d6d08bbfb439d85b9be3a68da53cc89"
|
336
357
|
- "./.git/objects/ad/f615a886926d387045c4bdd8ac5766d55f8eb5"
|
@@ -340,6 +361,7 @@ files:
|
|
340
361
|
- "./.git/objects/b2/676999f6387ba826fc4bdcca05a96efadc6448"
|
341
362
|
- "./.git/objects/b2/69d364d14146abd1452fa7def21df5eb42ff27"
|
342
363
|
- "./.git/objects/b2/df8f1d66345d9b1fbe18555ffaa7cc3c8c20be"
|
364
|
+
- "./.git/objects/b3/08339fe8c36dbf2fd00eee2167edb12522a682"
|
343
365
|
- "./.git/objects/b3/552d30e6b1f10e465755e7c26b2a2f52b742ca"
|
344
366
|
- "./.git/objects/b3/77af39edb6577c5aba3beaba8d8cc46b8881b8"
|
345
367
|
- "./.git/objects/b3/af554f0b44b2ea580c648911d12af48a8b0117"
|
@@ -347,6 +369,7 @@ files:
|
|
347
369
|
- "./.git/objects/b3/d2256c61a4bcdc4b1a709e178ecd66052d97cf"
|
348
370
|
- "./.git/objects/b4/b13440b2a17a88ea51fada2f3e08461ed0ffbd"
|
349
371
|
- "./.git/objects/b4/f8acbca37af8831876fff6967dd8925de04ca7"
|
372
|
+
- "./.git/objects/b5/625a09c7a96a7ee5d127e59f95365e58626a22"
|
350
373
|
- "./.git/objects/b5/9dc951ed30cfe805a79657a4aef6c48c345719"
|
351
374
|
- "./.git/objects/b5/bd352a0468f3b2d5204098701a72e87680e7ba"
|
352
375
|
- "./.git/objects/b7/1acffc6865807f244fcfbd614a3dddb480e266"
|
@@ -375,10 +398,12 @@ files:
|
|
375
398
|
- "./.git/objects/c3/c3adc3fda3a4201192b5e1a3e823429dc53682"
|
376
399
|
- "./.git/objects/c4/57a54b85099945b4bee1b2fb7161edc1ca8212"
|
377
400
|
- "./.git/objects/c4/b14c723755d6cefa1d6ed9920be76a9a875df1"
|
401
|
+
- "./.git/objects/c4/e0d3de1b8e5ce1dfa7fa2c0eb4452734ece366"
|
378
402
|
- "./.git/objects/c5/286bffd2dd98233fd17711d68ddc0c9936bba2"
|
379
403
|
- "./.git/objects/c6/0f0f1d0cc3f2c3e035b26af7cadca74b1c339c"
|
380
404
|
- "./.git/objects/c6/d6c83b74a0d14333590ec067c6e2439494b2da"
|
381
405
|
- "./.git/objects/c7/9379c6c2ef65dbb2e04e183e00803154cb35ab"
|
406
|
+
- "./.git/objects/c8/29585e12db531c96b1e8dc63217514632a314e"
|
382
407
|
- "./.git/objects/c8/3cf4c72f13b5bc6be9da406e4ef4d0b07dce1a"
|
383
408
|
- "./.git/objects/c8/eed05b0cb61394b7591d5323c17903164ec855"
|
384
409
|
- "./.git/objects/c9/afd8900da13bfb3a89aa716faa6f3fafc5ba89"
|
@@ -387,12 +412,14 @@ files:
|
|
387
412
|
- "./.git/objects/ca/4d320389bebf17286bee63d2af3c7cca601b02"
|
388
413
|
- "./.git/objects/cb/164048cd10adbe4e2ebde027a70371c9901106"
|
389
414
|
- "./.git/objects/cb/3bd70f957da6147ea0c876c1f6c25a61bed830"
|
415
|
+
- "./.git/objects/cb/bb58f29b8df0faa424e7aca47e5244461bbaa3"
|
390
416
|
- "./.git/objects/cc/29098e4277445a2033a15e224b967e7da86426"
|
391
417
|
- "./.git/objects/cc/31d9ded64138dcb59e885f838c8c2707976b65"
|
392
418
|
- "./.git/objects/cc/d1bbab75782cdda520d3f7bcefb5e3c99cb82c"
|
393
419
|
- "./.git/objects/cc/fa30fa70e56db81b80a0b4674d0633ffe21ef4"
|
394
420
|
- "./.git/objects/cd/52c8a14cf0b36b8f2ad5bca615ec8e3883ac43"
|
395
421
|
- "./.git/objects/cd/8391d58b70f75f85151faea0f0bbc890100ebb"
|
422
|
+
- "./.git/objects/cd/96b15f2b7b9159f864cbe98ebbd60e79395dc9"
|
396
423
|
- "./.git/objects/ce/f451186eb787284f3dcff5d21ce4247c77f809"
|
397
424
|
- "./.git/objects/cf/998cd89b73281c9176981ac57e49d59329a5a1"
|
398
425
|
- "./.git/objects/cf/bccd7b6c433bdedb589e83144a05cca3a50e86"
|
@@ -418,20 +445,25 @@ files:
|
|
418
445
|
- "./.git/objects/da/9d586001c0da57a72d958fe9e454bc4c1af15a"
|
419
446
|
- "./.git/objects/db/345c15d1d5188c443f59b04ba1a2e9eab0c387"
|
420
447
|
- "./.git/objects/db/4b1d71f15122c35b4420de7e31bc28036fd887"
|
448
|
+
- "./.git/objects/dc/917ece77023b2664fa74de0638de2ce7d18eab"
|
449
|
+
- "./.git/objects/de/883c21aa3a20265f9b0938f26f60ed9082f0ba"
|
421
450
|
- "./.git/objects/de/a6615c3ad29bbbbda3efde68f1ac4cba588fa3"
|
422
451
|
- "./.git/objects/de/dc51936bb11d786c32d459743dc55b584e40dd"
|
423
452
|
- "./.git/objects/de/e466b16ae3ac70bb5f1a4addad6a4b484d9ae8"
|
424
453
|
- "./.git/objects/e0/00c6e760f84c7ffa982192aa08673be34a70cd"
|
425
454
|
- "./.git/objects/e0/25280ec493575d2176fa61c6a90d3262566227"
|
455
|
+
- "./.git/objects/e1/321eeec30ae2f997c2e6517d26806dc8f412fb"
|
426
456
|
- "./.git/objects/e1/9b48d2433a281d1a3d1d37877b0c969277a57e"
|
427
457
|
- "./.git/objects/e1/c65719b6d108ddfb07ef83cd3bffc610722653"
|
428
458
|
- "./.git/objects/e2/1eaf26f641e09172bb8033457ccb75557977c7"
|
459
|
+
- "./.git/objects/e2/a1e70ad9a272071ee667e6042b72dc71ac632a"
|
429
460
|
- "./.git/objects/e2/d45e3962e34dd55fbd68280e0442b2e59351bd"
|
430
461
|
- "./.git/objects/e2/f37b8916b66675f153906ebda58fafcf12e8ff"
|
431
462
|
- "./.git/objects/e3/e4f491c3ed1d0f2d2ac08e69b012b002cd60a7"
|
432
463
|
- "./.git/objects/e3/e76642af467f13ca1f4bb186d06f7f4840e191"
|
433
464
|
- "./.git/objects/e4/4ad21ffa7d60f17ba9eb2634c443f51d3df350"
|
434
465
|
- "./.git/objects/e5/64857e44ae97c8df4e5bb520d479ba6a1eb57a"
|
466
|
+
- "./.git/objects/e5/7b4031a9e26ee9568d8348f3efb970e2c32c16"
|
435
467
|
- "./.git/objects/e5/fb26796adac0a11adfddd7cc7172bea4bd989f"
|
436
468
|
- "./.git/objects/e6/3f2a12e0823653277080af061842415bb427a7"
|
437
469
|
- "./.git/objects/e7/3155412cf7f6d0793eef28c9be309c98d0ac56"
|
@@ -456,6 +488,7 @@ files:
|
|
456
488
|
- "./.git/objects/ee/046d6cded6dead3f5f28cdd033b81824935d97"
|
457
489
|
- "./.git/objects/ee/59f5cadbd9f89a095d1f50589ea10283ea3ee9"
|
458
490
|
- "./.git/objects/ee/8ddf6fe1cf9e69129765756ea09cdb50007fa2"
|
491
|
+
- "./.git/objects/ee/c275596c0232459fc6073e70e620ccdea7e279"
|
459
492
|
- "./.git/objects/ef/19ae68836fe534fdd4c9ed17f78a81c87d31c6"
|
460
493
|
- "./.git/objects/ef/1cff65773bf2b5789b2d6978d66ef252f43e5f"
|
461
494
|
- "./.git/objects/ef/3411b02bb0f32b7d420f19e5bd1fbbcca55914"
|
@@ -497,6 +530,7 @@ files:
|
|
497
530
|
- "./.git/refs/tags/0.1.33"
|
498
531
|
- "./.git/refs/tags/0.1.34"
|
499
532
|
- "./.git/refs/tags/0.1.35"
|
533
|
+
- "./.git/refs/tags/0.1.36"
|
500
534
|
- "./.gitignore"
|
501
535
|
- "./Dockerfile"
|
502
536
|
- "./README.md"
|
@@ -518,10 +552,10 @@ files:
|
|
518
552
|
- "./priv/layers/client-api.json"
|
519
553
|
- "./priv/layers/db.json"
|
520
554
|
- "./priv/layers/static.json"
|
521
|
-
- "./priv/layers/task-docker-librarian.json"
|
522
555
|
- "./priv/layers/task-generate-base-image.json"
|
523
556
|
- "./priv/layers/vpc.json"
|
524
557
|
- "./priv/roles/Backend.sh"
|
558
|
+
- "./priv/roles/BaseImageGenerator.sh"
|
525
559
|
- "./priv/roles/Common.sh"
|
526
560
|
- "./priv/roles/Frontend.sh"
|
527
561
|
- "./priv/roles/NAT.sh"
|
@@ -1,66 +0,0 @@
|
|
1
|
-
{
|
2
|
-
|
3
|
-
"Resources": {
|
4
|
-
|
5
|
-
"DockerLibrarianSecurityGroup" : {
|
6
|
-
"Type" : "AWS::EC2::SecurityGroup",
|
7
|
-
"Properties" : {
|
8
|
-
"GroupDescription" : "Allow the application instances to access the NAT device",
|
9
|
-
"VpcId" : { "Ref" : "VPC" },
|
10
|
-
|
11
|
-
"SecurityGroupIngress": [
|
12
|
-
{"IpProtocol": "tcp", "FromPort": "22", "ToPort": "22", "CidrIp": "0.0.0.0/0"}
|
13
|
-
],
|
14
|
-
"SecurityGroupEgress": [
|
15
|
-
{"IpProtocol": "-1", "CidrIp": "0.0.0.0/0"}
|
16
|
-
]
|
17
|
-
}
|
18
|
-
},
|
19
|
-
|
20
|
-
"DockerLibrarianReadyWaitHandle": {"Type": "AWS::CloudFormation::WaitConditionHandle", "Properties": {}},
|
21
|
-
|
22
|
-
"DockerLibrarianReady": {"Type": "AWS::CloudFormation::WaitCondition", "DependsOn": ["DockerLibrarian"], "Properties": {
|
23
|
-
"Handle": {"Ref": "DockerLibrarianReadyWaitHandle"},
|
24
|
-
"Count": "1",
|
25
|
-
"Timeout": "1200"
|
26
|
-
}},
|
27
|
-
|
28
|
-
"DockerLibrarian" : {
|
29
|
-
"Type" : "AWS::EC2::Instance",
|
30
|
-
"Metadata": {
|
31
|
-
"AWS::CloudFormation::Init": {}
|
32
|
-
},
|
33
|
-
"Properties" : {
|
34
|
-
"InstanceType": "m3.large",
|
35
|
-
"ImageId": {"Ref": "InstanceAMIVar"},
|
36
|
-
"KeyName": {"Ref": "IAMKeypairNameVar"},
|
37
|
-
|
38
|
-
"NetworkInterfaces": [{
|
39
|
-
"DeviceIndex": "0",
|
40
|
-
"AssociatePublicIpAddress": "true",
|
41
|
-
"DeleteOnTermination": "true",
|
42
|
-
"SubnetId": {"Ref": "PublicSubnet"},
|
43
|
-
"GroupSet" : [{"Ref" : "DockerLibrarianSecurityGroup"}]
|
44
|
-
}],
|
45
|
-
|
46
|
-
"BlockDeviceMappings": [
|
47
|
-
{"DeviceName": "/dev/xvdc", "Ebs": {
|
48
|
-
"VolumeSize": "5"
|
49
|
-
}}
|
50
|
-
],
|
51
|
-
|
52
|
-
"UserData": {"Fn::Base64": {"Fn::Join": ["", [
|
53
|
-
"#!/bin/bash\n",
|
54
|
-
"export AWS_REGION='", {"Ref": "AWS::Region"}, "'\n",
|
55
|
-
"export AWS_STACK_NAME='", {"Ref": "AWS::StackName"}, "'\n",
|
56
|
-
"export AWS_INSTANCE_LOGICAL_NAME='DockerLibrarian'\n",
|
57
|
-
"export AWS_INSTANCE_WAIT_HANDLE='", {"Ref": "DockerLibrarianReadyWaitHandle"}, "'\n",
|
58
|
-
{"Ref": "UserDataEnvironmentVar"}, "\n",
|
59
|
-
{"Ref": "CommonRoleScriptVar"}, "\n"
|
60
|
-
]]}}
|
61
|
-
}
|
62
|
-
}
|
63
|
-
|
64
|
-
}
|
65
|
-
|
66
|
-
}
|