Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
david-waltermire committed Jun 7, 2021
2 parents 91084cd + fa1994b commit 47f736f
Show file tree
Hide file tree
Showing 328 changed files with 2,121,050 additions and 37,804 deletions.
57 changes: 39 additions & 18 deletions .github/workflows/metaschema-artifacts.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
on:
push:
branches:
- master
- main
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:
branches:
- master
- main
name: Build Artifacts and Documentation
env:
# the name of the repo
HOME_REPO: usnistgov/OSCAL
HOME_BRANCH: master
HOME_BRANCH: main
# dependency versions
SAXON_VERSION: 9.9.0-1
HUGO_VERSION: 0.69.2
Expand Down Expand Up @@ -219,23 +219,39 @@ jobs:
# ---------------
- name: Generate specification documentation
run: |
bash "${OSCAL_CICD_PATH}/generate-specification-documentation.sh" -w "${OSCAL_WORKING_PATH}"
bash "${OSCAL_CICD_PATH}/generate-specification-documentation.sh"
- uses: actions/upload-artifact@v2
with:
name: specification-docs
path: |
${{ env.OSCAL_WORKING_PATH }}/docs/content/documentation/processing/profile-resolution.html
${{ env.OSCAL_HOME }}/docs/content/documentation/processing/profile-resolution.html
retention-days: 5
# job-generate-docs
- name: Generate Model Documentation
run: |
bash "${OSCAL_CICD_PATH}/generate-model-documentation.sh" -w "${OSCAL_WORKING_PATH}"
- uses: actions/upload-artifact@v2
with:
name: model-docs
path: |
${{ env.OSCAL_WORKING_PATH }}/docs/layouts/partials/generated
retention-days: 5
echo "PWD: ${PWD}"
echo "OSCAL_HOME: ${OSCAL_HOME}"
echo "Github Workspace: ${{ github.workspace }}"
echo "Branch: $(git branch --show-current)"
BRANCH="${GITHUB_REF}"
echo "Branch(1): ${BRANCH}"
if [[ "$BRANCH" =~ ^refs/pull/.* ]]; then
BRANCH="${GITHUB_HEAD_REF}"
echo "Branch(2): ${BRANCH}"
elif [[ "$BRANCH" =~ ^refs/heads/.* ]]; then
BRANCH="${GITHUB_REF#refs/heads/}"
echo "Branch(3): ${BRANCH}"
fi
echo "Branch(4): ${BRANCH}"
bash "../build/ci-cd/generate-model-documentation.sh" -b "${BRANCH}"
working-directory: ${{ github.workspace }}/${{ env.OSCAL_HOME }}/docs
# - uses: actions/upload-artifact@v2
# with:
# name: model-docs
# path: |
# ${{ env.OSCAL_HOME }}/docs/layouts/partials/generated
# retention-days: 5
- name: Run Hugo
run: |
cd "${OSCAL_WEBSITE_PATH}"
Expand All @@ -246,9 +262,14 @@ jobs:
path: |
${{ env.OSCAL_WEBSITE_PATH }}/public
retention-days: 5
- name: Run deploy script
if: ${{ github.repository == env.HOME_REPO && github.ref == format('refs/heads/{0}',env.HOME_BRANCH) }}
run: |
cd "$OSCAL_WEBSITE_PATH"
git config user.name "Deployment Bot"
bash ./deploy.sh --push-only -v -m "Deploying website [ci deploy skip]"
# - name: Run HTMLProofer
# run: |
# cd "${OSCAL_WEBSITE_PATH}"
# #--allow-hash-href
# bundle exec htmlproofer --check-external-hash public/ --url-swap "https\://pages.nist.gov/OSCAL/:/" --assume-extension --log-level :debug --url-ignore "/\/OSCAL\/docs\/\/reference\/[^/]+\/[^/]+\/(?:json|xml)-(?:outline|reference|index|definitions)/,/#/,/pages.nist.gov\/(?:nist-header-footer|leaveNotice)\/.+/"
# - name: Run deploy script
# if: ${{ github.repository == env.HOME_REPO && github.ref == format('refs/heads/{0}',env.HOME_BRANCH) }}
# run: |
# cd "$OSCAL_WEBSITE_PATH"
# git config user.name "Deployment Bot"
# bash ./deploy.sh --push-only -v -m "Deploying website [ci deploy skip]"
83 changes: 83 additions & 0 deletions .github/workflows/website.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
on:
push:
branches:
- main
- develop
paths:
- 'docs/**'
- '.github/workflows/website.yml'
workflow_dispatch:
branches:
- main
- develop
name: Build and Publish Website
env:
# the name of the repo
HOME_REPO: usnistgov/OSCAL
HOME_BRANCH: develop
# dependency versions
HUGO_VERSION: 0.83.1
# build-specific environment
OSCAL_HOME: git-content/oscal
OSCAL_WEBSITE_PATH: git-content/oscal/docs
jobs:
build-and-publish-website:
name: Build and Publish Website
runs-on: ubuntu-20.04
steps:
# use this for main repo builds on branches
- name: Checkout main branch
uses: actions/checkout@v2
if: ${{ github.repository == env.HOME_REPO && github.ref == format('refs/heads/{0}',env.HOME_BRANCH) }}
with:
path: ${{ env.OSCAL_HOME }}
submodules: recursive
token: ${{ secrets.COMMIT_TOKEN }}
- name: Get latest from repo
if: ${{ github.repository == env.HOME_REPO && github.event_name == 'push' }}
# This will ensure that any files committed by the previous job, will be updated
run: |
git pull --ff-only
working-directory: ${{ env.OSCAL_HOME }}
# Setup runtime environment
# -------------------------
# Operating System packages
- name: Update APT package metadata
run: |
sudo rm -rf /var/lib/apt/lists/* && sudo apt-get update
# # Ruby and Bundler
# - name: Install Ruby and Bundler
# uses: ruby/setup-ruby@v1
# with:
# ruby-version: 2.6 # Not needed with a .ruby-version file
# bundler-cache: true # runs 'bundle install' and caches installed gems automatically
# working-directory: ${{ env.OSCAL_WEBSITE_PATH }}
# Install Hugo
- name: Install Hugo
run: |
wget https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.deb
sudo apt-get install ./hugo_extended_${HUGO_VERSION}_Linux-64bit.deb
- name: Run Hugo
run: |
cd "${OSCAL_WEBSITE_PATH}"
hugo -v --debug --minify
- name: Check internal links
uses: untitaker/[email protected]
with:
args: ${{ env.OSCAL_WEBSITE_PATH }}/public/ --sources ${{ env.OSCAL_WEBSITE_PATH }}/content --check-anchors
- uses: actions/upload-artifact@v2
with:
name: website
path: |
${{ env.OSCAL_WEBSITE_PATH }}/public
retention-days: 5
# - name: Run HTMLProofer
# run: |
# cd "${OSCAL_WEBSITE_PATH}"
# bundle exec htmlproofer public/ --check-external-hash --url-swap "https\://pages.nist.gov/OSCAL/:/" --assume-extension --log-level :debug --url-ignore "\/reference\//,/pages.nist.gov\/(?:nist-header-footer|leaveNotice)\/.+/"
# - name: Run deploy script
# if: ${{ github.repository == env.HOME_REPO && github.ref == format('refs/heads/{0}',env.HOME_BRANCH) }}
# run: |
# cd "$OSCAL_WEBSITE_PATH"
# git config user.name "Deployment Bot"
# bash ./deploy.sh --push-only -v -m "Deploying website [ci deploy skip]"
46 changes: 14 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,50 +12,32 @@ If you are interested in contributing to the development of OSCAL, refer to the

## Project Status

OSCAL 1.0.0 Release Candidate 2 was released on April 12, 2021. The full announcement can be found below:
OSCAL 1.0.0 was released on June 7, 2021. The full announcement can be found below:

<blockquote>
We are pleased to announce the publication of OSCAL 1.0.0 Release Candidate (RC) 2. This is the second full draft release of OSCAL 1.0.0 which is made available for public review and feedback before releasing the final OSCAL 1.0.0.

Please provide feedback by May 7, 2021 by emailing the NIST OSCAL team at [[email protected]](mailto:[email protected]) or by [creating an issue](https://github.com/usnistgov/OSCAL/issues) on our GitHub repository.

The [OSCAL 1.0.0 RC 2](https://github.com/usnistgov/OSCAL/releases/tag/v1.0.0-rc2) includes:

- Updated stable versions of [catalog](https://pages.nist.gov/OSCAL/documentation/schema/catalog-layer/catalog/) and [profile](https://pages.nist.gov/OSCAL/documentation/schema/profile-layer/profile/) models which provide a structured representation of control catalogs and baselines or overlays.
- Updated stable version of the [system security plan](https://pages.nist.gov/OSCAL/documentation/schema/implementation-layer/ssp/) model which provides a structured representations of a system's control-based implementation.
- Updated stable version of the [component definition](https://pages.nist.gov/OSCAL/documentation/schema/implementation-layer/component/) model which provides a stand-alone structured representation of the controls that are supported in a given implementation of a hardware, software, service, policy, process, procedure, or compliance artifact (e.g., FIPS 140-2 validation).
- Updated stable versions of the [assessment plan](https://pages.nist.gov/OSCAL/documentation/schema/assessment-layer/assessment-plan/), [assessment results](https://pages.nist.gov/OSCAL/documentation/schema/assessment-results-layer/assessment-results/), [plan of action and milestones](https://pages.nist.gov/OSCAL/documentation/schema/assessment-results-layer/poam/) (POA&amp;M) models, which support the structured representation of information used for planning for and documenting the results of an information system assessment or continuous monitoring activity.
- Updated tools to convert between OSCAL [XML](https://github.com/usnistgov/OSCAL/tree/master/xml) and [JSON](https://github.com/usnistgov/OSCAL/tree/master/json) formats, and to [up convert](https://github.com/usnistgov/OSCAL/tree/master/src/release/content-upgrade) content from previous releases to RC2.

Changes in this release are focused on the following major areas:
- Simplification of key OSCAL features
- Properties and annotations have been merged into a single `prop` that now allows an optional `remarks` and `uuid`.
- In the assessment plan and assessment results models, the concepts of a `task` and `action` have been combined.
- Use of `local-definitions` in the assessment plan, assessment results, and POA&M models has been simplified and made more consistent.
- Model documentation improvements
- Some usage descriptions were enhanced to provide more detail and to be more consistent overall.
- Formal names were updated in some places where the names did not match the data element.
- Many spelling errors were corrected.
- Removed the use of XML `<any>` and JSON `additonalProperties` for arbitrary extensions based on community discussion. Extended data can still be provided using `link` declarations to external content. This decision can be revisited in future revisions once there is more implementation experience with the OSCAL models.
- Added the following `link` relations: `latest-version`, `predecessor-version`, and `successor-version` to allow an OSCAL document to link to latest, previous, and next document revisions.
- Fixed a few bugs in the profile resolver code and updated the resolver to work with new profile import/insert structures.
- Provided support for data insertion points for data other than parameters in markup content.

There are also [release notes](https://github.com/usnistgov/OSCAL/blob/master/src/release/release-notes.txt) containing a summary of changes in this and previous releases.
The NIST Open Security Controls Assessment Language (OSCAL) team is pleased to announce the release of OSCAL 1.0.0. This first official, major release of OSCAL provides a stable OSCAL 1.0.0 for wide-scale implementation. This release marks an important milestone for the OSCAL project and for the earlier adopters and implementers of security automation with OSCAL.

This release [incorporates changes](/reference/release-notes/#oscal-100-release) based on feedback from the OSCAL community. The NIST OSCAL team is very thankful for all of the great ideas and feedback we have received to date.

Looking forward, the NIST OSCAL team is excited to work with the [OSCAL community](/contribute/) to continue to enhance OSCAL through [additional minor releases](#beyond-the-oscal-100-full-release).

For additional information on the OSCAL project, please see the NIST’s Cybersecurity Insights blog: [*“The Foundation for Interoperable and Portable Security Automation is Revealed in NIST’s OSCAL Project”*](https://www.nist.gov/blogs/cybersecurity-insights/foundation-interoperable-and-portable-security-automation-revealed) and the [OSCAL website](/).

Please direct any feedback on this release by emailing the NIST OSCAL team at [[email protected]](mailto:[email protected]) or by [creating an issue](https://github.com/usnistgov/OSCAL/issues) on our GitHub repository.

There are also [release notes](https://pages.nist.gov/OSCAL/reference/release-notes/#oscal-100-release) containing a summary of changes in this and previous releases.

These changes were made based on all the excellent feedback we received from the OSCAL community. The NIST OSCAL team is very thankful for all of the great feedback we have received.

The NIST team is also maintaining **OSCAL content** that is updated to the latest OSCAL 1.0.0 RC2. The [OSCAL content repository](https://github.com/usnistgov/oscal-content/) provides OSCAL examples, in addition to:
The NIST team is also maintaining **OSCAL content** that is updated to the latest OSCAL revision. The [OSCAL content repository](https://github.com/usnistgov/oscal-content/) provides OSCAL examples, in addition to:

- The [NIST SP 800-53 revision 5 catalog](https://github.com/usnistgov/oscal-content/tree/master/nist.gov/SP800-53/rev5) and the security and privacy [NIST SP 800-53B baselines](https://github.com/usnistgov/oscal-content/tree/master/nist.gov/SP800-53/rev5).
- The [NIST SP 800-53 revision 4 catalog](https://github.com/usnistgov/oscal-content/tree/master/nist.gov/SP800-53/rev4) and the [three NIST SP 800-53 revision 4 baselines](https://github.com/usnistgov/oscal-content/tree/master/nist.gov/SP800-53/rev4).
- The [FedRAMP SP 800-53 revision 4 baselines](https://github.com/usnistgov/oscal-content/tree/master/fedramp.gov). Please note, these baselines are also available on [GSA/fedramp-automation](https://github.com/GSA/fedramp-automation/tree/master/baselines) repository.

All of this OSCAL content is provided in XML, JSON and YAML formats.

The OSCAL team is working diligently to release OSCAL 1.0.0 FINAL near June 1, 2021, with the caveat that the date might change depending on the feedback we receive. To this end, we appreciate any feedback you have on the OSCAL 1.0.0 RC2 models. We would like to kindly ask our community to focus on providing any other RC2-related comments in the next two weeks, so we can stay on schedule. Reviewing your comments is instrumental for our team to make the OSCAL 1.0.0 FINAL release as robust as is feasible, and to address any gaps that might cause backwards compatibilities between future OSCAL minor releases (e.g., 1.1.0, 1.2.0) and OSCAL 1.0.0.

We will continue the development of OSCAL focusing our full attention on providing a more complete set of documentation for all the OSCAL layers and models, creating more examples, and providing a diverse set of tutorials.
The NIST team will continue the development in collaboration with the OSCAL community. Future efforts will include providing a more complete set of documentation for all the OSCAL layers and models, creating more examples, and providing a diverse set of tutorials.

NIST is also seeking tool developers, vendors, and service providers that would like to implement the OSCAL 1.0.0 models in commercial and open-source offerings. To provide feedback, to ask questions, or to let us know about an OSCAL implementation you are working on, please email the NIST OSCAL team at [[email protected]](mailto:[email protected]). You can also post publicly to the OSCAL development list: [[email protected]](mailto:[email protected]) or [create an issue](https://github.com/usnistgov/OSCAL/issues) on our GitHub repository.

Expand Down
1 change: 1 addition & 0 deletions build/ci-cd/config/metaschema
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# path to metaschema source|generate schema format(s)|generate converter target format(s)|generate docs format(s)
src/metaschema/oscal_complete_metaschema.xml|xml,json|xml,json|xml,json
src/metaschema/oscal_catalog_metaschema.xml|xml,json|xml,json|xml,json
src/metaschema/oscal_profile_metaschema.xml|xml,json|xml,json|xml,json
src/metaschema/oscal_component_metaschema.xml|xml,json|xml,json|xml,json
Expand Down
9 changes: 9 additions & 0 deletions build/ci-cd/config/metaschema-docs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# path to metaschema source|archetype|HUGO_MODEL_ID|HUGO_MODEL_NAME|HUGO_SCHEMA_ID
src/metaschema/oscal_complete_metaschema.xml|complete-reference|complete||complete
src/metaschema/oscal_catalog_metaschema.xml|model-reference|catalog|Catalog|catalog
src/metaschema/oscal_profile_metaschema.xml|model-reference|profile|Profile|profile
src/metaschema/oscal_ssp_metaschema.xml|model-reference|system-security-plan|System Security Plan|ssp
src/metaschema/oscal_component_metaschema.xml|model-reference|component-definition|Component Definition|component-definition
src/metaschema/oscal_assessment-plan_metaschema.xml|model-reference|assessment-plan|Assessment Plan|assessment-plan
src/metaschema/oscal_assessment-results_metaschema.xml|model-reference|assessment-results|Assessment Results|assessment-results
src/metaschema/oscal_poam_metaschema.xml|model-reference|plan-of-action-and-milestones|Plan of Action and Milestones|poam
Loading

0 comments on commit 47f736f

Please sign in to comment.