terra_boi 0.0.12 → 1.0.1

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +86 -157
  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/templates/state_main.erb +1 -1
  36. data/lib/generators/terra_boi/tf_cert_generator.rb +28 -0
  37. data/lib/generators/terra_boi/tf_ecr_generator.rb +28 -0
  38. data/lib/generators/terra_boi/tf_env_generator.rb +54 -0
  39. data/lib/generators/terra_boi/tf_lib_generator.rb +57 -0
  40. data/lib/generators/terra_boi/tf_state_generator.rb +24 -0
  41. data/lib/tasks/terra_boi_tasks.rake +280 -4
  42. data/lib/terra_boi/railtie.rb +5 -2
  43. data/lib/terra_boi/version.rb +1 -1
  44. metadata +60 -31
  45. data/lib/generators/terra_boi/data_generator.rb +0 -38
  46. data/lib/generators/terra_boi/master_worker_generator.rb +0 -47
  47. data/lib/generators/terra_boi/packer_generator.rb +0 -26
  48. data/lib/generators/terra_boi/state_generator.rb +0 -25
  49. data/lib/generators/terra_boi/templates/master_worker_main.erb +0 -26
  50. data/lib/generators/terra_boi/templates/master_worker_output.erb +0 -14
  51. data/lib/generators/terra_boi/templates/master_worker_user_data.erb +0 -33
  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.12'
2
+ VERSION = '1.0.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terra_boi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 1.0.1
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: 2019-10-22 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
@@ -30,13 +30,26 @@ dependencies:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
32
  version: 6.0.0
33
- description: 'This gem was created to get rails applications deployed into production
34
- as quickly and easily as possible. It contains generators that create infrastructure
35
- code for load balancing / auto scaling / zero-downtime deployments, (rails) web
36
- apps (EC2 instances), DBs, and S3 buckets. List of items created by this gem''s
37
- generators: Dockerfile, Rails initializer file (for setting up config.hosts), Packer
38
- repository (for creating AWS EC2 AMIs), and Terraform repository (for creating infrastructure
39
- as code to immediately deploy staging / prod infrastructure).'
33
+ - !ruby/object:Gem::Dependency
34
+ name: colorize
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
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'
47
+ description: |-
48
+ Deploy your rails application to AWS with `rake deploy`.
49
+
50
+ This ruby / rails gem was created by Charlie Reese (charliereese.ca/about) for Clientelify. It creates AWS infrastructure for your rails application and deploys it in 5 steps (3 installation steps and 2 rake tasks). It is free to use.
51
+
52
+ Out of the box, terra_boi provides remote state locking, load-balancing, simple scaling, zero-downtime deployments, CloudWatch logging, DBs, and S3 buckets for multiple infrastructure environments: by default, terra_boi creates staging and prod environments for your web app.
40
53
  email:
41
54
  - j.charles.reese@gmail.com
42
55
  executables: []
@@ -49,29 +62,45 @@ files:
49
62
  - lib/generators/extensions.rb
50
63
  - lib/generators/terra_boi/boilerplate_generator.rb
51
64
  - lib/generators/terra_boi/data_config_generator.rb
52
- - lib/generators/terra_boi/data_generator.rb
53
65
  - lib/generators/terra_boi/db_config_generator.rb
54
66
  - lib/generators/terra_boi/dockerfile_generator.rb
55
67
  - 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
68
  - 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
69
+ - lib/generators/terra_boi/templates/cert/main.tf.erb
70
+ - lib/generators/terra_boi/templates/cert/var.tf.erb
62
71
  - lib/generators/terra_boi/templates/data_storage_config.erb
63
72
  - lib/generators/terra_boi/templates/db_config.erb
73
+ - lib/generators/terra_boi/templates/ecr/ecs_role.tf.erb
74
+ - lib/generators/terra_boi/templates/ecr/main.tf.erb
75
+ - lib/generators/terra_boi/templates/ecr/output.tf.erb
76
+ - lib/generators/terra_boi/templates/ecr/var.tf.erb
77
+ - lib/generators/terra_boi/templates/env/data/main.tf.erb
78
+ - lib/generators/terra_boi/templates/env/data/output.tf.erb
79
+ - lib/generators/terra_boi/templates/env/ecs_cluster/ecs_cluster.tf.erb
80
+ - lib/generators/terra_boi/templates/env/head_worker/ecs.tf.erb
81
+ - lib/generators/terra_boi/templates/env/web_app/ecs.tf.erb
64
82
  - 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_user_data.erb
68
- - lib/generators/terra_boi/templates/packer_ami_build.erb
69
- - lib/generators/terra_boi/templates/packer_application.erb
83
+ - lib/generators/terra_boi/templates/lib/scripts/push_to_ecr.sh.erb
84
+ - lib/generators/terra_boi/templates/lib/scripts/update_service_pull_from_ecr.sh.erb
85
+ - lib/generators/terra_boi/templates/lib/task_templates/head_worker.json.erb
86
+ - lib/generators/terra_boi/templates/lib/task_templates/web_app.json.erb
87
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_cluster/main.tf.erb
88
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_cluster/var.tf.erb
89
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/ecs_role.tf.erb
90
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/load_balancer.tf.erb
91
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/main.tf.erb
92
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/output.tf.erb
93
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_web_app/var.tf.erb
94
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/ecs_role.tf.erb
95
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/main.tf.erb
96
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/output.tf.erb
97
+ - lib/generators/terra_boi/templates/lib/terraform_modules/ecs_worker/var.tf.erb
70
98
  - lib/generators/terra_boi/templates/state_main.erb
71
- - lib/generators/terra_boi/templates/web_servers_main.erb
72
- - lib/generators/terra_boi/templates/web_servers_output.erb
73
- - lib/generators/terra_boi/templates/web_servers_user_data.erb
74
- - lib/generators/terra_boi/web_servers_generator.rb
99
+ - lib/generators/terra_boi/tf_cert_generator.rb
100
+ - lib/generators/terra_boi/tf_ecr_generator.rb
101
+ - lib/generators/terra_boi/tf_env_generator.rb
102
+ - lib/generators/terra_boi/tf_lib_generator.rb
103
+ - lib/generators/terra_boi/tf_state_generator.rb
75
104
  - lib/tasks/terra_boi_tasks.rake
76
105
  - lib/terra_boi.rb
77
106
  - lib/terra_boi/railtie.rb
@@ -80,7 +109,7 @@ homepage: https://github.com/charliereese/terra_boi
80
109
  licenses:
81
110
  - MIT
82
111
  metadata: {}
83
- post_install_message:
112
+ post_install_message:
84
113
  rdoc_options: []
85
114
  require_paths:
86
115
  - lib
@@ -95,10 +124,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
124
  - !ruby/object:Gem::Version
96
125
  version: '0'
97
126
  requirements: []
98
- rubyforge_project:
99
- rubygems_version: 2.7.7
100
- signing_key:
127
+ rubygems_version: 3.1.2
128
+ signing_key:
101
129
  specification_version: 4
102
- summary: Generators to help you get rails applications deployed into production as
103
- quickly and easily as possible.
130
+ summary: Deploy your rails application to AWS with `rake deploy`. terra_boi generates
131
+ AWS infrastructure as code, provisions AWS infrastructure, and then deploys your
132
+ application to it using Terraform, rails generators, and rake tasks.
104
133
  test_files: []
@@ -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,47 +0,0 @@
1
- require "generators/extensions"
2
-
3
- module TerraBoi
4
- class MasterWorkerGenerator < Rails::Generators::Base
5
- attr_accessor :application_name, :id_rsa_pub, :class_options
6
- class_option :domain_name, type: :string
7
- source_root File.expand_path('templates', __dir__)
8
-
9
- desc (<<-EOF
10
- Generate staging and production terraform master worker server files
11
-
12
- To execute, run rails generate terra_boi:master_worker
13
- EOF
14
- .gsub(/\t/, '')
15
- )
16
-
17
- def init
18
- # defined in lib/generators/extensions
19
- self.application_name = generate_application_name
20
- self.id_rsa_pub = open(ENV['HOME'] + "/.ssh/id_rsa.pub").read.chomp
21
- end
22
-
23
- def create_main_terraform_file
24
- generate_terraform_files({
25
- template: 'master_worker_main.erb',
26
- file_path: 'master_worker/main.tf',
27
- env: ['staging', 'prod']
28
- })
29
- end
30
-
31
- def create_output_terraform_file
32
- generate_terraform_files({
33
- template: 'master_worker_output.erb',
34
- file_path: 'master_worker/output.tf',
35
- env: ['staging', 'prod']
36
- })
37
- end
38
-
39
- def create_user_data_terraform_file
40
- generate_terraform_files({
41
- template: 'master_worker_user_data.erb',
42
- file_path: 'master_worker/user-data.sh',
43
- env: ['staging', 'prod']
44
- })
45
- end
46
- end
47
- 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.24"
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,33 +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 "rake" -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 jobs:work
28
-
29
- # Run outstanding DB migrations
30
- docker container exec $APPLICATION_NAME rake db:migrate
31
-
32
- # Update and run cron
33
- docker container exec $APPLICATION_NAME whenever --update-crontab
@@ -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-disco-19.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
- }