Skip to content

Commit

Permalink
chore(docs): change structure of tutorials
Browse files Browse the repository at this point in the history
Signed-off-by: Chris Butler <chris.butler@redhat.com>
  • Loading branch information
butler54 committed Sep 28, 2024
1 parent 31c09a3 commit ce156aa
Show file tree
Hide file tree
Showing 59 changed files with 150 additions and 36 deletions.
Binary file added docs/assets/favicon.ico
Binary file not shown.
5 changes: 5 additions & 0 deletions docs/cli.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title:
description: BANANAS
---

# trestle CLI Overview and OSCAL Usecases

The trestle CLI has three primary use cases:
Expand Down
10 changes: 10 additions & 0 deletions docs/contributing/.pages
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
nav:
- Overview: index.md
- Code of Conduct: code_of_conduct.md
- OSCAL object model: oscal_object_model.md
- Website development: website.md
- Developing trestle plugins: plugins.md
- Contributors: https://github.com/oscal-compass/compliance-trestle/graphs/contributors
- Maintainers: maintainers.md
- Developer Certificate of Originality: DCO.md
- GitHub actions: github_actions_setup.md
7 changes: 7 additions & 0 deletions docs/contributing/DCO.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Developer Certificate of Originality
description: BANANAS
---

In order to insure proper attribution contributors must use `git --signoff` on commits.

```text
Developer Certificate of Origin
Version 1.1
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Code of Conduct
---
title: Code of conduct
description: BANANAS # potentially replace with a
---

# Code of Conduct

Please refer to our [OSCAL Compass Community Code of Conduct](https://github.com/oscal-compass/community/blob/main/CODE_OF_CONDUCT.md).
5 changes: 5 additions & 0 deletions docs/contributing/github_actions_setup.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Setting up GitHub actions
description: BANANAS
---

# Github actions setup

Github actions contains variables which have opaque values to a user.
Expand Down
6 changes: 6 additions & 0 deletions docs/contributing/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Overview
description: BANANAS
---

{\!CONTRIBUTING.md!}
6 changes: 6 additions & 0 deletions docs/contributing/maintainers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Maintainers
description: BANANAS
---

{\!MAINTAINERS.md!}
1 change: 0 additions & 1 deletion docs/contributing/mkdocs_contributing.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title:
description: BANANAS
---

# Using trestle as an object model for OSCAL

Trestle provides an object model for OSCAL to ease the development and validation of OSCAL objects that reside in the `trestle.oscal` module.
Expand Down
5 changes: 5 additions & 0 deletions docs/contributing/plugins.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Developing trestle plugins
description: BANANAS
---

# Adding plugins to trestle

Trestle provides a mechanism for 3rd party providers to extend its command interface via a plugin architecture. All trestle plugins that conforms to this specification will be automatically discovered by trestle if installed, and their command(s) will be added to trestle sub-commands list. Below we describe this plugin mechanism with the help of an example plugin [`compliance-trestle-fedramp`](https://github.com/oscal-compass/compliance-trestle-fedramp) that we created as a separate python project that can be installed via `pip`.
Expand Down
5 changes: 5 additions & 0 deletions docs/contributing/website.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title:
description: BANANAS
---

# Developing for the trestle documentation website

This page describes the developing for the trestle (website) which is deployed at https://oscal-compass.github.io/compliance-trestle.
Expand Down
5 changes: 5 additions & 0 deletions docs/demonstrations-content.md → docs/demos.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Demos
description: BANANAS
---

# Trestle demonstration projects and content

Trestle has a number of demonstrations setup in the
Expand Down
5 changes: 5 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Overview
description: BANANAS
---

# Compliance-trestle (also known as `trestle`)

![[OS Compatibility](#prerequisites)](https://img.shields.io/badge/platform-osx%20%7C%20linux%20%7C%20windows-orange.svg)
Expand Down
5 changes: 5 additions & 0 deletions docs/python_trestle_setup.md → docs/installation.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Installation
description: BANANAS
---

# Install trestle in a python virtual environment

There are a few things you need to to start using trestle:
Expand Down
5 changes: 5 additions & 0 deletions docs/errors.md → docs/known_limitations.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Known Limitations
description: BANANAS
---

# Known errors and limitations

## utf-8 encoding only
Expand Down
5 changes: 5 additions & 0 deletions docs/license.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: License
description: BANANAS
---

```text
Apache License
Version 2.0, January 2004
Expand Down
1 change: 0 additions & 1 deletion docs/maintainers.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: FedRAMP plugin
description: BANANAS
---

# compliance-trestle-fedramp plugin

This plugin provides functionality for validating an SSP for FedRAMP compliance. It provides both an API interface and a trestle command for performing this validation.
Expand Down
5 changes: 5 additions & 0 deletions docs/reference/third-party-result-schema-SCC.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title:
description: BANANAS
---

# Schema of Assessment Results for Interchange with IBM Cloud Security and Compliance Center, SCC

This document depicts the structure and guidelines for creating an OSCAL result object which would be generated by various transformers for different tools such as Tanium to OSCAL and OSCO to OSCAL. Policy Validation Points (PVPs) such as toolchain that directly generate OSCAL results for sending to SCC Exchange API should follow the structure and guidelines described below.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title:
description: BANANAS
---

# Tutorial: Setup for and use of ComplianceAsCode profile to OSCAL Catalog transformer

Here are step by step instructions for setup and transformation of [ComplianceAsCode](https://github.com/ComplianceAsCode/content) profile data files into [NIST](https://www.nist.gov/) standard [OSCAL](https://pages.nist.gov/OSCAL/) [Catalog](https://pages.nist.gov/OSCAL-Reference/models/latest/catalog/json-outline/) using the [compliance-trestle](../../index.md) tool.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title:
description: BANANAS
---

# Tutorial: Setup for and use of ComplianceAsCode profile to OSCAL Component Definition transformer

Here are step by step instructions for setup and transformation of [ComplianceAsCode](https://github.com/ComplianceAsCode/content) profile data files into [NIST](https://www.nist.gov/) standard [OSCAL](https://pages.nist.gov/OSCAL/) [Component Definition](https://pages.nist.gov/OSCAL-Reference/models/v1.1.2/complete/json-reference/#/component-definition) using the [compliance-trestle](https://oscal-compass.github.io/compliance-trestle/) tool.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title:
description: BANANAS
---

# Tutorial: Setup for and use of Tanium to OSCAL transformer

Here are step by step instructions for setup and transformation of [Tanium](https://www.tanium.com/) compliance data files into [NIST](https://www.nist.gov/) standard [OSCAL](https://pages.nist.gov/OSCAL/) using the [compliance-trestle](https://oscal-compass.github.io/compliance-trestle/) tool.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Converting
description: BANANAS
---

# Tutorial: Setup for and use of standard format csv-file to OSCAL Component Definition json-file transformer

Here are step by step instructions for setup and transformation of [trestle standard format csv-file](ocp4-sample-input.csv) into OSCAL Component Definition [json-file](component-definition.json) using the [compliance-trestle](https://oscal-compass.github.io/compliance-trestle/) tool.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title:
description: BANANAS
---

# Tutorial: How to build an Oscal Assessment Results "lite" with Trestle SDK from your posture result format

The compliance-trestle (trestle) project provides helpful modules to assist your standardization efforts.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Governance of Authored Documents
description: BANANAS
---

# Trestle CLI for Governance of Authored Documents

This document is organized in a multiple collapsable sections for ease of use.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title:
description: BANANAS
---

# Trestle author jinja - output templating support for oscal documents.

Unfortunately OSCAL documents are not yet universally accepted. Therefore to support various OSCAL and non-OSCAL compliance workflows `trestle author jinja` is designed to provide end users with the ability to use jinja to produce customized output. This complements the more structured commands `trestle author catalog-{assemble|generate}`, `trestle author profile-{assemble|generate}` and `trestle author ssp-{assemble|generate}` and allows arbitrary use of jinja.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title:
description: BANANAS
---

# Tutorial: What’s your compliance posture?

#### Introduction
Expand All @@ -17,15 +22,15 @@ Moreover, assuring continuous compliance across multiple cloud vendors can compl

Common sense dictates that standardization would simplify matters. The National Institute of Standards and Technologies (NIST) is developing the Open Security Controls Assessment Language ([OSCAL](https://pages.nist.gov/OSCAL)).

The compliance-[trestle](../../index.md) open source github project is an effort to employ [OSCAL](https://pages.nist.gov/OSCAL) for compliance standardization and automation. Of great utility is the [trestle](../../index.md) oscal module that facilitates transformation of data to/from Python object representations in accordance with the [OSCAL](https://pages.nist.gov/OSCAL) schemas.
The compliance-[trestle](../index.md) open source github project is an effort to employ [OSCAL](https://pages.nist.gov/OSCAL) for compliance standardization and automation. Of great utility is the [trestle](../index.md) oscal module that facilitates transformation of data to/from Python object representations in accordance with the [OSCAL](https://pages.nist.gov/OSCAL) schemas.

#### Simple Continuous Compliance Architecture

![Continuous Compliance Reporting](ContinuousCompliance.jpg)
![Continuous Compliance Reporting](./compliance_posture/ContinuousCompliance.jpg)

Cloud Services can often be configured to monitor (and sometimes enforce) policies. Examples include OpenShift Compliance Operator and Tanium. However, the compliance reporting “raw” data produced is unique to each.

Two steps are needed to ascertain your compliance posture. Step 1 is to transform available compliance “raw” data into standardized form ([OSCAL](https://pages.nist.gov/OSCAL)). Step 2 is to examine the [OSCAL](https://pages.nist.gov/OSCAL) data and assemble a compliance posture for the controls and components of interest. And [trestle](../../index.md) is the go-to solution.
Two steps are needed to ascertain your compliance posture. Step 1 is to transform available compliance “raw” data into standardized form ([OSCAL](https://pages.nist.gov/OSCAL)). Step 2 is to examine the [OSCAL](https://pages.nist.gov/OSCAL) data and assemble a compliance posture for the controls and components of interest. And [trestle](../index.md) is the go-to solution.

#### Step 1 – Transformation

Expand All @@ -35,7 +40,7 @@ However, there is plenty of good news:

- a transformer for your Cloud Service type may already exist, such as: [Tanium to OSCAL](https://github.com/oscal-compass/compliance-trestle/blob/main/trestle/tasks/tanium_result_to_oscal_ar.py), [OpenShift Compliance Operator to OSCAL](https://github.com/oscal-compass/compliance-trestle/blob/main/trestle/tasks/xccdf_result_to_oscal_ar.py)
- once a transformer for a Cloud Service type has been written, it can be open-sourced/re-used
- writing a transformer is fairly easy: just a few lines of Python code using [trestle](../../index.md) as a foundation
- writing a transformer is fairly easy: just a few lines of Python code using [trestle](../index.md) as a foundation

In the case of Tanium, the [OSCAL](https://pages.nist.gov/OSCAL) compliance data document is a *System Assessment Results* fragment with *Findings* and *Observations*, while in the case of OpenShift Compliance Operator there are *Observations* only.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Introduction to trestle workflows
description: BANANAS
---

# Tutorial: Introduction to trestle workflow

Here are step-by-step instructions to manipulate a [NIST](https://www.nist.gov/) standard [OSCAL](https://pages.nist.gov/OSCAL/) catalog using the [compliance-trestle](https://oscal-compass.github.io/compliance-trestle/) (`"trestle"`) tool.
Expand Down
36 changes: 7 additions & 29 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,38 +22,12 @@ markdown_extensions:
- toc:
permalink: ¤
nav:
- Overview: index.md
- Installation: python_trestle_setup.md
- Overview: index.md # OKAY
- Installation: python_trestle_setup.md # OKAy
- Tutorials:
- Intro to trestle workflow: tutorials/trestle_sample_workflow.md
- Compliance posture: tutorials/continuous-compliance/continuous-compliance.md
- Trestle Authoring:
- Governance of Authored Documents: trestle_author.md
- Catalog, Profile, ComponentDefinition, and SSP Authoring: tutorials/ssp_profile_catalog_authoring/ssp_profile_catalog_authoring.md
- Trestle Transformers and Tasks:
- Transformer construction: tutorials/task.transformer-construction/transformer-construction.md
- Task - task.csv-to-oscal-cd: tutorials/task.csv-to-oscal-cd/transformation.md
- Task - ocp4-cis-profile-to-oscal-catalog: tutorials/task.ocp4-cis-profile-to-oscal-catalog/transformation.md
- Task - ocp4-cis-profile-to-oscal-cd: tutorials/task.ocp4-cis-profile-to-oscal-cd/transformation.md
- Task - tanium-result-to-oscal-ar: tutorials/task.tanium-result-to-oscal-ar/transformation.md
- Trestle command-line interface (CLI):
- CLI for OSCAL documents: cli.md
- CLI for Jinja Template processing: trestle_author_jinja.md
- Contributing:
- Code of Conduct: mkdocs_code_of_conduct.md
- Contributing overview: contributing/mkdocs_contributing.md
- Contributors: https://github.com/oscal-compass/compliance-trestle/graphs/contributors
- Maintainers: maintainers.md
- Documentation website: contributing/website.md
- Trestle's object model: contributing/trestle_oscal_object_model.md
- Developer Certificate of Originality: contributing/DCO.md
- Trestle plugin mechanism: contributing/plugins.md
- GitHub actions setup: contributing/github_actions_setup.md
- Known limitations: errors.md
- Demos: demonstrations-content.md
- Plugins:
- FedRAMP validation: plugins/compliance-trestle-fedramp.md
- License: license.md
- Reference:
- Integrating with IBM SCC: reference/third-party-result-schema-SCC.md
- trestle API reference:
Expand Down Expand Up @@ -238,8 +212,12 @@ theme:
name: material
palette:
accent: purple
primary: teal
primary: black
scheme: slate
time_format: "%Y-%m-%d %H:%M:%S" # The format used to display the time
meta_time_format: "%Y-%m-%d %H:%M:%S"
logo: "../images/compliance-trestle-800x800-transparent.png"
favicon: assets/favicon.ico
validation:
omitted_files: warn
absolute_links: warn # Or 'relative_to_docs' - new in MkDocs 1.6
Expand Down

0 comments on commit ce156aa

Please sign in to comment.