diff --git a/.github/workflows/create-draft-release.yml b/.github/workflows/create-draft-release.yml index b5e029bd..2c09947c 100644 --- a/.github/workflows/create-draft-release.yml +++ b/.github/workflows/create-draft-release.yml @@ -2,7 +2,7 @@ name: Create Release Draft on: schedule: - - cron: "0 0 */14 * *" # Every 14 days at midnight (format: "`min(0 - 59)` `hr(0 - 23)` `day of month(1 - 31)` `month(1 - 12) ` `day of week(0 - 6)`") + - cron: "0 17 */14 * *" # Every 14 days at 17:00 (format: "`min(0 - 59)` `hr(0 - 23)` `day of month(1 - 31)` `month(1 - 12) ` `day of week(0 - 6)`") jobs: create_release_draft: diff --git a/Gemfile b/Gemfile index c4f4707b..ed82f36c 100644 --- a/Gemfile +++ b/Gemfile @@ -68,9 +68,6 @@ gem 'rubyzip' gem 'mitre-inspec-objects' gem 'rest-client' -# Markdown processing -gem 'redcarpet' - group :development do gem 'listen', '~> 3.1.5' # Access an interactive console on exception pages or by calling 'console' anywhere in the code. diff --git a/Gemfile.lock b/Gemfile.lock index cd339450..db44a153 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -350,7 +350,6 @@ GEM rb-fsevent (0.11.1) rb-inotify (0.10.1) ffi (~> 1.0) - redcarpet (3.6.0) regexp_parser (2.2.1) request_store (1.5.1) rack (>= 1.4) @@ -565,7 +564,6 @@ DEPENDENCIES pg (>= 0.18, < 2.0) puma (~> 5.6) rails (~> 6.1.4) - redcarpet rest-client rspec-mocks rspec-rails (~> 4.0.0) diff --git a/README.md b/README.md index f1f1001c..4a499efb 100644 --- a/README.md +++ b/README.md @@ -11,20 +11,36 @@ Vulcan models the STIG intent form and the process of aligning security controls * Model the STIG creation process between the creator (vendor) and the approver (sponsor) * Write and test InSpec code on a local system, or across SSH, AWS, and Docker targets * Easily view control status and revision history -* Enable distributed authorship with multiple authors working on sets of controls and reviewing each others' work +* Enable distributed authorship with multiple authors working on sets of controls and reviewing each others' work. +* Enable looking up related controls (controls using the same SRG ID) in published STIGs while auhtoring or reviewing a control. +* View DISA published STIG Contents. * Confidential data in the database is encrypted using symmetric encryption * Authenticate via the local server, through GitHub, and through configuring an LDAP server. +* Email and Slack notification enabled + +## Latest Release: [v2.1.4](https://github.com/mitre/vulcan/releases/tag/v2.1.4) + +You can pull the Docker image for the latest release with the following command: + +```bash + docker pull mitre/vulcan:v2.1.4 +``` + +For more details on this release and previous ones, check the [Changelog](https://vulcan.mitre.org/CHANGELOG.html). ## Deploy Vulcan + [Deploying Vulcan in Production](https://vulcan.mitre.org/docs/)   [](https://pages.github.com/)[](https://pages.github.com/) -## Deployment Dependencies: +## Deployment Dependencies + For Ruby (on Ubuntu): - * Ruby - * `build-essentials` - * Bundler - * `libq-dev` - * nodejs + +* Ruby +* `build-essentials` +* Bundler +* `libq-dev` +* nodejs ### Run With Ruby @@ -32,9 +48,13 @@ For Ruby (on Ubuntu): 1. Install the version of Ruby specified in `.ruby-version` 2. Install postgres and rbenv -3. gem install foreman -4. rbenv install -5. bin/setup +3. Run `gem install foreman` +4. Run `rbenv install` +5. Run `bin/setup` + + >> **Note**: `bin/setup` will install the JS dependencies andprepare the database. + +6. Run `rails db:seed` to seed the database. #### Running with Ruby @@ -44,12 +64,19 @@ Make sure you have run the setup steps at least once before following these step 2. foreman start -f Procfile.dev 3. Navigate to `http://127.0.0.1:3000` +#### Test User + +For testing purposes in the development environment, you can use the following credentials: + +**Email**: + +**Password**: 1234567ab! + #### Stopping Vulcan 1. Stop Vulcan by doing `ctrl + c` 2. Stop the postgres server - ## Configuration See `docker-compose.yml` for container configuration options. @@ -87,6 +114,9 @@ and the impact on the application's performance when deciding on the frequency. >> Please refer to your hosting platform's documentation or support services for specific instructions on how to set up scheduled tasks or cron jobs. +## Releasing Vulcan + +For detailed information about creating a release, please refer to the [release documentation](https://github.com/mitre/vulcan/wiki/Release_vulcan). ### NOTICE @@ -105,4 +135,3 @@ This software was produced for the U. S. Government under Contract Number HHSM-5 No other use other than that granted to the U. S. Government, or to those acting on behalf of the U. S. Government under that Clause is authorized without the express written permission of The MITRE Corporation. For further information, please contact The MITRE Corporation, Contracts Management Office, 7515 Colshire Drive, McLean, VA 22102-7539, (703) 983-6000. - diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 4291bd9d..193bf184 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -21,39 +21,4 @@ def base_navigation nav_links end - - # Get the latest release changes to display on the landing page - def latest_release_details - changelog_path = Rails.root.join('CHANGELOG.md') - release_details = '' - - begin - File.open(changelog_path, 'r') do |file| - line = file.gets - while line - if line.start_with?('## [v') - # Found the beginning of a release, start reading details - release_details = line - line = file.gets - while line && !line.start_with?('## [v') - release_details += line - line = file.gets - end - # Exit the loop once the latest release details have been read - break - end - line = file.gets - end - end - rescue StandardError => e - Rails.logger.error "Unable to read latest release: #{e.message}" - end - - release_details - end - - def markdown_to_html(text) - options = %i[hard_wrap autolink no_intra_emphasis fenced_code_blocks] - Markdown.new(text, *options).to_html - end end diff --git a/app/javascript/components/navbar/App.vue b/app/javascript/components/navbar/App.vue index ccd3b179..7ec2573b 100644 --- a/app/javascript/components/navbar/App.vue +++ b/app/javascript/components/navbar/App.vue @@ -3,7 +3,10 @@