rails_template_18f 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/Gemfile.lock +49 -45
- data/README.md +102 -29
- data/exe/rails_template_18f +0 -21
- data/lib/generators/rails_template18f/active_storage/active_storage_generator.rb +2 -2
- data/lib/generators/rails_template18f/auditree/auditree_generator.rb +34 -3
- data/lib/generators/rails_template18f/auditree/templates/bin/auditree.tt +85 -11
- data/lib/generators/rails_template18f/auditree/templates/github/actions/auditree-cmd/action.yml.tt +17 -6
- data/lib/generators/rails_template18f/auditree/templates/github/workflows/auditree-validation.yml.tt +2 -6
- data/lib/generators/rails_template18f/circleci/templates/circleci/config.yml.tt +8 -7
- data/lib/generators/rails_template18f/cloud_gov_config/cloud_gov_config_generator.rb +1 -1
- data/lib/generators/rails_template18f/github_actions/github_actions_generator.rb +0 -1
- data/lib/generators/rails_template18f/github_actions/templates/github/dependabot.yml.tt +25 -0
- data/lib/generators/rails_template18f/github_actions/templates/github/workflows/assemble-ssp.yml.tt +12 -3
- data/lib/generators/rails_template18f/github_actions/templates/github/workflows/brakeman-analysis.yml +1 -1
- data/lib/generators/rails_template18f/github_actions/templates/github/workflows/rspec.yml.tt +9 -1
- data/lib/generators/rails_template18f/github_actions/templates/github/workflows/{validate-ssp.yml.tt → validate-ssp.yml} +1 -1
- data/lib/generators/rails_template18f/newrelic/newrelic_generator.rb +1 -1
- data/lib/generators/rails_template18f/oscal/oscal_generator.rb +14 -1
- data/lib/generators/rails_template18f/oscal/templates/bin/trestle.tt +4 -1
- data/lib/generators/rails_template18f/oscal/templates/github/actions/trestle-cmd/action.yml.tt +16 -0
- data/lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb +1 -1
- data/lib/rails_template18f/version.rb +1 -1
- data/rails-template-18f.gemspec +3 -3
- data/railsrc +2 -0
- data/railsrc-hotwire +2 -0
- data/template.rb +19 -12
- data/templates/lib/tasks/scanning.rake +1 -1
- metadata +12 -12
- data/lib/generators/rails_template18f/github_actions/templates/github/actions/trestle-cmd/action.yml +0 -20
- data/lib/rails_template18f/app_updater.rb +0 -19
data/lib/generators/rails_template18f/auditree/templates/github/actions/auditree-cmd/action.yml.tt
CHANGED
@@ -2,7 +2,7 @@ name: "Run an auditree-devtools command"
|
|
2
2
|
description: "Sets up workspace for running a single command in auditree-devtools"
|
3
3
|
inputs:
|
4
4
|
tag:
|
5
|
-
description: auditree-devtools tag to use.
|
5
|
+
description: auditree-devtools tag to use.
|
6
6
|
required: false
|
7
7
|
default: <%= docker_auditree_tag %>
|
8
8
|
cmd:
|
@@ -10,7 +10,8 @@ inputs:
|
|
10
10
|
required: true
|
11
11
|
email:
|
12
12
|
description: Git user email to attribute to evidence updates
|
13
|
-
required:
|
13
|
+
required: false
|
14
|
+
default: "<%= git_email %>"
|
14
15
|
config_template:
|
15
16
|
description: Auditree config file template
|
16
17
|
required: false
|
@@ -19,13 +20,23 @@ inputs:
|
|
19
20
|
description: OSCAL Component Definition being used as baseline for assessment results
|
20
21
|
required: false
|
21
22
|
default: doc/compliance/oscal/component-definitions/devtools_cloud_gov/component-definition.json
|
23
|
+
volume:
|
24
|
+
description: Freeform volume string to mount another file in the auditree image
|
25
|
+
required: false
|
26
|
+
default: ""
|
22
27
|
runs:
|
23
28
|
using: "composite"
|
24
29
|
steps:
|
25
30
|
- name: Run cmd
|
26
31
|
shell: bash
|
32
|
+
if: ${{ inputs.volume == '' }}
|
33
|
+
run:
|
34
|
+
bin/auditree -t ${{ inputs.tag }} -a ${{ inputs.config_template }} -c ${{ inputs.cdef }}
|
35
|
+
-e "${{ inputs.email }}" ${{ inputs.cmd }}
|
36
|
+
|
37
|
+
- name: Run cmd with volume
|
38
|
+
shell: bash
|
39
|
+
if: ${{ inputs.volume != '' }}
|
27
40
|
run:
|
28
|
-
|
29
|
-
-v $
|
30
|
-
-e GITHUB_TOKEN -e CF_USERNAME -e CF_PASSWORD -e GIT_EMAIL="${{inputs.email}}"
|
31
|
-
ghcr.io/gsa-tts/auditree:${{ inputs.tag }} ${{ inputs.cmd }}
|
41
|
+
bin/auditree -t ${{ inputs.tag }} -a ${{ inputs.config_template }} -c ${{ inputs.cdef }}
|
42
|
+
-e "${{ inputs.email }}" -v ${{ inputs.volume }} ${{ inputs.cmd }}
|
data/lib/generators/rails_template18f/auditree/templates/github/workflows/auditree-validation.yml.tt
CHANGED
@@ -23,20 +23,16 @@ jobs:
|
|
23
23
|
GITHUB_TOKEN: ${{ secrets.AUDITREE_GITHUB_TOKEN }}
|
24
24
|
with:
|
25
25
|
cmd: fetch
|
26
|
-
email: "<%= git_email %>"
|
27
26
|
|
28
27
|
- name: Check evidence
|
29
28
|
uses: ./.github/actions/auditree-cmd
|
30
29
|
env:
|
31
|
-
CF_USERNAME: ${{ secrets.CF_USERNAME }}
|
32
|
-
CF_PASSWORD: ${{ secrets.CF_PASSWORD }}
|
33
30
|
GITHUB_TOKEN: ${{ secrets.AUDITREE_GITHUB_TOKEN }}
|
34
31
|
with:
|
35
|
-
cmd: check
|
36
|
-
email: "<%= git_email %>"
|
32
|
+
cmd: -o check
|
37
33
|
|
38
34
|
- name: Save results
|
39
35
|
uses: actions/upload-artifact@v4
|
40
36
|
with:
|
41
37
|
name: auditree_assessment_results
|
42
|
-
path:
|
38
|
+
path: tmp/auditree/auditree.json
|
@@ -20,19 +20,16 @@ commands:
|
|
20
20
|
description: Set up environment for running docker-trestle commands
|
21
21
|
parameters:
|
22
22
|
tag:
|
23
|
-
description: docker-trestle tag to use.
|
23
|
+
description: docker-trestle tag to use.
|
24
24
|
type: string
|
25
25
|
default: latest
|
26
26
|
cmd:
|
27
27
|
description: Command to run within docker-trestle
|
28
28
|
type: string
|
29
29
|
steps:
|
30
|
-
- run:
|
31
|
-
name: Fix directory permissions
|
32
|
-
command: chmod -R a+w doc/compliance/oscal || true
|
33
30
|
- run:
|
34
31
|
name: Run trestle command
|
35
|
-
command: docker run -v $(pwd)/doc/compliance/oscal:/app/docs:rw ghcr.io/gsa-tts/trestle:<< parameters.tag >> << parameters.cmd >><% end %>
|
32
|
+
command: docker run -u "$(id -u):$(id -g)" -v $(pwd)/doc/compliance/oscal:/app/docs:rw ghcr.io/gsa-tts/trestle:<< parameters.tag >> << parameters.cmd >><% end %>
|
36
33
|
cg-deploy:
|
37
34
|
description: "Login to cloud foundry space with service account credentials
|
38
35
|
and push application using deployment configuration file."
|
@@ -141,7 +138,7 @@ jobs:
|
|
141
138
|
steps:
|
142
139
|
- checkout
|
143
140
|
- trestle-cmd:
|
144
|
-
cmd:
|
141
|
+
cmd: validate-ssp-json
|
145
142
|
- trestle-cmd:
|
146
143
|
cmd: assemble-ssp-json 2> /dev/null | grep "^No changes to assembled ssp"
|
147
144
|
assemble_ssp:
|
@@ -151,8 +148,12 @@ jobs:
|
|
151
148
|
- checkout
|
152
149
|
- trestle-cmd:
|
153
150
|
cmd: trestle assemble -n <%= app_name %> system-security-plan
|
151
|
+
- trestle-cmd:
|
152
|
+
cmd: render-ssp
|
154
153
|
- store_artifacts:
|
155
154
|
path: doc/compliance/oscal/dist/system-security-plans/<%= app_name %>.json
|
155
|
+
- store_artifacts:
|
156
|
+
path: doc/compliance/oscal/ssp-render/<%= app_name %>_ssp.md
|
156
157
|
<% end %>
|
157
158
|
static_security_scans:
|
158
159
|
docker:
|
@@ -161,7 +162,7 @@ jobs:
|
|
161
162
|
- setup-project
|
162
163
|
- run:
|
163
164
|
name: Run Brakeman scan
|
164
|
-
command:
|
165
|
+
command: bin/brakeman --no-pager --ensure-ignore-notes
|
165
166
|
- run:
|
166
167
|
name: Bundle audit
|
167
168
|
command: bundle exec rake bundler:audit
|
@@ -0,0 +1,25 @@
|
|
1
|
+
version: 2
|
2
|
+
updates:
|
3
|
+
- package-ecosystem: bundler
|
4
|
+
directory: "/"
|
5
|
+
schedule:
|
6
|
+
interval: daily
|
7
|
+
open-pull-requests-limit: 10
|
8
|
+
- package-ecosystem: npm
|
9
|
+
directory: "/"
|
10
|
+
schedule:
|
11
|
+
interval: daily
|
12
|
+
open-pull-requests-limit: 10
|
13
|
+
- package-ecosystem: github-actions
|
14
|
+
directory: "/"
|
15
|
+
schedule:
|
16
|
+
interval: daily
|
17
|
+
open-pull-requests-limit: 10<% if terraform? %>
|
18
|
+
- package-ecosystem: terraform
|
19
|
+
directories:
|
20
|
+
- "/terraform/production"
|
21
|
+
- "/terraform/staging"
|
22
|
+
schedule:
|
23
|
+
interval: weekly
|
24
|
+
open-pull-requests-limit: 10
|
25
|
+
<% end %>
|
data/lib/generators/rails_template18f/github_actions/templates/github/workflows/assemble-ssp.yml.tt
CHANGED
@@ -4,8 +4,6 @@ on:
|
|
4
4
|
workflow_dispatch:
|
5
5
|
push:
|
6
6
|
branches: [ main ]
|
7
|
-
paths:
|
8
|
-
- "doc/compliance/oscal/**"
|
9
7
|
|
10
8
|
jobs:
|
11
9
|
assemble_ssp:
|
@@ -19,8 +17,19 @@ jobs:
|
|
19
17
|
with:
|
20
18
|
cmd: trestle assemble -n <%= app_name %> system-security-plan
|
21
19
|
|
20
|
+
- name: Render final SSPP
|
21
|
+
uses: ./.github/actions/trestle-cmd
|
22
|
+
with:
|
23
|
+
cmd: render-ssp
|
24
|
+
|
25
|
+
- name: Transform SSPP to PDF
|
26
|
+
run: docker run --rm -u "$(id -u):$(id -g)" -v "$GITHUB_WORKSPACE/doc/compliance/oscal/ssp-render:/data" pandoc/latex <%= app_name %>_ssp.md -o <%= app_name %>_ssp.pdf
|
27
|
+
|
22
28
|
- name: Save artifact
|
23
29
|
uses: actions/upload-artifact@v4
|
24
30
|
with:
|
25
31
|
name: <%= app_name %>_SSPP
|
26
|
-
path:
|
32
|
+
path: |
|
33
|
+
doc/compliance/oscal/dist/system-security-plans/<%= app_name %>.json
|
34
|
+
doc/compliance/oscal/ssp-render/<%= app_name %>_ssp.md
|
35
|
+
doc/compliance/oscal/ssp-render/<%= app_name %>_ssp.pdf
|
@@ -39,7 +39,7 @@ jobs:
|
|
39
39
|
- name: Scan
|
40
40
|
continue-on-error: true
|
41
41
|
run: |
|
42
|
-
|
42
|
+
bin/brakeman --no-pager --ensure-ignore-notes -f sarif -o output.sarif.json
|
43
43
|
|
44
44
|
# Upload the SARIF file generated in the previous step
|
45
45
|
- name: Upload SARIF
|
data/lib/generators/rails_template18f/github_actions/templates/github/workflows/rspec.yml.tt
CHANGED
@@ -30,5 +30,13 @@ jobs:
|
|
30
30
|
|
31
31
|
- name: Run rspec
|
32
32
|
env:
|
33
|
-
DATABASE_URL: ${{ steps.setup.outputs.database_url }}
|
33
|
+
DATABASE_URL: ${{ steps.setup.outputs.database_url }}<% if oscal_dir_exists? %>
|
34
|
+
rspec_oscal_output: tmp<% end %>
|
34
35
|
run: bundle exec rspec
|
36
|
+
<% if oscal_dir_exists? %>
|
37
|
+
- name: Save assessment results
|
38
|
+
uses: actions/upload-artifact@v4
|
39
|
+
with:
|
40
|
+
name: <%= app_name %>_assessment
|
41
|
+
path: tmp/oscal
|
42
|
+
<% end %>
|
@@ -10,6 +10,7 @@ module RailsTemplate18f
|
|
10
10
|
class_option :oscal_repo, desc: "GitHub Repo to store compliance documents within. Leave blank to check docs into the app repo"
|
11
11
|
class_option :tag, desc: "Which docker-trestle tag to use. Defaults to `latest`"
|
12
12
|
class_option :branch, desc: "Name of the branch to switch to when using a submodule. Defaults to `main`"
|
13
|
+
class_option :ci, desc: "Name of CI to generate files for. Defaults to system already in use"
|
13
14
|
|
14
15
|
desc <<~DESC
|
15
16
|
Description:
|
@@ -42,6 +43,12 @@ module RailsTemplate18f
|
|
42
43
|
template "doc/compliance/oscal/trestle-config.yaml"
|
43
44
|
end
|
44
45
|
|
46
|
+
def copy_github_actions
|
47
|
+
if use_github_actions?
|
48
|
+
directory "github", ".github"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
45
52
|
def update_readme
|
46
53
|
if file_content("README.md").match?("## Documentation")
|
47
54
|
insert_into_file "README.md", readme_contents, after: "## Documentation\n"
|
@@ -66,6 +73,8 @@ module RailsTemplate18f
|
|
66
73
|
# Trestle working files
|
67
74
|
doc/compliance/oscal/.trestle/_trash
|
68
75
|
doc/compliance/oscal/.trestle/cache
|
76
|
+
# Trestle renders
|
77
|
+
doc/compliance/oscal/ssp-render/#{app_name}_ssp.*
|
69
78
|
EOM
|
70
79
|
end
|
71
80
|
end
|
@@ -76,7 +85,11 @@ module RailsTemplate18f
|
|
76
85
|
end
|
77
86
|
|
78
87
|
def docker_trestle_tag
|
79
|
-
options[:tag].present? ? options[:tag] : "
|
88
|
+
options[:tag].present? ? options[:tag] : "20240912"
|
89
|
+
end
|
90
|
+
|
91
|
+
def use_github_actions?
|
92
|
+
options[:ci] == "github" || file_exists?(".github/workflows")
|
80
93
|
end
|
81
94
|
|
82
95
|
def readme_contents
|
@@ -1,10 +1,13 @@
|
|
1
1
|
#! /usr/bin/env bash
|
2
2
|
|
3
|
+
trestle_tag="<%= docker_trestle_tag %>"
|
4
|
+
|
3
5
|
command="bash"
|
4
6
|
if [ "$1" != "" ]; then
|
5
7
|
command=$1
|
8
|
+
shift 1
|
6
9
|
fi
|
7
10
|
|
8
11
|
oscal_location="$(dirname "$(realpath "$0")")/../doc/compliance/oscal"
|
9
12
|
|
10
|
-
docker run -it --rm -v $oscal_location:/app/docs:rw ghcr.io/gsa-tts/trestle
|
13
|
+
docker run -it --rm -v $oscal_location:/app/docs:rw ghcr.io/gsa-tts/trestle:$trestle_tag $command "$@"
|
data/lib/generators/rails_template18f/oscal/templates/github/actions/trestle-cmd/action.yml.tt
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
name: "Run a docker-trestle command"
|
2
|
+
description: "Sets up workspace for running a single command in docker-trestle"
|
3
|
+
inputs:
|
4
|
+
tag:
|
5
|
+
description: docker-trestle tag to use.
|
6
|
+
required: false
|
7
|
+
default: <%= docker_trestle_tag %>
|
8
|
+
cmd:
|
9
|
+
description: Command to run within docker-trestle
|
10
|
+
required: true
|
11
|
+
runs:
|
12
|
+
using: "composite"
|
13
|
+
steps:
|
14
|
+
- name: Run cmd
|
15
|
+
shell: bash
|
16
|
+
run: docker run -u "$(id -u):$(id -g)" -v $GITHUB_WORKSPACE/doc/compliance/oscal:/app/docs:rw ghcr.io/gsa-tts/trestle:${{ inputs.tag }} ${{ inputs.cmd }}
|
data/rails-template-18f.gemspec
CHANGED
@@ -31,12 +31,12 @@ Gem::Specification.new do |spec|
|
|
31
31
|
|
32
32
|
# For more information and examples about making a new gem, checkout our
|
33
33
|
# guide at: https://bundler.io/guides/creating_gem.html
|
34
|
-
spec.add_dependency "railties", "~> 7.
|
35
|
-
spec.add_dependency "activesupport", "~> 7.
|
34
|
+
spec.add_dependency "railties", "~> 7.2.0"
|
35
|
+
spec.add_dependency "activesupport", "~> 7.2.0"
|
36
36
|
spec.add_dependency "thor", "~> 1.3"
|
37
37
|
spec.add_dependency "colorize", "~> 1.1"
|
38
38
|
|
39
39
|
spec.add_development_dependency "rspec", "~> 3.13"
|
40
40
|
spec.add_development_dependency "ammeter", "~> 1.1"
|
41
|
-
spec.add_development_dependency "standard", "~> 1.
|
41
|
+
spec.add_development_dependency "standard", "~> 1.40"
|
42
42
|
end
|
data/railsrc
CHANGED
data/railsrc-hotwire
CHANGED
data/template.rb
CHANGED
@@ -39,14 +39,16 @@ def print_announcements
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
unless Gem::Dependency.new("rails", "~> 7.
|
43
|
-
warn "This template requires Rails 7.
|
42
|
+
unless Gem::Dependency.new("rails", "~> 7.2.0").match?("rails", Rails.gem_version)
|
43
|
+
warn "This template requires Rails 7.2.x"
|
44
44
|
if Gem::Dependency.new("rails", "~> 6.1.0").match?("rails", Rails.gem_version)
|
45
45
|
warn "See the rails-6 branch https://github.com/gsa-tts/rails-template/tree/rails-6"
|
46
46
|
elsif Gem::Dependency.new("rails", "~> 7.0.0").match?("rails", Rails.gem_version)
|
47
47
|
warn "See the rails-7.0 branch https://github.com/gsa-tts/rails-template/tree/rails-7.0"
|
48
|
-
elsif Gem::Dependency.new("rails", "~> 7.
|
49
|
-
warn "
|
48
|
+
elsif Gem::Dependency.new("rails", "~> 7.1.0").match?("rails", Rails.gem_version)
|
49
|
+
warn "See the rails-7.1 branch https://github.com/gsa-tts/rails-template/tree/rails-7.1"
|
50
|
+
elsif Gem::Dependency.new("rails", ">= 7.3.0").match?("rails", Rails.gem_version)
|
51
|
+
warn "We haven't updated the template for Rails >= 7.3 yet! Please file an issue so we can get the template updated"
|
50
52
|
else
|
51
53
|
warn "We didn't recognize the version of Rails you are using: #{Rails.version}"
|
52
54
|
end
|
@@ -71,6 +73,9 @@ if compliance_trestle_submodule && compliance_trestle_repo.blank?
|
|
71
73
|
end
|
72
74
|
# only ask about auditree if we're also using docker-trestle
|
73
75
|
auditree = compliance_trestle ? yes?("Run compliance checks with auditree? (y/n)") : false
|
76
|
+
if auditree
|
77
|
+
auditree_evidence_repo = ask("What is the https address of your auditree evidence repo? (Leave blank to fill in later)")
|
78
|
+
end
|
74
79
|
|
75
80
|
terraform = yes?("Create terraform files for cloud.gov services? (y/n)")
|
76
81
|
@cloud_gov_organization = ask("What is your cloud.gov organization name? (Leave blank to fill in later)")
|
@@ -111,9 +116,8 @@ EOM
|
|
111
116
|
if compliance_trestle
|
112
117
|
after_bundle do
|
113
118
|
generator_arguments = []
|
114
|
-
if compliance_trestle_submodule
|
115
|
-
|
116
|
-
end
|
119
|
+
generator_arguments << "--oscal_repo=#{compliance_trestle_repo}" if compliance_trestle_submodule
|
120
|
+
generator_arguments << "--ci=github" if @github_actions
|
117
121
|
generate "rails_template18f:oscal", *generator_arguments
|
118
122
|
end
|
119
123
|
register_announcement("OSCAL Documentation", <<~EOM)
|
@@ -183,7 +187,7 @@ after_bundle do
|
|
183
187
|
end
|
184
188
|
|
185
189
|
# updates for OWASP scan to pass
|
186
|
-
gem "secure_headers", "~> 6.
|
190
|
+
gem "secure_headers", "~> 6.7"
|
187
191
|
initializer "secure_headers.rb", <<~EOM
|
188
192
|
SecureHeaders::Configuration.default do |config|
|
189
193
|
# CSP settings are handled by Rails
|
@@ -224,9 +228,8 @@ uncomment_lines csp_initializer, "content_security_policy_nonce"
|
|
224
228
|
gem_group :development, :test do
|
225
229
|
gem "rspec-rails", "~> 6.1"
|
226
230
|
gem "dotenv-rails", "~> 3.1"
|
227
|
-
gem "brakeman", "~> 6.1"
|
228
231
|
gem "bundler-audit", "~> 0.9"
|
229
|
-
gem "standard", "~> 1.
|
232
|
+
gem "standard", "~> 1.40"
|
230
233
|
end
|
231
234
|
if ENV["RT_DEV"] == "true"
|
232
235
|
gem "rails_template_18f", group: :development, path: ENV["PWD"]
|
@@ -462,8 +465,11 @@ end
|
|
462
465
|
|
463
466
|
if auditree
|
464
467
|
after_bundle do
|
465
|
-
generate "rails_template18f:auditree"
|
468
|
+
generate "rails_template18f:auditree", "--evidence_locker=#{auditree_evidence_repo}"
|
466
469
|
end
|
470
|
+
register_announcement "Auditree", <<~EOM
|
471
|
+
* Don't forget to follow the initial setup instructions for Auditree in the main README
|
472
|
+
EOM
|
467
473
|
end
|
468
474
|
|
469
475
|
# setup production credentials file
|
@@ -495,7 +501,8 @@ EOM
|
|
495
501
|
# ensure this is the very last step
|
496
502
|
after_bundle do
|
497
503
|
if run_db_setup
|
498
|
-
rails_command "db:
|
504
|
+
rails_command "db:create"
|
505
|
+
rails_command "db:migrate"
|
499
506
|
end
|
500
507
|
|
501
508
|
# x86_64-linux is required to install gems on any linux system such as cloud.gov or CI pipelines
|
@@ -2,7 +2,7 @@ desc "Run brakeman with potential non-0 return code"
|
|
2
2
|
task :brakeman do
|
3
3
|
# -z flag makes it return non-0 if there are any warnings
|
4
4
|
# -q quiets output
|
5
|
-
unless system("brakeman -z -q") # system is true if return is 0, false otherwise
|
5
|
+
unless system("bin/brakeman -z -q") # system is true if return is 0, false otherwise
|
6
6
|
abort("Brakeman detected one or more code problems, please run it manually and inspect the output.")
|
7
7
|
end
|
8
8
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_template_18f
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Ahearn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 7.
|
19
|
+
version: 7.2.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 7.
|
26
|
+
version: 7.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 7.
|
33
|
+
version: 7.2.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 7.
|
40
|
+
version: 7.2.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: thor
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '1.
|
103
|
+
version: '1.40'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '1.
|
110
|
+
version: '1.40'
|
111
111
|
description:
|
112
112
|
email:
|
113
113
|
- ryan.ahearn@gsa.gov
|
@@ -154,7 +154,7 @@ files:
|
|
154
154
|
- lib/generators/rails_template18f/github_actions/templates/github/actions/run-server/action.yml
|
155
155
|
- lib/generators/rails_template18f/github_actions/templates/github/actions/setup-languages/action.yml.tt
|
156
156
|
- lib/generators/rails_template18f/github_actions/templates/github/actions/setup-project/action.yml.tt
|
157
|
-
- lib/generators/rails_template18f/github_actions/templates/github/
|
157
|
+
- lib/generators/rails_template18f/github_actions/templates/github/dependabot.yml.tt
|
158
158
|
- lib/generators/rails_template18f/github_actions/templates/github/workflows/assemble-ssp.yml.tt
|
159
159
|
- lib/generators/rails_template18f/github_actions/templates/github/workflows/brakeman-analysis.yml
|
160
160
|
- lib/generators/rails_template18f/github_actions/templates/github/workflows/dependency-scans.yml
|
@@ -166,7 +166,7 @@ files:
|
|
166
166
|
- lib/generators/rails_template18f/github_actions/templates/github/workflows/rspec.yml.tt
|
167
167
|
- lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-production.yml
|
168
168
|
- lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-staging.yml
|
169
|
-
- lib/generators/rails_template18f/github_actions/templates/github/workflows/validate-ssp.yml
|
169
|
+
- lib/generators/rails_template18f/github_actions/templates/github/workflows/validate-ssp.yml
|
170
170
|
- lib/generators/rails_template18f/github_actions/templates/oscal/component-definitions/github_actions/component-definition.json.tt
|
171
171
|
- lib/generators/rails_template18f/i18n/i18n_generator.rb
|
172
172
|
- lib/generators/rails_template18f/i18n/templates/config/locales/en.yml.tt
|
@@ -181,6 +181,7 @@ files:
|
|
181
181
|
- lib/generators/rails_template18f/oscal/oscal_generator.rb
|
182
182
|
- lib/generators/rails_template18f/oscal/templates/bin/trestle.tt
|
183
183
|
- lib/generators/rails_template18f/oscal/templates/doc/compliance/oscal/trestle-config.yaml.tt
|
184
|
+
- lib/generators/rails_template18f/oscal/templates/github/actions/trestle-cmd/action.yml.tt
|
184
185
|
- lib/generators/rails_template18f/rails_erd/rails_erd_generator.rb
|
185
186
|
- lib/generators/rails_template18f/rails_erd/templates/erdconfig
|
186
187
|
- lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb
|
@@ -199,7 +200,6 @@ files:
|
|
199
200
|
- lib/generators/rails_template18f/terraform/templates/terraform/staging/providers.tf.tt
|
200
201
|
- lib/generators/rails_template18f/terraform/templates/terraform/staging/variables.tf
|
201
202
|
- lib/generators/rails_template18f/terraform/terraform_generator.rb
|
202
|
-
- lib/rails_template18f/app_updater.rb
|
203
203
|
- lib/rails_template18f/generators.rb
|
204
204
|
- lib/rails_template18f/generators/base.rb
|
205
205
|
- lib/rails_template18f/generators/cloud_gov_options.rb
|
@@ -273,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
273
273
|
- !ruby/object:Gem::Version
|
274
274
|
version: '0'
|
275
275
|
requirements: []
|
276
|
-
rubygems_version: 3.5.
|
276
|
+
rubygems_version: 3.5.11
|
277
277
|
signing_key:
|
278
278
|
specification_version: 4
|
279
279
|
summary: Generators for creating an 18F-flavored Rails app
|
data/lib/generators/rails_template18f/github_actions/templates/github/actions/trestle-cmd/action.yml
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
name: "Run a docker-trestle command"
|
2
|
-
description: "Sets up workspace for running a single command in docker-trestle"
|
3
|
-
inputs:
|
4
|
-
tag:
|
5
|
-
description: docker-trestle tag to use. Defaults to latest
|
6
|
-
required: false
|
7
|
-
default: latest
|
8
|
-
cmd:
|
9
|
-
description: Command to run within docker-trestle
|
10
|
-
required: true
|
11
|
-
runs:
|
12
|
-
using: "composite"
|
13
|
-
steps:
|
14
|
-
- name: Enable writing to trestle directories
|
15
|
-
shell: bash
|
16
|
-
run: chmod -R a+w $GITHUB_WORKSPACE/doc/compliance/oscal
|
17
|
-
|
18
|
-
- name: Run cmd
|
19
|
-
shell: bash
|
20
|
-
run: docker run -v $GITHUB_WORKSPACE/doc/compliance/oscal:/app/docs:rw ghcr.io/gsa-tts/trestle:latest ${{ inputs.cmd }}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
require "rails/app_updater"
|
2
|
-
|
3
|
-
module AppUpdaterOptions
|
4
|
-
extend ActiveSupport::Concern
|
5
|
-
|
6
|
-
class_methods do
|
7
|
-
def generator_options
|
8
|
-
options = super
|
9
|
-
# These options all end up hardcoded to true in the default `rails app:update`
|
10
|
-
options[:skip_active_job] = !defined?(ActiveJob::Railtie)
|
11
|
-
options[:skip_action_mailbox] = !defined?(ActionMailbox::Engine)
|
12
|
-
options[:skip_action_text] = !defined?(ActionText::Engine)
|
13
|
-
options[:skip_test] = !defined?(Rails::TestUnitRailtie)
|
14
|
-
options
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
Rails::AppUpdater.prepend(AppUpdaterOptions)
|