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.
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
- }