rails_template_18f 2.1.0 → 2.3.0

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/CHANGELOG.md +12 -0
  3. data/Gemfile.lock +85 -70
  4. data/lib/generators/rails_template18f/active_storage/active_storage_generator.rb +4 -3
  5. data/lib/generators/rails_template18f/auditree/auditree_generator.rb +36 -6
  6. data/lib/generators/rails_template18f/auditree/templates/gitlab/auditree.yml.tt +48 -0
  7. data/lib/generators/rails_template18f/circleci/templates/circleci/config.yml.tt +6 -2
  8. data/lib/generators/rails_template18f/cloud_gov_config/cloud_gov_config_generator.rb +0 -8
  9. data/lib/generators/rails_template18f/cloud_gov_config/templates/app/models/cloud_gov_config.rb +6 -15
  10. data/lib/generators/rails_template18f/cloud_gov_config/templates/spec/models/cloud_gov_config_spec.rb +13 -19
  11. data/lib/generators/rails_template18f/github_actions/github_actions_generator.rb +0 -4
  12. data/lib/generators/rails_template18f/github_actions/templates/github/dependabot.yml.tt +16 -0
  13. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/deploy-production.yml +4 -1
  14. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/deploy-staging.yml +4 -1
  15. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-production.yml +4 -1
  16. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-staging.yml +4 -1
  17. data/lib/generators/rails_template18f/gitlab_ci/gitlab_ci_generator.rb +9 -18
  18. data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab/{node.yml.tt → node.yml} +1 -1
  19. data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab/rails.yml +11 -18
  20. data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab-ci.yml.tt +80 -152
  21. data/lib/generators/rails_template18f/oscal/oscal_generator.rb +15 -1
  22. data/lib/generators/rails_template18f/oscal/templates/bin/trestle.tt +10 -1
  23. data/lib/generators/rails_template18f/oscal/templates/gitlab/trestle.yml.tt +29 -0
  24. data/lib/generators/rails_template18f/public_egress/public_egress_generator.rb +2 -2
  25. data/lib/generators/rails_template18f/sidekiq/templates/config/initializers/redis.rb +1 -1
  26. data/lib/generators/rails_template18f/terraform/templates/gitlab_bootstrap/apply.sh +25 -0
  27. data/lib/generators/rails_template18f/terraform/templates/gitlab_bootstrap/main.tf.tt +114 -0
  28. data/lib/generators/rails_template18f/terraform/templates/gitlab_bootstrap/setup_shadowenv.sh +61 -0
  29. data/lib/generators/rails_template18f/terraform/templates/s3_bootstrap/common/templates/backend_config.tftpl +6 -0
  30. data/lib/generators/rails_template18f/terraform/templates/s3_bootstrap/common/users.auto.tfvars +5 -0
  31. data/lib/generators/rails_template18f/terraform/templates/{full_bootstrap → s3_bootstrap/full}/main.tf.tt +7 -27
  32. data/lib/generators/rails_template18f/terraform/templates/{sandbox_bootstrap → s3_bootstrap/sandbox}/main.tf.tt +6 -19
  33. data/lib/generators/rails_template18f/terraform/templates/terraform/.shadowenv.d/.gitignore +3 -0
  34. data/lib/generators/rails_template18f/terraform/templates/terraform/README.md.tt +41 -29
  35. data/lib/generators/rails_template18f/terraform/templates/terraform/app.tf.tt +7 -6
  36. data/lib/generators/rails_template18f/terraform/templates/terraform/main.tf.tt +16 -14
  37. data/lib/generators/rails_template18f/terraform/templates/terraform/{production.tfvars.tt → production.env.tfvars.tt} +0 -1
  38. data/lib/generators/rails_template18f/terraform/templates/terraform/providers.tf.tt +6 -8
  39. data/lib/generators/rails_template18f/terraform/templates/terraform/staging.env.tfvars.tt +7 -0
  40. data/lib/generators/rails_template18f/terraform/templates/terraform/terraform.sh.tt +52 -18
  41. data/lib/generators/rails_template18f/terraform/templates/terraform/variables.tf.tt +15 -11
  42. data/lib/generators/rails_template18f/terraform/terraform_generator.rb +80 -6
  43. data/lib/rails_template18f/generators/cloud_gov_parsing.rb +2 -2
  44. data/lib/rails_template18f/version.rb +1 -1
  45. data/template.rb +33 -16
  46. data/templates/README.md.tt +1 -1
  47. metadata +23 -17
  48. data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab/terraform.yml +0 -28
  49. data/lib/generators/rails_template18f/terraform/templates/terraform/bootstrap/templates/backend_config.tftpl +0 -8
  50. data/lib/generators/rails_template18f/terraform/templates/terraform/staging.tfvars.tt +0 -8
  51. /data/lib/generators/rails_template18f/{github_actions → oscal}/templates/github/workflows/assemble-ssp.yml.tt +0 -0
  52. /data/lib/generators/rails_template18f/{github_actions → oscal}/templates/github/workflows/validate-ssp.yml +0 -0
  53. /data/lib/generators/rails_template18f/terraform/templates/{terraform/bootstrap → gitlab_bootstrap}/users.auto.tfvars +0 -0
  54. /data/lib/generators/rails_template18f/terraform/templates/{terraform/bootstrap → s3_bootstrap/common}/apply.sh +0 -0
  55. /data/lib/generators/rails_template18f/terraform/templates/{terraform/bootstrap → s3_bootstrap/common}/templates/bot_secrets.tftpl +0 -0
  56. /data/lib/generators/rails_template18f/terraform/templates/{full_bootstrap → s3_bootstrap/full}/imports.tf.tftpl +0 -0
  57. /data/lib/generators/rails_template18f/terraform/templates/{sandbox_bootstrap → s3_bootstrap/sandbox}/imports.tf.tftpl +0 -0
@@ -1,13 +1,14 @@
1
- # Deploy user settings
1
+ <% if terraform_manage_spaces? %># Deploy user settings
2
2
  variable "cf_user" {
3
3
  type = string
4
4
  description = "The user email or service account running the terraform"
5
5
  }
6
-
6
+ <% end %>
7
7
  # app_space settings
8
8
  variable "cf_space_name" {
9
9
  type = string
10
10
  description = "The space name to deploy the app into"
11
+ default = null
11
12
  }<% if terraform_manage_spaces? %>
12
13
  variable "space_deployers" {
13
14
  type = set(string)
@@ -23,12 +24,12 @@ variable "space_auditors" {
23
24
  type = set(string)
24
25
  default = []
25
26
  description = "A list of users to be granted SpaceAuditor on cf_space_name"
26
- }
27
- variable "allow_space_ssh" {
27
+ }<% end %>
28
+ variable "allow_ssh" {
28
29
  type = bool
29
30
  default = false
30
- description = "Whether to allow ssh to cf_space_name"
31
- }<% end %>
31
+ description = "Whether to allow ssh to the space and/or app"
32
+ }
32
33
 
33
34
  # supporting services settings
34
35
  variable "rds_plan_name" {
@@ -63,10 +64,14 @@ variable "host_name" {
63
64
  }
64
65
 
65
66
  # App environment settings
66
- variable "env" {
67
+ variable "environment_type" {
67
68
  type = string
68
69
  description = "The RAILS_ENV to set for the app (staging or production)"
69
70
  }
71
+ variable "environment_slug" {
72
+ type = string
73
+ description = "environment_name after being sluggified"
74
+ }
70
75
 
71
76
  variable "rails_master_key" {
72
77
  type = string
@@ -83,8 +88,8 @@ variable "web_memory" {
83
88
  type = string
84
89
  default = "256M"
85
90
  description = "The amount of memory to assign to the web processes"
86
- }
87
- <% if has_active_job? %>
91
+ }<% if has_active_job? %>
92
+
88
93
  variable "worker_instances" {
89
94
  type = number
90
95
  default = 1
@@ -94,5 +99,4 @@ variable "worker_memory" {
94
99
  type = string
95
100
  default = "256M"
96
101
  description = "The amount of memory to assign to the worker processes"
97
- }
98
- <% end %>
102
+ }<% end %>
@@ -8,6 +8,8 @@ module RailsTemplate18f
8
8
  include Base
9
9
  include CloudGovOptions
10
10
 
11
+ class_option :backend, default: "s3", desc: "Which terraform backend to use. Options: [s3, gitlab, local]"
12
+
11
13
  desc <<~DESC
12
14
  Description:
13
15
  Install terraform files for cloud.gov database and s3 services
@@ -16,14 +18,40 @@ module RailsTemplate18f
16
18
  def install
17
19
  directory "terraform", mode: :preserve
18
20
  chmod "terraform/terraform.sh", 0o755
19
- if terraform_manage_spaces?
20
- template "full_bootstrap/main.tf", "terraform/bootstrap/main.tf"
21
- copy_file "full_bootstrap/imports.tf.tftpl", "terraform/bootstrap/templates/imports.tf.tftpl"
21
+ end
22
+
23
+ def install_bootstrap
24
+ if use_gitlab_backend?
25
+ directory "gitlab_bootstrap", "terraform/bootstrap", mode: :preserve
26
+ elsif use_s3_backend?
27
+ directory "s3_bootstrap/common", "terraform/bootstrap", mode: :preserve
28
+ if terraform_manage_spaces?
29
+ template "s3_bootstrap/full/main.tf", "terraform/bootstrap/main.tf"
30
+ copy_file "s3_bootstrap/full/imports.tf.tftpl", "terraform/bootstrap/templates/imports.tf.tftpl"
31
+ else
32
+ template "s3_bootstrap/sandbox/main.tf", "terraform/bootstrap/main.tf"
33
+ copy_file "s3_bootstrap/sandbox/imports.tf.tftpl", "terraform/bootstrap/templates/imports.tf.tftpl"
34
+ end
22
35
  else
23
- template "sandbox_bootstrap/main.tf", "terraform/bootstrap/main.tf"
24
- copy_file "sandbox_bootstrap/imports.tf.tftpl", "terraform/bootstrap/templates/imports.tf.tftpl"
36
+ remove_dir "terraform/.shadowenv.d"
37
+ end
38
+ unless terraform_manage_spaces?
25
39
  remove_file "terraform/bootstrap/users.auto.tfvars"
26
- remove_file "terraform/production.tfvars"
40
+ remove_file "terraform/production.env.tfvars"
41
+ end
42
+ end
43
+
44
+ def install_shadowenv
45
+ unless use_local_backend?
46
+ append_to_file "Brewfile", <<~EOB
47
+
48
+ # shadowenv for loading terraform backend secrets
49
+ brew "shadowenv"
50
+ EOB
51
+ insert_into_file "README.md", indent(<<~EOR), after: /\* Install homebrew dependencies: `brew bundle`\n/
52
+ * [shadowenv](https://shopify.github.io/shadowenv/)
53
+ * See the [quick start](https://shopify.github.io/shadowenv/getting-started/#add-to-your-shell-profile) for instructions on loading shadowenv in your shell
54
+ EOR
27
55
  end
28
56
  end
29
57
 
@@ -35,6 +63,7 @@ module RailsTemplate18f
35
63
  .terraform.lock.hcl
36
64
  **/.terraform/*
37
65
  secrets.*.tfvars
66
+ env_vars.auto.tfvars
38
67
  terraform.tfstate
39
68
  terraform.tfstate.backup
40
69
  terraform/dist
@@ -86,6 +115,51 @@ module RailsTemplate18f
86
115
  done
87
116
  EOM
88
117
  end
118
+
119
+ def use_gitlab_backend?
120
+ backend == "gitlab"
121
+ end
122
+
123
+ def use_s3_backend?
124
+ backend == "s3"
125
+ end
126
+
127
+ def use_local_backend?
128
+ backend == "local"
129
+ end
130
+
131
+ def backend
132
+ options[:backend]
133
+ end
134
+
135
+ def backend_unless_local
136
+ if use_local_backend?
137
+ "<s3 or gitlab>"
138
+ else
139
+ backend
140
+ end
141
+ end
142
+
143
+ def backend_block
144
+ if use_gitlab_backend?
145
+ <<EOB
146
+ backend "http" {
147
+ lock_method = "POST"
148
+ unlock_method = "DELETE"
149
+ retry_wait_min = 5
150
+ }
151
+ EOB
152
+ elsif use_s3_backend?
153
+ <<EOB
154
+ backend "s3" {
155
+ encrypt = true
156
+ use_lockfile = true
157
+ use_fips_endpoint = true
158
+ region = "us-gov-west-1"
159
+ }
160
+ EOB
161
+ end
162
+ end
89
163
  end
90
164
  end
91
165
  end
@@ -19,7 +19,7 @@ module RailsTemplate18f
19
19
 
20
20
  def cloud_gov_staging_space
21
21
  if terraform_dir_exists?
22
- staging_vars = file_content("terraform/staging.tfvars")
22
+ staging_vars = file_content("terraform/staging.env.tfvars")
23
23
  if (matches = staging_vars.match(/cf_space_name\s+= "(?<space_name>.*)"/))
24
24
  return matches[:space_name]
25
25
  end
@@ -29,7 +29,7 @@ module RailsTemplate18f
29
29
 
30
30
  def cloud_gov_production_space
31
31
  if terraform_dir_exists?
32
- production_vars = file_content("terraform/production.tfvars")
32
+ production_vars = file_content("terraform/production.env.tfvars")
33
33
  if (matches = production_vars.match(/cf_space_name\s+= "(?<space_name>.*)"/))
34
34
  return matches[:space_name]
35
35
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsTemplate18f
4
- VERSION = "2.1.0"
4
+ VERSION = "2.3.0"
5
5
  end
data/template.rb CHANGED
@@ -102,6 +102,10 @@ cloud_gov_production_space = default_prod_space if cloud_gov_production_space.bl
102
102
  @gitlab_ci = yes?("Create GitLab CI config? (y/n)")
103
103
  @github_actions = yes?("Create GitHub Actions? (y/n)")
104
104
  @circleci_pipeline = yes?("Create CircleCI config? (y/n)")
105
+ local_terraform_backend = false
106
+ unless [@gitlab_ci, @github_actions, @circleci_pipeline].any?
107
+ local_terraform_backend = yes?("Use a local file to store terraform state? This is only appropriate for short-lived proofs of concept but will make it easier to deploy for a single dev. (y/n)")
108
+ end
105
109
  newrelic = yes?("Create FEDRAMP New Relic config files? (y/n)")
106
110
  dap = yes?("If this will be a public site, should we include Digital Analytics Program code? (y/n)")
107
111
  supported_languages = []
@@ -128,22 +132,27 @@ register_announcement("Documentation", <<~EOM)
128
132
  EOM
129
133
 
130
134
  # do early so later generators register files in the correct location
131
- if compliance_trestle
132
- after_bundle do
133
- generator_arguments = []
134
- generator_arguments << "--oscal_repo=#{compliance_trestle_repo}" if compliance_trestle_submodule
135
- generator_arguments << "--ci=github" if @github_actions
136
- generator_arguments << "--ci=gitlab" if @gitlab_ci
137
- generator_arguments << "--ci=circleci" if @circleci_pipeline
138
- generate "rails_template18f:oscal", *generator_arguments
139
- end
140
- register_announcement("OSCAL Documentation", <<~EOM)
141
- OSCAL files have been generated with some default implementation statements in `doc/compliance/oscal`
135
+ run_oscal_generator = ->(register_announcement = false) {
136
+ if compliance_trestle
137
+ after_bundle do
138
+ generator_arguments = []
139
+ generator_arguments << "--oscal_repo=#{compliance_trestle_repo}" if compliance_trestle_submodule
140
+ generator_arguments << "--ci=github" if @github_actions
141
+ generator_arguments << "--ci=gitlab" if @gitlab_ci
142
+ generator_arguments << "--ci=circleci" if @circleci_pipeline
143
+ generate "rails_template18f:oscal", *generator_arguments
144
+ end
145
+ if register_announcement
146
+ register_announcement("OSCAL Documentation", <<~EOM)
147
+ OSCAL files have been generated with some default implementation statements in `doc/compliance/oscal`
142
148
 
143
- All generated statements must be reviewed for accuracy with your system's implementation before being
144
- submitted for authorization.
145
- EOM
146
- end
149
+ All generated statements must be reviewed for accuracy with your system's implementation before being
150
+ submitted for authorization.
151
+ EOM
152
+ end
153
+ end
154
+ }
155
+ run_oscal_generator.call(true)
147
156
 
148
157
  # ensure dependencies are installed
149
158
  copy_file "Brewfile"
@@ -401,6 +410,11 @@ after_bundle do
401
410
  "--cg-staging=#{cloud_gov_staging_space}",
402
411
  "--cg-prod=#{cloud_gov_production_space}"
403
412
  ]
413
+ if @gitlab_ci
414
+ generator_arguments << "--backend=gitlab"
415
+ elsif local_terraform_backend
416
+ generator_arguments << "--backend=local"
417
+ end
404
418
  generate "rails_template18f:terraform", *generator_arguments
405
419
  end
406
420
  if cloud_gov_org_tktk?
@@ -408,7 +422,7 @@ if cloud_gov_org_tktk?
408
422
  Fill in the cloud.gov organization and space information in:
409
423
  * terraform/bootstrap/main.tf
410
424
  * terraform/main.tf
411
- * terraform/*.tfvars
425
+ * terraform/*.env.tfvars
412
426
  EOM
413
427
  end
414
428
  register_announcement("Terraform", "Run the bootstrap script and update the appropriate CI/CD environment variables defined in the Deployment section of the README")
@@ -467,6 +481,9 @@ if @gitlab_ci
467
481
  EOM
468
482
  end
469
483
 
484
+ # rerun so we can update the correct CI systems
485
+ run_oscal_generator.call
486
+
470
487
  if auditree
471
488
  after_bundle do
472
489
  generate "rails_template18f:auditree", "--evidence_locker=#{auditree_evidence_repo}"
@@ -150,7 +150,7 @@ Otherwise:
150
150
 
151
151
  #### Non-secrets
152
152
 
153
- Configuration that changes by environment, but is public, should be added to the `tfvars` files, such as `terraform/production.tfvars` and `terraform/staging.tfvars`
153
+ Configuration that changes by environment, but is public, should be added to the `tfvars` files, such as `terraform/production.env.tfvars` and `terraform/staging.env.tfvars`
154
154
 
155
155
  ## Documentation
156
156
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_template_18f
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Ahearn
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-04-29 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: railties
@@ -138,6 +138,7 @@ files:
138
138
  - lib/generators/rails_template18f/auditree/templates/bin/auditree.tt
139
139
  - lib/generators/rails_template18f/auditree/templates/github/actions/auditree-cmd/action.yml.tt
140
140
  - lib/generators/rails_template18f/auditree/templates/github/workflows/auditree-validation.yml.tt
141
+ - lib/generators/rails_template18f/auditree/templates/gitlab/auditree.yml.tt
141
142
  - lib/generators/rails_template18f/circleci/circleci_generator.rb
142
143
  - lib/generators/rails_template18f/circleci/templates/Dockerfile.ci.tt
143
144
  - lib/generators/rails_template18f/circleci/templates/bin/ci-server-start
@@ -154,7 +155,6 @@ files:
154
155
  - lib/generators/rails_template18f/github_actions/templates/github/actions/setup-languages/action.yml.tt
155
156
  - lib/generators/rails_template18f/github_actions/templates/github/actions/setup-project/action.yml.tt
156
157
  - lib/generators/rails_template18f/github_actions/templates/github/dependabot.yml.tt
157
- - lib/generators/rails_template18f/github_actions/templates/github/workflows/assemble-ssp.yml.tt
158
158
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/brakeman-analysis.yml
159
159
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/dependency-scans.yml
160
160
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/deploy-production.yml
@@ -165,14 +165,12 @@ files:
165
165
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/rspec.yml.tt
166
166
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-production.yml
167
167
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-staging.yml
168
- - lib/generators/rails_template18f/github_actions/templates/github/workflows/validate-ssp.yml
169
168
  - lib/generators/rails_template18f/github_actions/templates/oscal/component-definitions/github_actions/component-definition.json.tt
170
169
  - lib/generators/rails_template18f/gitlab_ci/gitlab_ci_generator.rb
171
170
  - lib/generators/rails_template18f/gitlab_ci/templates/gitlab-ci.yml.tt
172
- - lib/generators/rails_template18f/gitlab_ci/templates/gitlab/node.yml.tt
171
+ - lib/generators/rails_template18f/gitlab_ci/templates/gitlab/node.yml
173
172
  - lib/generators/rails_template18f/gitlab_ci/templates/gitlab/rails.yml
174
173
  - lib/generators/rails_template18f/gitlab_ci/templates/gitlab/ruby.yml
175
- - lib/generators/rails_template18f/gitlab_ci/templates/gitlab/terraform.yml
176
174
  - lib/generators/rails_template18f/i18n/i18n_generator.rb
177
175
  - lib/generators/rails_template18f/i18n/templates/config/locales/en.yml.tt
178
176
  - lib/generators/rails_template18f/i18n/templates/config/locales/es.yml
@@ -190,25 +188,33 @@ files:
190
188
  - lib/generators/rails_template18f/oscal/templates/bin/trestle.tt
191
189
  - lib/generators/rails_template18f/oscal/templates/doc/compliance/oscal/trestle-config.yaml.tt
192
190
  - lib/generators/rails_template18f/oscal/templates/github/actions/trestle-cmd/action.yml.tt
191
+ - lib/generators/rails_template18f/oscal/templates/github/workflows/assemble-ssp.yml.tt
192
+ - lib/generators/rails_template18f/oscal/templates/github/workflows/validate-ssp.yml
193
+ - lib/generators/rails_template18f/oscal/templates/gitlab/trestle.yml.tt
193
194
  - lib/generators/rails_template18f/public_egress/public_egress_generator.rb
194
195
  - lib/generators/rails_template18f/rails_erd/rails_erd_generator.rb
195
196
  - lib/generators/rails_template18f/rails_erd/templates/erdconfig
196
197
  - lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb
197
198
  - lib/generators/rails_template18f/sidekiq/templates/config/initializers/redis.rb
198
- - lib/generators/rails_template18f/terraform/templates/full_bootstrap/imports.tf.tftpl
199
- - lib/generators/rails_template18f/terraform/templates/full_bootstrap/main.tf.tt
200
- - lib/generators/rails_template18f/terraform/templates/sandbox_bootstrap/imports.tf.tftpl
201
- - lib/generators/rails_template18f/terraform/templates/sandbox_bootstrap/main.tf.tt
199
+ - lib/generators/rails_template18f/terraform/templates/gitlab_bootstrap/apply.sh
200
+ - lib/generators/rails_template18f/terraform/templates/gitlab_bootstrap/main.tf.tt
201
+ - lib/generators/rails_template18f/terraform/templates/gitlab_bootstrap/setup_shadowenv.sh
202
+ - lib/generators/rails_template18f/terraform/templates/gitlab_bootstrap/users.auto.tfvars
203
+ - lib/generators/rails_template18f/terraform/templates/s3_bootstrap/common/apply.sh
204
+ - lib/generators/rails_template18f/terraform/templates/s3_bootstrap/common/templates/backend_config.tftpl
205
+ - lib/generators/rails_template18f/terraform/templates/s3_bootstrap/common/templates/bot_secrets.tftpl
206
+ - lib/generators/rails_template18f/terraform/templates/s3_bootstrap/common/users.auto.tfvars
207
+ - lib/generators/rails_template18f/terraform/templates/s3_bootstrap/full/imports.tf.tftpl
208
+ - lib/generators/rails_template18f/terraform/templates/s3_bootstrap/full/main.tf.tt
209
+ - lib/generators/rails_template18f/terraform/templates/s3_bootstrap/sandbox/imports.tf.tftpl
210
+ - lib/generators/rails_template18f/terraform/templates/s3_bootstrap/sandbox/main.tf.tt
211
+ - lib/generators/rails_template18f/terraform/templates/terraform/.shadowenv.d/.gitignore
202
212
  - lib/generators/rails_template18f/terraform/templates/terraform/README.md.tt
203
213
  - lib/generators/rails_template18f/terraform/templates/terraform/app.tf.tt
204
- - lib/generators/rails_template18f/terraform/templates/terraform/bootstrap/apply.sh
205
- - lib/generators/rails_template18f/terraform/templates/terraform/bootstrap/templates/backend_config.tftpl
206
- - lib/generators/rails_template18f/terraform/templates/terraform/bootstrap/templates/bot_secrets.tftpl
207
- - lib/generators/rails_template18f/terraform/templates/terraform/bootstrap/users.auto.tfvars
208
214
  - lib/generators/rails_template18f/terraform/templates/terraform/main.tf.tt
209
- - lib/generators/rails_template18f/terraform/templates/terraform/production.tfvars.tt
215
+ - lib/generators/rails_template18f/terraform/templates/terraform/production.env.tfvars.tt
210
216
  - lib/generators/rails_template18f/terraform/templates/terraform/providers.tf.tt
211
- - lib/generators/rails_template18f/terraform/templates/terraform/staging.tfvars.tt
217
+ - lib/generators/rails_template18f/terraform/templates/terraform/staging.env.tfvars.tt
212
218
  - lib/generators/rails_template18f/terraform/templates/terraform/terraform.sh.tt
213
219
  - lib/generators/rails_template18f/terraform/templates/terraform/variables.tf.tt
214
220
  - lib/generators/rails_template18f/terraform/terraform_generator.rb
@@ -280,7 +286,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
280
286
  - !ruby/object:Gem::Version
281
287
  version: '0'
282
288
  requirements: []
283
- rubygems_version: 3.6.2
289
+ rubygems_version: 3.6.9
284
290
  specification_version: 4
285
291
  summary: Generators for creating an 18F-flavored Rails app
286
292
  test_files: []
@@ -1,28 +0,0 @@
1
- # Shared setup helpers for terraform jobs
2
- .terraform:setup:
3
- stage: deploy
4
- inherit:
5
- default: false
6
- image:
7
- name: "hashicorp/terraform"
8
- entrypoint: ["sh"]
9
- variables:
10
- CF_API_URL: https://api.fr.cloud.gov
11
- TERRAFORM_BACKEND_KEY: terraform.tfstate.staging
12
- dependencies: []
13
- before_script:
14
- - cd terraform
15
- - terraform init -backend-config=$TERRAFORM_PUBLIC_BACKEND_CONFIG -backend-config=$TERRAFORM_SECRET_BACKEND_CONFIG -backend-config="key=$TERRAFORM_BACKEND_KEY"
16
- rules:
17
- - if: $CI_PIPELINE_SOURCE != "schedule"
18
-
19
- .terraform:variables:staging:
20
- dependencies: null
21
- variables:
22
- CF_USER: $CF_USERNAME
23
-
24
- .terraform:variables:production:
25
- dependencies: null
26
- variables:
27
- CF_USER: $CF_USERNAME
28
- TERRAFORM_BACKEND_KEY: terraform.tfstate.production
@@ -1,8 +0,0 @@
1
- # remove this file after initializing your terraform
2
- # you can always regenerate it by running ./apply.sh
3
- # within the bootstrap module
4
-
5
- bucket = "${creds.bucket}"
6
- region = "${creds.region}"
7
- access_key = "${creds.access_key_id}"
8
- secret_key = "${creds.secret_access_key}"
@@ -1,8 +0,0 @@
1
- cf_space_name = "<%= cloud_gov_staging_space %>"
2
- env = "staging"
3
- allow_space_ssh = true
4
- # host_name must be unique across cloud.gov, default is "<%= app_name %>-${var.env}"
5
- host_name = null
6
- space_developers = [
7
- # enter developer emails that should have ssh access to staging
8
- ]