Skip to content

Commit 6e33ed2

Browse files
authored
Merge pull request #1787 from oscal-compass/develop
chore: Trestle Release
2 parents 8778033 + b261ead commit 6e33ed2

25 files changed

+1353
-32
lines changed

CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ To contribute code or documentation, please submit a [pull request](https://gith
77

88
A good way to familiarize yourself with the codebase and contribution process is
99
to look for and tackle low-hanging fruit in the [issue tracker](https://github.com/oscal-compass/compliance-trestle/issues).
10-
Before embarking on a more ambitious contribution, please quickly [get in touch](https://oscal-compass.github.io/compliance-trestle/maintainers/) with us.
10+
Before embarking on a more ambitious contribution, please quickly [get in touch](https://oscal-compass.github.io/compliance-trestle/latest/contributing/maintainers/) with us.
1111

1212
**Note: We appreciate your effort, and want to avoid a situation where a contribution
1313
requires extensive rework (by you or by us), sits in backlog for a long time, or
@@ -32,7 +32,7 @@ review to indicate acceptance.
3232

3333
A change requires LGTMs from at least two reviewers. One of the reviewers must be a [`CODEOWNER`](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners).
3434

35-
For a list of the maintainers (also codeowners), see the [maintainers](https://oscal-compass.github.io/compliance-trestle/maintainers/) page.
35+
For a list of the maintainers (also codeowners), see the [maintainers](https://oscal-compass.github.io/compliance-trestle/latest/contributing/maintainers/)
3636

3737
### Trestle updating, testing and release logistics
3838

@@ -88,7 +88,7 @@ The devops process does not _strictly_ enforce typing, however, the expectation
8888
commits with a focus on quality over quantity (e.g. don't add `Any` everywhere just to meet coverage requirements).
8989
Python typing of functions is an active work in progress.
9090

91-
`mkbuild` is used to generate the [trestle documenation site](https://oscal-compass.github.io/compliance-trestle). The `mkbuild`
91+
`mkbuild` is used to generate the [trestle documenation site](https://oscal-compass.github.io/compliance-trestle/latest). The `mkbuild`
9292
website includes an API reference section generated from the code. Docstrings within the code are expected to follow
9393
[google style docstrings](https://www.sphinx-doc.org/en/master/usage/extensions/example_google.html).
9494

@@ -116,7 +116,7 @@ e.g.
116116

117117
We have tried to make it as easy as possible to make contributions. This
118118
applies to how we handle the legal aspects of contribution. We use the
119-
same approach - the [Developer's Certificate of Origin 1.1 (DCO)](https://oscal-compass.github.io/compliance-trestle/contributing/DCO/) - that the Linux® Kernel [community](https://developercertificate.org/)
119+
same approach - the [Developer's Certificate of Origin 1.1 (DCO)](https://oscal-compass.github.io/compliance-trestle/latest/contributing/DCO/) - that the Linux® Kernel [community](https://developercertificate.org/)
120120
uses to manage code contributions.
121121

122122
We simply ask that when submitting a patch for review, the developer

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,11 @@ Users needing to import XML OSCAL artifacts are recommended to look at NIST's XM
6464

6565
Trestle runs on almost all Python platforms (e.g. Linux, Mac, Windows), is available on PyPi and can be easily installed via pip. It is under active development and new releases are made available regularly.\
6666
To install run: `pip install compliance-trestle`\
67-
See [Install trestle in a python virtual environment](https://oscal-compass.github.io/compliance-trestle/python_trestle_setup/) for the full installation guide.
67+
See [Install trestle in a python virtual environment](https://oscal-compass.github.io/compliance-trestle/latest/installation/) for the full installation guide.
6868

6969
## Complete documentation and tutorials
7070

71-
Complete documentation, tutorials, and background on compliance can be found [here](https://oscal-compass.github.io/compliance-trestle).
71+
Complete documentation, tutorials, and background on compliance can be found [here](https://oscal-compass.github.io/compliance-trestle/latest).
7272

7373
## Agile Authoring
7474

@@ -101,7 +101,7 @@ Please refer to the community [README](https://github.com/oscal-compass/communit
101101

102102
## Contributing to Trestle
103103

104-
Our project welcomes external contributions. Please consult [contributing](https://oscal-compass.github.io/compliance-trestle/contributing/mkdocs_contributing/) to get started.
104+
Our project welcomes external contributions. Please consult [contributing](https://oscal-compass.github.io/compliance-trestle/latest/contributing/mkdocs_contributing/) to get started.
105105

106106
## Code of Conduct
107107

docs/index.md

Lines changed: 55 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,61 @@ Trestle provides tooling to help orchestrate the compliance process across a num
3737

3838
## Important Note:
3939

40-
The current version of trestle supports NIST OSCAL 1.0.0-4. There was a breaking change in OSCAL moving from
41-
version 1.0.0 to 1.0.2 mainly due to `prop` becoming `props` in AssessmentResults. As a result, the current development path of trestle requires OSCAL 1.0.4, but for those who require OSCAL 1.0.0 please use trestle version 0.37.x. That version is stable but will not have any features added, and we encourage users to move to OSCAL 1.0.4.
40+
The current version of trestle 3.x supports NIST OSCAL 1.1.2.
41+
Below shows trestle versions correspondence with OSCAL versions:
4242

43-
OSCAL version 1.0.0 files are still handled on import but any AssessmentResults must conform to the OSCAL 1.0.4 schema, with
44-
props instead of prop. And all files created by trestle will be output as OSCAL version 1.0.4.
43+
```
44+
trestle 3.x => OSCAL 1.1.2
45+
trestle 2.x => OSCAL 1.0.4
46+
trestle 1.x => OSCAL 1.0.2
47+
trestle 0.37.x => OSCAL 1.0.0
48+
```
49+
50+
Visit [pypi](https://pypi.org/project/compliance-trestle/#history) for trestle release history and downloads.
51+
52+
## Notes for install of current and older versions of trestle
53+
54+
#### Install of trestle 3.x
55+
56+
Use python 3.11.
57+
58+
```
59+
python3.11 -m venv venv.trestle
60+
source venv.trestle/bin/activate
61+
pip install compliance-trestle==3.6.0
62+
trestle version
63+
Trestle version v3.6.0 based on OSCAL version 1.1.2
64+
```
65+
66+
#### Install of trestle 2.x
67+
68+
Use python 3.9.
69+
70+
```
71+
python3.9 -m venv venv.trestle
72+
source venv.trestle/bin/activate
73+
pip install compliance-trestle==2.6.0
74+
trestle version
75+
Trestle version v2.6.0 based on OSCAL version 1.0.4
76+
```
77+
78+
#### Install of trestle 1.x
79+
80+
Use python 3.9.
81+
82+
Due to dependency updates since the release of trestle 1.2.0, perform the following in your venv:
83+
84+
```
85+
python3.9 -m venv venv.trestle
86+
source venv.trestle/bin/activate
87+
pip install compliance-trestle==1.2.0
88+
pip uninstall pydantic
89+
pip uninstall pydantic_core
90+
pip install pydantic==1.10.2
91+
pip install requests
92+
trestle version
93+
Trestle version v1.2.0 based on OSCAL version 1.0.2
94+
```
4595

4696
## Why Trestle
4797

@@ -79,7 +129,7 @@ Trestle runs on most all python platforms (e.g. Linux, Mac, Windows) and is avai
79129

80130
## Development status
81131

82-
Compliance trestle is currently stable and is based on NIST OSCAL version 1.0.4, with active development continuing.
132+
Compliance trestle is currently stable and is based on NIST OSCAL version 1.1.2, with active development continuing.
83133

84134
## Contributing to Trestle
85135

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
title: trestle.tasks.cis_xlsx_to_oscal_cd
3+
description: Documentation for trestle.tasks.cis_xlsx_to_oscal_cd module
4+
---
5+
6+
::: trestle.tasks.cis_xlsx_to_oscal_cd
7+
handler: python

docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ The second is a one-command transformation from `.profile` to `OSCAL.json`.
1717

1818
## Step 1: Install trestle in a Python virtual environment
1919

20-
Follow the instructions [here](https://oscal-compass.github.io/compliance-trestle/python_trestle_setup/) to install trestle in a virtual environment.
20+
Follow the instructions [here](https://oscal-compass.github.io/compliance-trestle/latest/installation/) to install trestle in a virtual environment.
2121

2222
## Step 2: Transform profile data (CIS benchmarks)
2323

docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ The below table represents the expectations of trestle task `csv-to-oscal-cd` fo
169169

170170
## *Step 1: Install trestle in a Python virtual environment*
171171

172-
Follow the instructions [here](https://oscal-compass.github.io/compliance-trestle/python_trestle_setup/) to install trestle in a virtual environment.
172+
Follow the instructions [here](https://oscal-compass.github.io/compliance-trestle/latest/installation/) to install trestle in a virtual environment.
173173

174174
## *Step 2: Transform profile data (CIS benchmarks)*
175175

docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ Access control policy and procedures address the controls in the AC family that
321321
<!-- "## Part" parts are new subparts added into the existing top-level statement part with that label. -->
322322
<!-- Subparts may be added with nested hash levels of the form ### My Subpart Name -->
323323
<!-- underneath the parent ## Control or ## Part being added -->
324-
<!-- See https://oscal-compass.github.io/compliance-trestle/tutorials/ssp_profile_catalog_authoring/ssp_profile_catalog_authoring for guidance. -->
324+
<!-- See https://oscal-compass.github.io/compliance-trestle/latest/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/ for guidance. -->
325325

326326
## Control Implementation Guidance
327327

docs/tutorials/Trestle_authoring/trestle_author.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,7 @@ CLI evocation:
690690

691691
> trestle author catalog-assemble
692692
693-
The `catalog` author commands allow you to convert a control catalog to markdown and edit its control statement, then assemble markdown back into an OSCAL catalog with the modifications to the statement. Items in the statement may be edited or added. For more details on its usage please see [the catalog authoring tutorial](https://oscal-compass.github.io/compliance-trestle/tutorials/ssp_profile_catalog_authoring/ssp_profile_catalog_authoring).
693+
The `catalog` author commands allow you to convert a control catalog to markdown and edit its control statement, then assemble markdown back into an OSCAL catalog with the modifications to the statement. Items in the statement may be edited or added. For more details on its usage please see [the catalog authoring tutorial](https://oscal-compass.github.io/compliance-trestle/latest/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/).
694694

695695
### Profile authoring
696696

@@ -704,7 +704,7 @@ CLI evocation:
704704

705705
> trestle author profile-assemble
706706
707-
The `profile` author commands allow you to edit additions made by a profile to its imported controls that end up in the final resolved profile catalog. Only the additions may be edited or added to the generated markdown control files - and those additions can then be assembled into a new version of the original profile, with those additions. For more details on its usage please see [the profile authoring tutorial](https://oscal-compass.github.io/compliance-trestle/tutorials/ssp_profile_catalog_authoring/ssp_profile_catalog_authoring).
707+
The `profile` author commands allow you to edit additions made by a profile to its imported controls that end up in the final resolved profile catalog. Only the additions may be edited or added to the generated markdown control files - and those additions can then be assembled into a new version of the original profile, with those additions. For more details on its usage please see [the profile authoring tutorial](https://oscal-compass.github.io/compliance-trestle/latest/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/).
708708

709709
### Profile generation with inheritance
710710

@@ -719,7 +719,7 @@ All components must have exported provided statements, no exported responsibilit
719719

720720
As with the other related author commands, if an existing destination file already exists, it is not updated if no changes would be made.
721721

722-
For more details on its usage please see [the ssp-filter tutorial](https://oscal-compass.github.io/compliance-trestle/tutorials/ssp_profile_catalog_authoring/ssp_profile_catalog_authoring).
722+
For more details on its usage please see [the ssp-filter tutorial](https://oscal-compass.github.io/compliance-trestle/latest/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/).
723723

724724
### SSP authoring
725725

@@ -735,7 +735,7 @@ CLI evocation:
735735
736736
The `ssp-generate` sub-command creates a partial SSP (System Security Plan) from a profile and optional yaml header file. `ssp-assemble` can then assemble the markdown files into a single json SSP file.
737737

738-
For more details on its usage please see [the ssp authoring tutorial](https://oscal-compass.github.io/compliance-trestle/tutorials/ssp_profile_catalog_authoring/ssp_profile_catalog_authoring).
738+
For more details on its usage please see [the ssp authoring tutorial](https://oscal-compass.github.io/compliance-trestle/latest/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/).
739739

740740
### SSP Content Filtering
741741

@@ -757,6 +757,6 @@ You may filter by a combination of a profile, list of component names, implement
757757

758758
As with the other related author commands, if an existing destination file already exists, it is not updated if no changes would be made.
759759

760-
For more details on its usage please see [the ssp-filter tutorial](https://oscal-compass.github.io/compliance-trestle/tutorials/ssp_profile_catalog_authoring/ssp_profile_catalog_authoring).
760+
For more details on its usage please see [the ssp-filter tutorial](https://oscal-compass.github.io/compliance-trestle/latest/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/).
761761

762762
</details>

docs/tutorials/cli.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ This command will return the current version of Trestle and OSCAL it is using.
148148

149149
Running `trestle version` will return:
150150

151-
> Trestle version v2.0.0 based on OSCAL version 1.0.4
151+
> Trestle version v3.x.x based on OSCAL version 1.1.2
152152
153153
It can also be used to retrieve the metadata version of the OSCAL object:
154154

@@ -165,7 +165,7 @@ It can also be used to retrieve the metadata version of the OSCAL object:
165165

166166
"version": "0.1.10", <<< this version here
167167

168-
"oscal-version": "1.0.4"
168+
"oscal-version": "1.1.2"
169169

170170
},
171171
...
@@ -176,7 +176,7 @@ It can also be used to retrieve the metadata version of the OSCAL object:
176176

177177
Running `trestle version -n nist -t catalog` will return:
178178

179-
> Version of OSCAL object of nist catalog is: 1.0.0
179+
> Version of OSCAL object of nist catalog is: 1.1.2
180180

181181
## `trestle init`
182182

mkdocs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
edit_uri: ''
22
extra:
3+
version:
4+
provider: mike
35
analytics:
46
property: G-XT3KGMHSY8
57
provider: google

0 commit comments

Comments
 (0)