stacco 0.1.35 → 0.1.36

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.git/COMMIT_EDITMSG +1 -1
  3. data/.git/ORIG_HEAD +1 -1
  4. data/.git/index +0 -0
  5. data/.git/logs/HEAD +3 -0
  6. data/.git/logs/refs/heads/master +3 -0
  7. data/.git/logs/refs/remotes/origin/master +3 -0
  8. data/.git/logs/refs/stash +1 -0
  9. data/.git/objects/07/91d907ed6963384c1004e190ed90dd450508c2 +2 -0
  10. data/.git/objects/16/61db6808cb016c9e6bcb2ad5101d764937c736 +2 -0
  11. data/.git/objects/37/5e25615f71378adf4dd73193cd81c3f7352369 +0 -0
  12. data/.git/objects/42/5f5d060ee54ae4cc5f17572bc987f716cd17c1 +0 -0
  13. data/.git/objects/4a/8da05d11eb6697750d0db790d97f748cf623b5 +0 -0
  14. data/.git/objects/4e/22c4721a1d2d8d51eb61b0bba996256630e1a3 +0 -0
  15. data/.git/objects/50/b5642cf3f862461e7f85dc6725e96828b11682 +0 -0
  16. data/.git/objects/52/8ec24f9b5e9de38c45e8b6c118b57fdbbfae35 +0 -0
  17. data/.git/objects/55/5abaf0d0b29f123811187b275b2c147a128cc1 +0 -0
  18. data/.git/objects/56/a1aa11820e45dae9cb6b3f3540abced735b644 +0 -0
  19. data/.git/objects/5b/7f97f542ff49439e8546f3dcacdc698a722934 +0 -0
  20. data/.git/objects/5e/d09e7a9b0c7c9f04adfd8ebf3e38a946c0b610 +0 -0
  21. data/.git/objects/6e/62fde9cd4e40d459c6114c3205cb776cba6594 +0 -0
  22. data/.git/objects/72/004e682e8d82daf6eba58b183e46b330c07da0 +0 -0
  23. data/.git/objects/78/591e917d69e31f7d83ef0af3932388cb3de351 +0 -0
  24. data/.git/objects/86/06dd5bf12eacc932a95d244d7b150dd3a1ec65 +0 -0
  25. data/.git/objects/89/a9c546a2bc92ff3842edf6b5da4ee4b9bd2291 +0 -0
  26. data/.git/objects/93/fa00b6df5c6739438970874780a4550e16dc48 +0 -0
  27. data/.git/objects/9a/92184b489a227578051750584dc92ae1931e2f +0 -0
  28. data/.git/objects/a5/14f50076fb17396922bf24e9798cac7a8d4033 +0 -0
  29. data/.git/objects/ac/b458f1835bb3524fe46476a30774e9aade4804 +0 -0
  30. data/.git/objects/b3/08339fe8c36dbf2fd00eee2167edb12522a682 +0 -0
  31. data/.git/objects/b5/625a09c7a96a7ee5d127e59f95365e58626a22 +0 -0
  32. data/.git/objects/c4/e0d3de1b8e5ce1dfa7fa2c0eb4452734ece366 +0 -0
  33. data/.git/objects/c8/29585e12db531c96b1e8dc63217514632a314e +0 -0
  34. data/.git/objects/cb/bb58f29b8df0faa424e7aca47e5244461bbaa3 +0 -0
  35. data/.git/objects/cd/96b15f2b7b9159f864cbe98ebbd60e79395dc9 +0 -0
  36. data/.git/objects/dc/917ece77023b2664fa74de0638de2ce7d18eab +0 -0
  37. data/.git/objects/de/883c21aa3a20265f9b0938f26f60ed9082f0ba +0 -0
  38. data/.git/objects/e1/321eeec30ae2f997c2e6517d26806dc8f412fb +0 -0
  39. data/.git/objects/e2/a1e70ad9a272071ee667e6042b72dc71ac632a +0 -0
  40. data/.git/objects/e5/7b4031a9e26ee9568d8348f3efb970e2c32c16 +0 -0
  41. data/.git/objects/ee/c275596c0232459fc6073e70e620ccdea7e279 +0 -0
  42. data/.git/refs/heads/master +1 -1
  43. data/.git/refs/remotes/origin/master +1 -1
  44. data/.git/refs/stash +1 -1
  45. data/.git/refs/tags/0.1.36 +1 -0
  46. data/bin/stacco +20 -16
  47. data/lib/stacco/layer.rb +1 -1
  48. data/priv/roles/BaseImageGenerator.sh +100 -0
  49. metadata +36 -2
  50. data/priv/layers/task-docker-librarian.json +0 -66
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: af2b04c6920177138607daa51ffde61e2e93b149
4
- data.tar.gz: 852ef1beeadae0046ac451e1e672a740753f992b
3
+ metadata.gz: b0439f6b02a67e262ccee3ef474f81d78f291aeb
4
+ data.tar.gz: 496b55ea3caf29b5e31364e08938a8eb80389389
5
5
  SHA512:
6
- metadata.gz: 5d1b8e6d63084ede5543eddaf0704f94c07b9790a74b33ac5075636a7fe957083d2b7db7c037284fa2bfd48273af7360bb0b954405ba549dccae4359ff26b37f
7
- data.tar.gz: 6d18027c04e41ae9bde2a85495c71207f66472752457e019433cb4185dc4c0d4f18f5944050e50dae4d0df6e768e326e4695c7de3960d9ab8e3be79614739796
6
+ metadata.gz: f6a46383afac9b393e9ae5ac86a58c6064e225bbfa647fb5672a7fe965976143c68fcca45c7d59c92216316459e69ec6e7065f08bc80a06e918fc9a561b44019
7
+ data.tar.gz: a1418466865c9f3bbf0e79ddd9ffd61b1fc47c84612436559ba36b08906004dc069b0516560a8c91179249a8c625009aae5f519d4d52b38d60ed46b278255425
data/.git/COMMIT_EDITMSG CHANGED
@@ -1 +1 @@
1
- Increase health-check interval so stack won't be brought down by container updates
1
+ Parameterize stack name
data/.git/ORIG_HEAD CHANGED
@@ -1 +1 @@
1
- 3a3d3096b8a071125990a515d1ba8a4c548bec62
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
@@ -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
@@ -0,0 +1,2 @@
1
+ x�TM��0�_1�=$6�R/m R��Zm{�hd�\�����{��@(�'G�7o���d&� >~z~����!3�P�F3b0��� ���+�od���p�<����X
2
+ WR��nj{_��������Y��+�rM�}� .���
@@ -0,0 +1,2 @@
1
+ x��Aj�0E��)�)��G�J)�>�\a2�PS�.�\JOe�t��<x�t�uj@��ffJ�9GE
2
+ 4p�j�,�EB�b��Rv_���`�K��Փ�j$�
@@ -1 +1 @@
1
- a8daedf0736425657be336e720dd7520abe75f3d
1
+ 8606dd5bf12eacc932a95d244d7b150dd3a1ec65
@@ -1 +1 @@
1
- a8daedf0736425657be336e720dd7520abe75f3d
1
+ 8606dd5bf12eacc932a95d244d7b150dd3a1ec65
data/.git/refs/stash CHANGED
@@ -1 +1 @@
1
- b08e071aa962e5ebe2312ced25ea2a0481a83fe7
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
- case stacks.length
234
- when 0
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
@@ -27,7 +27,7 @@ class Stacco::Layer
27
27
  end
28
28
 
29
29
  def to_s
30
- @name
30
+ [('task' if @is_task), @name].compact.join('-')
31
31
  end
32
32
 
33
33
  def full_name
@@ -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.35
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
- }