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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/Gemfile.lock +85 -70
- data/lib/generators/rails_template18f/active_storage/active_storage_generator.rb +4 -3
- data/lib/generators/rails_template18f/auditree/auditree_generator.rb +36 -6
- data/lib/generators/rails_template18f/auditree/templates/gitlab/auditree.yml.tt +48 -0
- data/lib/generators/rails_template18f/circleci/templates/circleci/config.yml.tt +6 -2
- data/lib/generators/rails_template18f/cloud_gov_config/cloud_gov_config_generator.rb +0 -8
- data/lib/generators/rails_template18f/cloud_gov_config/templates/app/models/cloud_gov_config.rb +6 -15
- data/lib/generators/rails_template18f/cloud_gov_config/templates/spec/models/cloud_gov_config_spec.rb +13 -19
- data/lib/generators/rails_template18f/github_actions/github_actions_generator.rb +0 -4
- data/lib/generators/rails_template18f/github_actions/templates/github/dependabot.yml.tt +16 -0
- data/lib/generators/rails_template18f/github_actions/templates/github/workflows/deploy-production.yml +4 -1
- data/lib/generators/rails_template18f/github_actions/templates/github/workflows/deploy-staging.yml +4 -1
- data/lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-production.yml +4 -1
- data/lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-staging.yml +4 -1
- data/lib/generators/rails_template18f/gitlab_ci/gitlab_ci_generator.rb +9 -18
- data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab/{node.yml.tt → node.yml} +1 -1
- data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab/rails.yml +11 -18
- data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab-ci.yml.tt +80 -152
- data/lib/generators/rails_template18f/oscal/oscal_generator.rb +15 -1
- data/lib/generators/rails_template18f/oscal/templates/bin/trestle.tt +10 -1
- data/lib/generators/rails_template18f/oscal/templates/gitlab/trestle.yml.tt +29 -0
- data/lib/generators/rails_template18f/public_egress/public_egress_generator.rb +2 -2
- data/lib/generators/rails_template18f/sidekiq/templates/config/initializers/redis.rb +1 -1
- data/lib/generators/rails_template18f/terraform/templates/gitlab_bootstrap/apply.sh +25 -0
- data/lib/generators/rails_template18f/terraform/templates/gitlab_bootstrap/main.tf.tt +114 -0
- data/lib/generators/rails_template18f/terraform/templates/gitlab_bootstrap/setup_shadowenv.sh +61 -0
- data/lib/generators/rails_template18f/terraform/templates/s3_bootstrap/common/templates/backend_config.tftpl +6 -0
- data/lib/generators/rails_template18f/terraform/templates/s3_bootstrap/common/users.auto.tfvars +5 -0
- data/lib/generators/rails_template18f/terraform/templates/{full_bootstrap → s3_bootstrap/full}/main.tf.tt +7 -27
- data/lib/generators/rails_template18f/terraform/templates/{sandbox_bootstrap → s3_bootstrap/sandbox}/main.tf.tt +6 -19
- data/lib/generators/rails_template18f/terraform/templates/terraform/.shadowenv.d/.gitignore +3 -0
- data/lib/generators/rails_template18f/terraform/templates/terraform/README.md.tt +41 -29
- data/lib/generators/rails_template18f/terraform/templates/terraform/app.tf.tt +7 -6
- data/lib/generators/rails_template18f/terraform/templates/terraform/main.tf.tt +16 -14
- data/lib/generators/rails_template18f/terraform/templates/terraform/{production.tfvars.tt → production.env.tfvars.tt} +0 -1
- data/lib/generators/rails_template18f/terraform/templates/terraform/providers.tf.tt +6 -8
- data/lib/generators/rails_template18f/terraform/templates/terraform/staging.env.tfvars.tt +7 -0
- data/lib/generators/rails_template18f/terraform/templates/terraform/terraform.sh.tt +52 -18
- data/lib/generators/rails_template18f/terraform/templates/terraform/variables.tf.tt +15 -11
- data/lib/generators/rails_template18f/terraform/terraform_generator.rb +80 -6
- data/lib/rails_template18f/generators/cloud_gov_parsing.rb +2 -2
- data/lib/rails_template18f/version.rb +1 -1
- data/template.rb +33 -16
- data/templates/README.md.tt +1 -1
- metadata +23 -17
- data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab/terraform.yml +0 -28
- data/lib/generators/rails_template18f/terraform/templates/terraform/bootstrap/templates/backend_config.tftpl +0 -8
- data/lib/generators/rails_template18f/terraform/templates/terraform/staging.tfvars.tt +0 -8
- /data/lib/generators/rails_template18f/{github_actions → oscal}/templates/github/workflows/assemble-ssp.yml.tt +0 -0
- /data/lib/generators/rails_template18f/{github_actions → oscal}/templates/github/workflows/validate-ssp.yml +0 -0
- /data/lib/generators/rails_template18f/terraform/templates/{terraform/bootstrap → gitlab_bootstrap}/users.auto.tfvars +0 -0
- /data/lib/generators/rails_template18f/terraform/templates/{terraform/bootstrap → s3_bootstrap/common}/apply.sh +0 -0
- /data/lib/generators/rails_template18f/terraform/templates/{terraform/bootstrap → s3_bootstrap/common}/templates/bot_secrets.tftpl +0 -0
- /data/lib/generators/rails_template18f/terraform/templates/{full_bootstrap → s3_bootstrap/full}/imports.tf.tftpl +0 -0
- /data/lib/generators/rails_template18f/terraform/templates/{sandbox_bootstrap → s3_bootstrap/sandbox}/imports.tf.tftpl +0 -0
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
|
|
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 "
|
|
27
|
+
}<% end %>
|
|
28
|
+
variable "allow_ssh" {
|
|
28
29
|
type = bool
|
|
29
30
|
default = false
|
|
30
|
-
description = "Whether to allow ssh to
|
|
31
|
-
}
|
|
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 "
|
|
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
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
24
|
-
|
|
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
|
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
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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}"
|
data/templates/README.md.tt
CHANGED
|
@@ -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.
|
|
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:
|
|
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
|
|
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/
|
|
199
|
-
- lib/generators/rails_template18f/terraform/templates/
|
|
200
|
-
- lib/generators/rails_template18f/terraform/templates/
|
|
201
|
-
- lib/generators/rails_template18f/terraform/templates/
|
|
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.
|
|
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
|
-
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|