rails_template_18f 2.0.0 → 2.1.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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/Gemfile.lock +6 -6
  4. data/lib/generators/rails_template18f/circleci/templates/circleci/config.yml.tt +12 -2
  5. data/lib/generators/rails_template18f/cloud_gov_config/templates/app/models/cloud_gov_config.rb +9 -1
  6. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/deploy-production.yml +3 -1
  7. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/deploy-staging.yml +3 -1
  8. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-production.yml +3 -1
  9. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-staging.yml +3 -1
  10. data/lib/generators/rails_template18f/gitlab_ci/gitlab_ci_generator.rb +147 -0
  11. data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab/node.yml.tt +11 -0
  12. data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab/rails.yml +75 -0
  13. data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab/ruby.yml +7 -0
  14. data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab/terraform.yml +28 -0
  15. data/lib/generators/rails_template18f/gitlab_ci/templates/gitlab-ci.yml.tt +212 -0
  16. data/lib/generators/rails_template18f/public_egress/public_egress_generator.rb +15 -31
  17. data/lib/generators/rails_template18f/terraform/templates/full_bootstrap/main.tf.tt +2 -2
  18. data/lib/generators/rails_template18f/terraform/templates/sandbox_bootstrap/main.tf.tt +1 -1
  19. data/lib/generators/rails_template18f/terraform/templates/terraform/README.md.tt +3 -13
  20. data/lib/generators/rails_template18f/terraform/templates/terraform/app.tf.tt +0 -6
  21. data/lib/generators/rails_template18f/terraform/templates/terraform/main.tf.tt +27 -16
  22. data/lib/generators/rails_template18f/terraform/templates/terraform/production.tfvars.tt +3 -0
  23. data/lib/generators/rails_template18f/terraform/templates/terraform/providers.tf.tt +7 -21
  24. data/lib/generators/rails_template18f/terraform/templates/terraform/terraform.sh.tt +1 -41
  25. data/lib/generators/rails_template18f/terraform/templates/terraform/variables.tf.tt +8 -9
  26. data/lib/generators/rails_template18f/terraform/terraform_generator.rb +0 -1
  27. data/lib/rails_template18f/version.rb +1 -1
  28. data/template.rb +20 -12
  29. data/templates/{pa11yci.js → pa11yci.js.tt} +5 -0
  30. metadata +10 -10
  31. data/lib/generators/rails_template18f/terraform/templates/terraform/sandbox_bot/main.tf +0 -74
  32. data/lib/generators/rails_template18f/terraform/templates/terraform/sandbox_bot/run.sh +0 -17
@@ -1,74 +0,0 @@
1
- terraform {
2
- required_version = "~> 1.10"
3
- required_providers {
4
- cloudfoundry = {
5
- source = "cloudfoundry/cloudfoundry"
6
- version = "1.1.0"
7
- }
8
- }
9
- backend "local" {}
10
- }
11
- # empty config will let terraform borrow cf-cli's auth
12
- provider "cloudfoundry" {}
13
-
14
- variable "sandbox_name" {
15
- type = string
16
- description = "Name of the sandbox environment we're deploying into"
17
- }
18
-
19
- locals {
20
- sa_service_name = "${var.sandbox_name}-local-deployer"
21
- sa_key_name = "deployer-access-key"
22
- sa_bot_credentials = jsondecode(data.cloudfoundry_service_credential_binding.runner_sa_key.credential_bindings.0.credential_binding).credentials
23
- sa_cf_username = nonsensitive(local.sa_bot_credentials.username)
24
- }
25
-
26
- data "cloudfoundry_service_plans" "cg_service_account" {
27
- name = "space-deployer"
28
- service_offering_name = "cloud-gov-service-account"
29
- }
30
- data "terraform_remote_state" "bootstrap" {
31
- backend = "local"
32
- config = {
33
- path = "${path.module}/../bootstrap/terraform.tfstate"
34
- }
35
- }
36
- resource "cloudfoundry_service_instance" "runner_service_account" {
37
- name = local.sa_service_name
38
- type = "managed"
39
- space = data.terraform_remote_state.bootstrap.outputs.mgmt_space_id
40
- service_plan = data.cloudfoundry_service_plans.cg_service_account.service_plans.0.id
41
- }
42
-
43
- resource "cloudfoundry_service_credential_binding" "runner_sa_key" {
44
- name = local.sa_key_name
45
- service_instance = cloudfoundry_service_instance.runner_service_account.id
46
- type = "key"
47
- }
48
- data "cloudfoundry_service_credential_binding" "runner_sa_key" {
49
- name = local.sa_key_name
50
- service_instance = cloudfoundry_service_instance.runner_service_account.id
51
- depends_on = [cloudfoundry_service_credential_binding.runner_sa_key]
52
- }
53
-
54
- data "cloudfoundry_user" "sa_user" {
55
- name = local.sa_cf_username
56
- }
57
- resource "cloudfoundry_org_role" "sa_org_manager" {
58
- user = data.cloudfoundry_user.sa_user.users.0.id
59
- type = "organization_manager"
60
- org = data.terraform_remote_state.bootstrap.outputs.mgmt_org_id
61
- }
62
-
63
- resource "local_sensitive_file" "bot_secrets_file" {
64
- filename = "${path.module}/../secrets.auto.tfvars"
65
- file_permission = "0600"
66
-
67
- content = <<-EOT
68
- # "${local.sa_service_name}"/"${local.sa_key_name}" generated by sandbox_bot terraform module.
69
- # Run `./run.sh ${var.sandbox_name} destroy` in that directory to clean up
70
-
71
- cf_user = "${local.sa_cf_username}"
72
- cf_password = "${local.sa_bot_credentials.password}"
73
- EOT
74
- }
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -e
4
-
5
- if [[ $# -lt 2 ]]; then
6
- echo "usage: $0 SANDBOX_NAME TERRAFORM_CMD [TERRAFORM_ARGS]"
7
- echo "You must pass the sandbox_name as the first argument and terraform command as the second"
8
- echo "All other arguments are passed as-is to terraform"
9
- exit 1
10
- fi
11
-
12
- sandbox_name="$1"
13
- cmd="$2"
14
- shift 2
15
-
16
- terraform init -backend-config="path=$sandbox_name/terraform.tfstate" -reconfigure
17
- terraform "$cmd" -var sandbox_name="$sandbox_name" "$@"