terra_boi 0.0.15 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +83 -158
  3. data/lib/generators/extensions.rb +5 -5
  4. data/lib/generators/terra_boi/boilerplate_generator.rb +39 -32
  5. data/lib/generators/terra_boi/dockerfile_generator.rb +19 -18
  6. data/lib/generators/terra_boi/host_initializer_generator.rb +18 -18
  7. data/lib/generators/terra_boi/templates/Dockerfile.erb +4 -23
  8. data/lib/generators/terra_boi/templates/cert/main.tf.erb +32 -0
  9. data/lib/generators/terra_boi/templates/cert/var.tf.erb +15 -0
  10. data/lib/generators/terra_boi/templates/data_storage_config.erb +7 -7
  11. data/lib/generators/terra_boi/templates/ecr/ecs_role.tf.erb +41 -0
  12. data/lib/generators/terra_boi/templates/ecr/main.tf.erb +26 -0
  13. data/lib/generators/terra_boi/templates/ecr/output.tf.erb +11 -0
  14. data/lib/generators/terra_boi/templates/ecr/var.tf.erb +15 -0
  15. data/lib/generators/terra_boi/templates/{data_main.erb → env/data/main.tf.erb} +2 -2
  16. data/lib/generators/terra_boi/templates/{data_output.erb → env/data/output.tf.erb} +1 -1
  17. data/lib/generators/terra_boi/templates/env/ecs_cluster/ecs_cluster.tf.erb +24 -0
  18. data/lib/generators/terra_boi/templates/env/head_worker/ecs.tf.erb +55 -0
  19. data/lib/generators/terra_boi/templates/env/web_app/ecs.tf.erb +59 -0
  20. data/lib/generators/terra_boi/templates/lib/scripts/push_to_ecr.sh.erb +21 -0
  21. data/lib/generators/terra_boi/templates/lib/scripts/update_service_pull_from_ecr.sh.erb +18 -0
  22. data/lib/generators/terra_boi/templates/lib/task_templates/head_worker.json.erb +61 -0
  23. data/lib/generators/terra_boi/templates/lib/task_templates/web_app.json.erb +58 -0
  24. data/lib/generators/terra_boi/templates/lib/terraform_modules/ecs_cluster/main.tf.erb +12 -0
  25. data/lib/generators/terra_boi/templates/lib/terraform_modules/ecs_cluster/var.tf.erb +20 -0
  26. data/lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/ecs_role.tf.erb +7 -0
  27. data/lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/load_balancer.tf.erb +92 -0
  28. data/lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/main.tf.erb +134 -0
  29. data/lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/output.tf.erb +11 -0
  30. data/lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/var.tf.erb +63 -0
  31. data/lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/ecs_role.tf.erb +7 -0
  32. data/lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/main.tf.erb +120 -0
  33. data/lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/output.tf.erb +7 -0
  34. data/lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/var.tf.erb +57 -0
  35. data/lib/generators/terra_boi/tf_cert_generator.rb +28 -0
  36. data/lib/generators/terra_boi/tf_ecr_generator.rb +28 -0
  37. data/lib/generators/terra_boi/tf_env_generator.rb +54 -0
  38. data/lib/generators/terra_boi/tf_lib_generator.rb +57 -0
  39. data/lib/generators/terra_boi/tf_state_generator.rb +24 -0
  40. data/lib/tasks/terra_boi_tasks.rake +280 -4
  41. data/lib/terra_boi/railtie.rb +5 -2
  42. data/lib/terra_boi/version.rb +1 -1
  43. metadata +56 -28
  44. data/lib/generators/terra_boi/data_generator.rb +0 -38
  45. data/lib/generators/terra_boi/master_worker_generator.rb +0 -54
  46. data/lib/generators/terra_boi/packer_generator.rb +0 -26
  47. data/lib/generators/terra_boi/state_generator.rb +0 -25
  48. data/lib/generators/terra_boi/templates/master_worker_main.erb +0 -26
  49. data/lib/generators/terra_boi/templates/master_worker_output.erb +0 -14
  50. data/lib/generators/terra_boi/templates/master_worker_start_script.erb +0 -12
  51. data/lib/generators/terra_boi/templates/master_worker_user_data.erb +0 -27
  52. data/lib/generators/terra_boi/templates/packer_ami_build.erb +0 -27
  53. data/lib/generators/terra_boi/templates/packer_application.erb +0 -49
  54. data/lib/generators/terra_boi/templates/web_servers_main.erb +0 -31
  55. data/lib/generators/terra_boi/templates/web_servers_output.erb +0 -14
  56. data/lib/generators/terra_boi/templates/web_servers_user_data.erb +0 -29
  57. data/lib/generators/terra_boi/web_servers_generator.rb +0 -48
@@ -1,4 +1,7 @@
1
1
  module TerraBoi
2
- class Railtie < ::Rails::Railtie
3
- end
2
+ class Railtie < ::Rails::Railtie
3
+ rake_tasks do
4
+ load 'tasks/terra_boi_tasks.rake'
5
+ end
6
+ end
4
7
  end
@@ -1,3 +1,3 @@
1
1
  module TerraBoi
2
- VERSION = '0.0.15'
2
+ VERSION = '1.0.0'
3
3
  end
metadata CHANGED
@@ -1,35 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terra_boi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.15
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charlie Reese
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-19 00:00:00.000000000 Z
11
+ date: 2020-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 6.0.0
20
17
  - - "~>"
21
18
  - !ruby/object:Gem::Version
22
19
  version: '6.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 6.0.0
23
23
  type: :development
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '6.0'
27
30
  - - ">="
28
31
  - !ruby/object:Gem::Version
29
32
  version: 6.0.0
30
- - - "~>"
33
+ - !ruby/object:Gem::Dependency
34
+ name: colorize
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
31
38
  - !ruby/object:Gem::Version
32
- version: '6.0'
39
+ version: '0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
33
47
  description: 'This gem was created to get rails applications deployed into production
34
48
  as quickly and easily as possible. It contains generators that create infrastructure
35
49
  code for load balancing / auto scaling / zero-downtime deployments, (rails) web
@@ -49,30 +63,45 @@ files:
49
63
  - lib/generators/extensions.rb
50
64
  - lib/generators/terra_boi/boilerplate_generator.rb
51
65
  - lib/generators/terra_boi/data_config_generator.rb
52
- - lib/generators/terra_boi/data_generator.rb
53
66
  - lib/generators/terra_boi/db_config_generator.rb
54
67
  - lib/generators/terra_boi/dockerfile_generator.rb
55
68
  - lib/generators/terra_boi/host_initializer_generator.rb
56
- - lib/generators/terra_boi/master_worker_generator.rb
57
- - lib/generators/terra_boi/packer_generator.rb
58
- - lib/generators/terra_boi/state_generator.rb
59
69
  - lib/generators/terra_boi/templates/Dockerfile.erb
60
- - lib/generators/terra_boi/templates/data_main.erb
61
- - lib/generators/terra_boi/templates/data_output.erb
70
+ - lib/generators/terra_boi/templates/cert/main.tf.erb
71
+ - lib/generators/terra_boi/templates/cert/var.tf.erb
62
72
  - lib/generators/terra_boi/templates/data_storage_config.erb
63
73
  - lib/generators/terra_boi/templates/db_config.erb
74
+ - lib/generators/terra_boi/templates/ecr/ecs_role.tf.erb
75
+ - lib/generators/terra_boi/templates/ecr/main.tf.erb
76
+ - lib/generators/terra_boi/templates/ecr/output.tf.erb
77
+ - lib/generators/terra_boi/templates/ecr/var.tf.erb
78
+ - lib/generators/terra_boi/templates/env/data/main.tf.erb
79
+ - lib/generators/terra_boi/templates/env/data/output.tf.erb
80
+ - lib/generators/terra_boi/templates/env/ecs_cluster/ecs_cluster.tf.erb
81
+ - lib/generators/terra_boi/templates/env/head_worker/ecs.tf.erb
82
+ - lib/generators/terra_boi/templates/env/web_app/ecs.tf.erb
64
83
  - lib/generators/terra_boi/templates/host_initializer.erb
65
- - lib/generators/terra_boi/templates/master_worker_main.erb
66
- - lib/generators/terra_boi/templates/master_worker_output.erb
67
- - lib/generators/terra_boi/templates/master_worker_start_script.erb
68
- - lib/generators/terra_boi/templates/master_worker_user_data.erb
69
- - lib/generators/terra_boi/templates/packer_ami_build.erb
70
- - lib/generators/terra_boi/templates/packer_application.erb
84
+ - lib/generators/terra_boi/templates/lib/scripts/push_to_ecr.sh.erb
85
+ - lib/generators/terra_boi/templates/lib/scripts/update_service_pull_from_ecr.sh.erb
86
+ - lib/generators/terra_boi/templates/lib/task_templates/head_worker.json.erb
87
+ - lib/generators/terra_boi/templates/lib/task_templates/web_app.json.erb
88
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_cluster/main.tf.erb
89
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_cluster/var.tf.erb
90
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/ecs_role.tf.erb
91
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/load_balancer.tf.erb
92
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/main.tf.erb
93
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/output.tf.erb
94
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/var.tf.erb
95
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/ecs_role.tf.erb
96
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/main.tf.erb
97
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/output.tf.erb
98
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/var.tf.erb
71
99
  - lib/generators/terra_boi/templates/state_main.erb
72
- - lib/generators/terra_boi/templates/web_servers_main.erb
73
- - lib/generators/terra_boi/templates/web_servers_output.erb
74
- - lib/generators/terra_boi/templates/web_servers_user_data.erb
75
- - lib/generators/terra_boi/web_servers_generator.rb
100
+ - lib/generators/terra_boi/tf_cert_generator.rb
101
+ - lib/generators/terra_boi/tf_ecr_generator.rb
102
+ - lib/generators/terra_boi/tf_env_generator.rb
103
+ - lib/generators/terra_boi/tf_lib_generator.rb
104
+ - lib/generators/terra_boi/tf_state_generator.rb
76
105
  - lib/tasks/terra_boi_tasks.rake
77
106
  - lib/terra_boi.rb
78
107
  - lib/terra_boi/railtie.rb
@@ -81,7 +110,7 @@ homepage: https://github.com/charliereese/terra_boi
81
110
  licenses:
82
111
  - MIT
83
112
  metadata: {}
84
- post_install_message:
113
+ post_install_message:
85
114
  rdoc_options: []
86
115
  require_paths:
87
116
  - lib
@@ -96,9 +125,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
125
  - !ruby/object:Gem::Version
97
126
  version: '0'
98
127
  requirements: []
99
- rubyforge_project:
100
- rubygems_version: 2.7.10
101
- signing_key:
128
+ rubygems_version: 3.1.2
129
+ signing_key:
102
130
  specification_version: 4
103
131
  summary: Generators to help you get rails applications deployed into production as
104
132
  quickly and easily as possible.
@@ -1,38 +0,0 @@
1
- require "generators/extensions"
2
-
3
- module TerraBoi
4
- class DataGenerator < Rails::Generators::Base
5
- attr_accessor :application_name, :class_options
6
- source_root File.expand_path('templates', __dir__)
7
-
8
- desc (<<-EOF
9
- Generate staging and production DB and S3 bucket
10
-
11
- To execute, run rails generate terra_boi:data
12
- EOF
13
- .gsub(/\t/, '')
14
- )
15
-
16
- def init
17
- # defined in lib/generators/extensions
18
- self.application_name = generate_application_name
19
- self.class_options = options
20
- end
21
-
22
- def create_main_terraform_file
23
- generate_terraform_files({
24
- template: 'data_main.erb',
25
- file_path: 'data/main.tf',
26
- env: ['staging', 'prod']
27
- })
28
- end
29
-
30
- def create_output_terraform_file
31
- generate_terraform_files({
32
- template: 'data_output.erb',
33
- file_path: 'data/output.tf',
34
- env: ['staging', 'prod']
35
- })
36
- end
37
- end
38
- end
@@ -1,54 +0,0 @@
1
- require "generators/extensions"
2
- require 'fileutils'
3
-
4
- module TerraBoi
5
- class MasterWorkerGenerator < Rails::Generators::Base
6
- attr_accessor :application_name, :id_rsa_pub, :class_options
7
- class_option :domain_name, type: :string
8
- source_root File.expand_path('templates', __dir__)
9
-
10
- desc (<<-EOF
11
- Generate staging and production terraform master worker server files
12
-
13
- To execute, run rails generate terra_boi:master_worker
14
- EOF
15
- .gsub(/\t/, '')
16
- )
17
-
18
- def init
19
- # defined in lib/generators/extensions
20
- self.application_name = generate_application_name
21
- self.id_rsa_pub = open(ENV['HOME'] + "/.ssh/id_rsa.pub").read.chomp
22
- end
23
-
24
- def create_main_terraform_file
25
- generate_terraform_files({
26
- template: 'master_worker_main.erb',
27
- file_path: 'master_worker/main.tf',
28
- env: ['staging', 'prod']
29
- })
30
- end
31
-
32
- def create_output_terraform_file
33
- generate_terraform_files({
34
- template: 'master_worker_output.erb',
35
- file_path: 'master_worker/output.tf',
36
- env: ['staging', 'prod']
37
- })
38
- end
39
-
40
- def create_user_data_terraform_file
41
- generate_terraform_files({
42
- template: 'master_worker_user_data.erb',
43
- file_path: 'master_worker/user-data.sh',
44
- env: ['staging', 'prod']
45
- })
46
- end
47
-
48
- def create_master_worker_docker_entrypoint_script
49
- filename = "scripts/start_master_worker.sh"
50
- template "master_worker_start_script.erb", filename
51
- FileUtils.chmod 0755, filename
52
- end
53
- end
54
- end
@@ -1,26 +0,0 @@
1
- require "generators/extensions"
2
-
3
- module TerraBoi
4
- class PackerGenerator < Rails::Generators::Base
5
- attr_accessor :application_name
6
- source_root File.expand_path('templates', __dir__)
7
-
8
- desc (<<-EOF
9
- Generate packer files for building AWS EC2 AMI
10
-
11
- To execute, run rails generate terra_boi:packer
12
- EOF
13
- .gsub(/\t/, '')
14
- )
15
-
16
- def init
17
- # defined in lib/generators/extensions
18
- self.application_name = generate_application_name
19
- end
20
-
21
- def create_packer_files
22
- template "packer_ami_build.erb", "packer/ami_build.sh"
23
- template "packer_application.erb", "packer/application.json"
24
- end
25
- end
26
- end
@@ -1,25 +0,0 @@
1
- require "generators/extensions"
2
-
3
- module TerraBoi
4
- class StateGenerator < Rails::Generators::Base
5
- attr_accessor :application_name, :class_options
6
- source_root File.expand_path('templates', __dir__)
7
-
8
- desc (<<-EOF
9
- Generate DB and S3 bucket for storing and locking terraform state
10
-
11
- To execute, run rails generate terra_boi:state
12
- EOF
13
- .gsub(/\t/, '')
14
- )
15
-
16
- def init
17
- self.application_name = generate_application_name
18
- self.class_options = options
19
- end
20
-
21
- def create_main_terraform_file
22
- template "state_main.erb", "terraform/state/main.tf"
23
- end
24
- end
25
- end
@@ -1,26 +0,0 @@
1
- # -------------------------------------------------------------------
2
- # 1. STATE
3
- # -------------------------------------------------------------------
4
-
5
- terraform {
6
- backend "s3" {
7
- bucket = "<%= application_name %>-terraform-state-storage"
8
- key = "terraform/<%= config[:env] %>-state/master-worker"
9
- region = "us-east-2"
10
- dynamodb_table = "<%= application_name %>-terraform-state-lock"
11
- encrypt = true
12
- }
13
- }
14
-
15
- # -------------------------------------------------------------------
16
- # 2. MASTER WORKER MODULE
17
- # -------------------------------------------------------------------
18
-
19
- module "master_worker_cluster" {
20
- source = "github.com/charliereese/terraform_modules//master_worker?ref=v0.0.25"
21
-
22
- instance_type = "t2.micro"
23
- env = "<%= config[:env] %>"
24
- app_name = "<%= application_name %>"
25
- id_rsa_pub = "<%= id_rsa_pub %>"
26
- }
@@ -1,14 +0,0 @@
1
- output "master_worker_ip_address" {
2
- value = module.master_worker_cluster.master_worker_ip_address
3
- description = "The domain name of the application load balancer"
4
- }
5
-
6
- output "master_worker_id" {
7
- value = module.master_worker_cluster.master_worker_id
8
- description = "The ID of the master worker"
9
- }
10
-
11
- output "master_worker_arn" {
12
- value = module.master_worker_cluster.master_worker_arn
13
- description = "The ARN of the master worker"
14
- }
@@ -1,12 +0,0 @@
1
- #!/bin/sh
2
- # Master worker entrypoint for staging and prod docker containers
3
-
4
- rake db:migrate
5
-
6
- # Fix link-count, as cron is being a pain, and docker is making hardlink count > 0 (very high)
7
- touch /etc/crontab /etc/cron.*/*
8
-
9
- service cron start
10
- whenever --update-crontab
11
-
12
- rake jobs:work
@@ -1,27 +0,0 @@
1
- #!/bin/bash
2
- sleep 5
3
-
4
- # Set ENV vars from terraform
5
- echo "APPLICATION_NAME=${application_name}" >> /etc/environment
6
- echo "DB_HOST=${db_address}" >> /etc/environment
7
- echo "DB_USERNAME=${db_username}" >> /etc/environment
8
- echo "RAILS_ENV=production" >> /etc/environment
9
- echo "INFRASTRUCTURE_ENV=${env}" >> /etc/environment
10
-
11
- # Load ENV vars in current session
12
- for line in $( cat /etc/environment ); do export $line; done
13
-
14
- # Set DB environment variables in docker container and
15
- # start rake jobs:work
16
- # https://medium.com/@oprearocks/how-to-properly-override-the-entrypoint-using-docker-run-2e081e5feb9d
17
- docker container run --entrypoint "./scripts/start_master_worker.sh" -p 3000:3000 --name $APPLICATION_NAME --restart always -d \
18
- -e DB_HOST=$DB_HOST \
19
- -e DB_USERNAME=$DB_USERNAME \
20
- -e DB_PASSWORD=$DB_PASSWORD \
21
- -e RAILS_ENV=$RAILS_ENV \
22
- -e INFRASTRUCTURE_ENV=$INFRASTRUCTURE_ENV \
23
- -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
24
- -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
25
- -e RAILS_MASTER_KEY=$RAILS_MASTER_KEY \
26
- -e RAILS_SERVE_STATIC_FILES=true \
27
- $DOCKERHUB_USERNAME/$APPLICATION_NAME:latest
@@ -1,27 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Update to the latest current version of packages
4
- sudo apt-get update
5
- sudo apt -y install docker.io
6
- docker --version
7
-
8
- # Set DB and DockerHub usernames
9
- RAILS_MASTER_KEY=`sudo cat /tmp/master.key`
10
- sudo bash -c "echo 'RAILS_MASTER_KEY=$RAILS_MASTER_KEY' >> /etc/environment"
11
- sudo bash -c "echo 'DB_PASSWORD=$DB_PASSWORD' >> /etc/environment"
12
- sudo bash -c "echo 'DOCKERHUB_USERNAME=$DOCKERHUB_USERNAME' >> /etc/environment"
13
- sudo bash -c "echo 'AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID' >> /etc/environment"
14
- sudo bash -c "echo 'AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY' >> /etc/environment"
15
-
16
- # # Start the Docker service
17
- sudo service docker start
18
- sudo usermod -aG docker ubuntu
19
-
20
- # # Automatically start Docker service when the system boots, i.e. when the EC2 instance created from this AMI is launched or rebooted
21
- sudo systemctl enable docker
22
-
23
- # Log in
24
- sudo docker login --username $DOCKERHUB_USERNAME -p $DOCKERHUB_ACCESS_TOKEN
25
-
26
- # Pull the container:
27
- sudo docker pull $DOCKERHUB_USERNAME/<%= application_name %>:latest
@@ -1,49 +0,0 @@
1
- {
2
- "variables": {
3
- "DOCKERHUB_ACCESS_TOKEN": "",
4
- "DOCKERHUB_USERNAME": "",
5
- "DB_PASSWORD": ""
6
- },
7
-
8
- "builders": [{
9
- "type": "amazon-ebs",
10
- "region": "us-east-2",
11
- "source_ami_filter": {
12
- "filters": {
13
- "virtualization-type": "hvm",
14
- "name": "ubuntu/images/*ubuntu-bionic-18.04-amd64-server-*",
15
- "root-device-type": "ebs"
16
- },
17
- "owners": ["099720109477"],
18
- "most_recent": true
19
- },
20
- "instance_type": "t2.micro",
21
- "ssh_username": "ubuntu",
22
- "ami_name": "<%= application_name %>-ec2 {{timestamp}}",
23
- "tags": {
24
- "application": "<%= application_name %>-web-server"
25
- }
26
- }],
27
-
28
- "provisioners": [{
29
- "type": "file",
30
- "source": "../config/master.key",
31
- "destination": "/tmp/master.key"
32
- },{
33
- "type": "shell",
34
- "inline": [
35
- "sleep 30"
36
- ]
37
- },
38
- {
39
- "type":"shell",
40
- "environment_vars": [
41
- "DOCKERHUB_ACCESS_TOKEN={{user `DOCKERHUB_ACCESS_TOKEN`}}",
42
- "DOCKERHUB_USERNAME={{user `DOCKERHUB_USERNAME`}}",
43
- "DB_PASSWORD={{user `DB_PASSWORD`}}",
44
- "AWS_ACCESS_KEY_ID={{user `AWS_ACCESS_KEY_ID`}}",
45
- "AWS_SECRET_ACCESS_KEY={{user `AWS_SECRET_ACCESS_KEY`}}"
46
- ],
47
- "script": "ami_build.sh"
48
- }]
49
- }