From 17e9ae3c572622e10bd5f82ecbeecc77cd4ce2df Mon Sep 17 00:00:00 2001 From: Chris Butler Date: Thu, 31 Oct 2024 13:54:37 +1100 Subject: [PATCH 01/16] chore(docs): restructuring of API documentation (#1711) Back end update to clean up documentation website Signed-off-by: Chris Butler --- .github/workflows/python-push.yml | 7 + .github/workflows/python-test.yml | 3 + .gitignore | 2 + .pre-commit-config.yaml | 2 +- CONTRIBUTING.md | 2 +- Makefile | 8 +- docs/api_reference/trestle.cli.md | 2 - .../trestle.common.common_types.md | 2 - docs/api_reference/trestle.common.const.md | 2 - docs/api_reference/trestle.common.err.md | 2 - .../trestle.common.file_utils.md | 2 - .../trestle.common.list_utils.md | 2 - .../trestle.common.load_validate.md | 2 - docs/api_reference/trestle.common.log.md | 2 - .../trestle.common.model_utils.md | 2 - .../api_reference/trestle.common.str_utils.md | 2 - docs/api_reference/trestle.common.trash.md | 2 - .../trestle.common.type_utils.md | 2 - .../trestle.core.all_validator.md | 2 - docs/api_reference/trestle.core.base_model.md | 2 - .../trestle.core.catalog.catalog_api.md | 2 - .../trestle.core.catalog.catalog_interface.md | 2 - .../trestle.core.catalog.catalog_merger.md | 2 - .../trestle.core.catalog.catalog_reader.md | 2 - .../trestle.core.catalog.catalog_writer.md | 2 - .../trestle.core.catalog_validator.md | 2 - .../trestle.core.commands.add.md | 2 - .../trestle.core.commands.assemble.md | 2 - .../trestle.core.commands.author.catalog.md | 2 - .../trestle.core.commands.author.command.md | 2 - .../trestle.core.commands.author.common.md | 2 - .../trestle.core.commands.author.component.md | 2 - .../trestle.core.commands.author.consts.md | 2 - .../trestle.core.commands.author.docs.md | 2 - .../trestle.core.commands.author.folders.md | 2 - .../trestle.core.commands.author.headers.md | 2 - .../trestle.core.commands.author.jinja.md | 2 - .../trestle.core.commands.author.prof.md | 2 - .../trestle.core.commands.author.ssp.md | 2 - ...s.author.versioning.template_versioning.md | 2 - .../trestle.core.commands.command_docs.md | 2 - .../trestle.core.commands.common.cmd_utils.md | 2 - ...estle.core.commands.common.return_codes.md | 2 - .../trestle.core.commands.create.md | 2 - .../trestle.core.commands.describe.md | 2 - .../trestle.core.commands.href.md | 2 - .../trestle.core.commands.import_.md | 2 - .../trestle.core.commands.init.md | 2 - .../trestle.core.commands.merge.md | 2 - ...e.core.commands.partial_object_validate.md | 2 - .../trestle.core.commands.remove.md | 2 - .../trestle.core.commands.replicate.md | 2 - .../trestle.core.commands.split.md | 2 - .../trestle.core.commands.task.md | 2 - .../trestle.core.commands.validate.md | 2 - .../trestle.core.commands.version.md | 2 - .../trestle.core.control_context.md | 2 - .../trestle.core.control_interface.md | 2 - .../trestle.core.control_reader.md | 2 - .../trestle.core.control_writer.md | 2 - .../trestle.core.crm.bycomp_interface.md | 2 - .../trestle.core.crm.export_reader.md | 2 - .../trestle.core.crm.export_writer.md | 2 - .../trestle.core.crm.leveraged_statements.md | 2 - .../trestle.core.crm.ssp_inheritance_api.md | 2 - .../trestle.core.docs_control_writer.md | 2 - docs/api_reference/trestle.core.draw_io.md | 2 - .../trestle.core.duplicates_validator.md | 2 - docs/api_reference/trestle.core.generators.md | 2 - .../trestle.core.generic_oscal.md | 2 - docs/api_reference/trestle.core.jinja.base.md | 2 - docs/api_reference/trestle.core.jinja.ext.md | 2 - .../trestle.core.jinja.filters.md | 2 - docs/api_reference/trestle.core.jinja.tags.md | 2 - .../trestle.core.links_validator.md | 2 - ...restle.core.markdown.base_markdown_node.md | 2 - ...tle.core.markdown.control_markdown_node.md | 2 - ...restle.core.markdown.docs_markdown_node.md | 2 - .../trestle.core.markdown.markdown_api.md | 2 - .../trestle.core.markdown.markdown_const.md | 2 - ...restle.core.markdown.markdown_processor.md | 2 - ...restle.core.markdown.markdown_validator.md | 2 - .../trestle.core.markdown.md_writer.md | 2 - .../trestle.core.models.actions.md | 2 - .../trestle.core.models.elements.md | 2 - .../trestle.core.models.file_content_type.md | 2 - .../trestle.core.models.interfaces.md | 2 - .../trestle.core.models.plans.md | 2 - .../trestle.core.object_factory.md | 2 - docs/api_reference/trestle.core.parser.md | 2 - docs/api_reference/trestle.core.pipeline.md | 2 - docs/api_reference/trestle.core.plugins.md | 2 - .../trestle.core.profile_resolver.md | 2 - .../trestle.core.refs_validator.md | 2 - .../trestle.core.remote.cache.md | 2 - docs/api_reference/trestle.core.repository.md | 2 - .../trestle.core.resolver.merge.md | 2 - .../trestle.core.resolver.modify.md | 2 - .../trestle.core.resolver.prune.md | 2 - .../trestle.core.rule_parameters_validator.md | 2 - docs/api_reference/trestle.core.ssp_io.md | 2 - .../trestle.core.trestle_base_model.md | 2 - docs/api_reference/trestle.core.validator.md | 2 - .../trestle.core.validator_factory.md | 2 - .../trestle.oscal.assessment_plan.md | 2 - .../trestle.oscal.assessment_results.md | 2 - docs/api_reference/trestle.oscal.catalog.md | 2 - docs/api_reference/trestle.oscal.common.md | 2 - docs/api_reference/trestle.oscal.component.md | 2 - docs/api_reference/trestle.oscal.poam.md | 2 - docs/api_reference/trestle.oscal.profile.md | 2 - docs/api_reference/trestle.oscal.ssp.md | 2 - docs/api_reference/trestle.tasks.base_task.md | 2 - ...trestle.tasks.cis_xlsx_to_oscal_catalog.md | 2 - .../trestle.tasks.csv_to_oscal_cd.md | 2 - ...tasks.ocp4_cis_profile_to_oscal_catalog.md | 2 - ...stle.tasks.ocp4_cis_profile_to_oscal_cd.md | 2 - .../trestle.tasks.oscal_catalog_to_csv.md | 2 - ...tle.tasks.oscal_profile_to_osco_profile.md | 2 - .../trestle.tasks.osco_result_to_oscal_ar.md | 2 - ...trestle.tasks.tanium_result_to_oscal_ar.md | 2 - docs/api_reference/trestle.tasks.transform.md | 2 - .../trestle.tasks.xccdf_result_to_oscal_ar.md | 2 - .../trestle.tasks.xlsx_helper.md | 2 - .../trestle.tasks.xlsx_to_oscal_cd.md | 2 - .../trestle.tasks.xlsx_to_oscal_profile.md | 2 - ...trestle.transforms.implementations.osco.md | 2 - ...estle.transforms.implementations.tanium.md | 2 - ...restle.transforms.implementations.xccdf.md | 2 - .../trestle.transforms.results.md | 2 - .../trestle.transforms.transformer_factory.md | 2 - .../trestle.transforms.transformer_helper.md | 2 - ...restle.transforms.transformer_singleton.md | 2 - docs/assets/favicon.ico | Bin 0 -> 12014 bytes docs/contributing/.pages | 10 + .../code_of_conduct.md} | 6 +- docs/contributing/github_actions_setup.md | 14 +- docs/contributing/index.md | 6 + docs/contributing/maintainers.md | 6 + docs/contributing/mkdocs_contributing.md | 1 - ..._object_model.md => oscal_object_model.md} | 5 + docs/contributing/plugins.md | 5 + docs/contributing/website.md | 6 +- docs/{demonstrations-content.md => demos.md} | 5 + docs/index.md | 9 +- ...ython_trestle_setup.md => installation.md} | 5 + docs/{errors.md => known_limitations.md} | 9 + docs/maintainers.md | 1 - ...mpliance-trestle-fedramp.md => fedramp.md} | 5 + docs/reference/API/trestle/cli.md | 7 + .../API/trestle/common/common_types.md | 7 + docs/reference/API/trestle/common/const.md | 7 + docs/reference/API/trestle/common/err.md | 7 + .../API/trestle/common/file_utils.md | 7 + .../API/trestle/common/list_utils.md | 7 + .../API/trestle/common/load_validate.md | 7 + docs/reference/API/trestle/common/log.md | 7 + .../API/trestle/common/model_utils.md | 7 + .../reference/API/trestle/common/str_utils.md | 7 + docs/reference/API/trestle/common/trash.md | 7 + .../API/trestle/common/type_utils.md | 7 + .../API/trestle/core/all_validator.md | 7 + docs/reference/API/trestle/core/base_model.md | 7 + .../API/trestle/core/catalog/catalog_api.md | 7 + .../trestle/core/catalog/catalog_interface.md | 7 + .../trestle/core/catalog/catalog_merger.md | 7 + .../trestle/core/catalog/catalog_reader.md | 7 + .../trestle/core/catalog/catalog_writer.md | 7 + .../API/trestle/core/catalog_validator.md | 7 + .../API/trestle/core/commands/add.md | 7 + .../API/trestle/core/commands/assemble.md | 7 + .../trestle/core/commands/author/catalog.md | 7 + .../trestle/core/commands/author/command.md | 7 + .../trestle/core/commands/author/common.md | 7 + .../trestle/core/commands/author/component.md | 7 + .../trestle/core/commands/author/consts.md | 7 + .../API/trestle/core/commands/author/docs.md | 7 + .../trestle/core/commands/author/folders.md | 7 + .../trestle/core/commands/author/headers.md | 7 + .../API/trestle/core/commands/author/jinja.md | 7 + .../API/trestle/core/commands/author/prof.md | 7 + .../API/trestle/core/commands/author/ssp.md | 7 + .../author/versioning/template_versioning.md | 7 + .../API/trestle/core/commands/command_docs.md | 7 + .../trestle/core/commands/common/cmd_utils.md | 7 + .../core/commands/common/return_codes.md | 7 + .../API/trestle/core/commands/create.md | 7 + .../API/trestle/core/commands/describe.md | 7 + .../API/trestle/core/commands/href.md | 7 + .../API/trestle/core/commands/import_.md | 7 + .../API/trestle/core/commands/init.md | 7 + .../API/trestle/core/commands/merge.md | 7 + .../core/commands/partial_object_validate.md | 7 + .../API/trestle/core/commands/remove.md | 7 + .../API/trestle/core/commands/replicate.md | 7 + .../API/trestle/core/commands/split.md | 7 + .../API/trestle/core/commands/task.md | 7 + .../API/trestle/core/commands/validate.md | 7 + .../API/trestle/core/commands/version.md | 7 + .../API/trestle/core/control_context.md | 7 + .../API/trestle/core/control_interface.md | 7 + .../API/trestle/core/control_reader.md | 7 + .../API/trestle/core/control_writer.md | 7 + .../API/trestle/core/crm/bycomp_interface.md | 7 + .../API/trestle/core/crm/export_reader.md | 7 + .../API/trestle/core/crm/export_writer.md | 7 + .../trestle/core/crm/leveraged_statements.md | 7 + .../trestle/core/crm/ssp_inheritance_api.md | 7 + .../API/trestle/core/docs_control_writer.md | 7 + docs/reference/API/trestle/core/draw_io.md | 7 + .../API/trestle/core/duplicates_validator.md | 7 + docs/reference/API/trestle/core/generators.md | 7 + .../API/trestle/core/generic_oscal.md | 7 + docs/reference/API/trestle/core/jinja/base.md | 7 + docs/reference/API/trestle/core/jinja/ext.md | 7 + .../API/trestle/core/jinja/filters.md | 7 + docs/reference/API/trestle/core/jinja/tags.md | 7 + .../API/trestle/core/links_validator.md | 7 + .../core/markdown/base_markdown_node.md | 7 + .../core/markdown/control_markdown_node.md | 7 + .../core/markdown/docs_markdown_node.md | 7 + .../API/trestle/core/markdown/markdown_api.md | 7 + .../trestle/core/markdown/markdown_const.md | 7 + .../core/markdown/markdown_processor.md | 7 + .../core/markdown/markdown_validator.md | 7 + .../API/trestle/core/markdown/md_writer.md | 7 + .../API/trestle/core/models/actions.md | 7 + .../API/trestle/core/models/elements.md | 7 + .../trestle/core/models/file_content_type.md | 7 + .../API/trestle/core/models/interfaces.md | 7 + .../API/trestle/core/models/plans.md | 7 + .../API/trestle/core/object_factory.md | 7 + docs/reference/API/trestle/core/parser.md | 7 + docs/reference/API/trestle/core/pipeline.md | 7 + docs/reference/API/trestle/core/plugins.md | 7 + .../API/trestle/core/profile_resolver.md | 7 + .../API/trestle/core/refs_validator.md | 7 + .../API/trestle/core/remote/cache.md | 7 + docs/reference/API/trestle/core/repository.md | 7 + .../API/trestle/core/resolver/merge.md | 7 + .../API/trestle/core/resolver/modify.md | 7 + .../API/trestle/core/resolver/prune.md | 7 + .../trestle/core/rule_parameters_validator.md | 7 + docs/reference/API/trestle/core/ssp_io.md | 7 + .../API/trestle/core/trestle_base_model.md | 7 + docs/reference/API/trestle/core/validator.md | 7 + .../API/trestle/core/validator_factory.md | 7 + .../API/trestle/oscal/assessment_plan.md | 7 + .../API/trestle/oscal/assessment_results.md | 7 + docs/reference/API/trestle/oscal/catalog.md | 7 + docs/reference/API/trestle/oscal/common.md | 7 + docs/reference/API/trestle/oscal/component.md | 7 + docs/reference/API/trestle/oscal/poam.md | 7 + docs/reference/API/trestle/oscal/profile.md | 7 + docs/reference/API/trestle/oscal/ssp.md | 7 + docs/reference/API/trestle/tasks/base_task.md | 7 + .../tasks/cis_xlsx_to_oscal_catalog.md | 7 + .../API/trestle/tasks/csv_to_oscal_cd.md | 7 + .../ocp4_cis_profile_to_oscal_catalog.md | 7 + .../tasks/ocp4_cis_profile_to_oscal_cd.md | 7 + .../API/trestle/tasks/oscal_catalog_to_csv.md | 7 + .../tasks/oscal_profile_to_osco_profile.md | 7 + .../trestle/tasks/osco_result_to_oscal_ar.md | 7 + .../tasks/tanium_result_to_oscal_ar.md | 7 + docs/reference/API/trestle/tasks/transform.md | 7 + .../trestle/tasks/xccdf_result_to_oscal_ar.md | 7 + .../API/trestle/tasks/xlsx_helper.md | 7 + .../API/trestle/tasks/xlsx_to_oscal_cd.md | 7 + .../trestle/tasks/xlsx_to_oscal_profile.md | 7 + .../transforms/implementations/osco.md | 7 + .../transforms/implementations/tanium.md | 7 + .../transforms/implementations/xccdf.md | 7 + .../API/trestle/transforms/results.md | 7 + .../trestle/transforms/transformer_factory.md | 7 + .../trestle/transforms/transformer_helper.md | 7 + .../transforms/transformer_singleton.md | 7 + ...d => third-party-result-schema-IBM-SCC.md} | 5 + .../OCP4_CIS_profile_to_oscal_catalog.md} | 13 +- ...o-ocp4-cis-profile-to-oscal-catalog.config | 0 .../OCP4_CIS_profile_to_oscal_cd.md} | 11 +- .../demo-ocp4-cis-profile-to-oscal-cd.config | 0 .../enabled_rules.json | 0 .../selected_rules.json | 0 .../Tanium_result_to_oscal_ar.md} | 15 +- ...scarsdale_nimons_bridge.copyright-info.txt | 0 ...00px-Australia_scarsdale_nimons_bridge.jpg | Bin .../csv_to_oscal_cd.md} | 11 +- .../component-definition.json | 0 .../demo-csv-to-oscal-cd.config | 0 .../csv_to_oscal_cd}/ocp4-sample-input.csv | 0 .../transformer_construction.md} | 19 +- .../assessment-results-nist.png | Bin .../assessment-results.drawio | 0 .../assessment-results.jpg | Bin .../transformer-construction.drawio | 0 .../transformer-construction.jpg | Bin .../ssp_profile_catalog_authoring.md | 10 +- .../complex_resolved_profile_catalog.drawio | 0 .../complex_resolved_profile_catalog.png | Bin .../profile_does.drawio | 0 .../profile_does.png | Bin .../resolved_profile_catalog.drawio | 0 .../resolved_profile_catalog.png | Bin .../resolved_profile_diagram.drawio | 0 .../resolved_profile_diagram.png | Bin .../simple_catalog.drawio | 0 .../simple_catalog.png | Bin .../ssp_profile_options.docx | Bin .../trestle_ssp_author_options.png | Bin .../Trestle_authoring}/trestle_author.md | 11 +- .../trestle_author}/drawio_data_menu.png | Bin .../trestle_author}/drawio_editing_data.png | Bin .../trestle_author}/sample_ssp.md.jinja | 0 .../trestle_author}/template_versioning.png | Bin .../trestle_author_jinja.md | 11 +- docs/{ => tutorials}/cli.md | 7 +- ...us-compliance.md => compliance_posture.md} | 17 +- .../ContinuousCompliance.drawio | 0 .../ContinuousCompliance.jpg | Bin ...workflow.md => introduction_to_trestle.md} | 7 +- mkdocs.yml | 196 +----------------- scripts/website_automation.py | 36 +--- setup.cfg | 4 + 323 files changed, 1111 insertions(+), 522 deletions(-) delete mode 100644 docs/api_reference/trestle.cli.md delete mode 100644 docs/api_reference/trestle.common.common_types.md delete mode 100644 docs/api_reference/trestle.common.const.md delete mode 100644 docs/api_reference/trestle.common.err.md delete mode 100644 docs/api_reference/trestle.common.file_utils.md delete mode 100644 docs/api_reference/trestle.common.list_utils.md delete mode 100644 docs/api_reference/trestle.common.load_validate.md delete mode 100644 docs/api_reference/trestle.common.log.md delete mode 100644 docs/api_reference/trestle.common.model_utils.md delete mode 100644 docs/api_reference/trestle.common.str_utils.md delete mode 100644 docs/api_reference/trestle.common.trash.md delete mode 100644 docs/api_reference/trestle.common.type_utils.md delete mode 100644 docs/api_reference/trestle.core.all_validator.md delete mode 100644 docs/api_reference/trestle.core.base_model.md delete mode 100644 docs/api_reference/trestle.core.catalog.catalog_api.md delete mode 100644 docs/api_reference/trestle.core.catalog.catalog_interface.md delete mode 100644 docs/api_reference/trestle.core.catalog.catalog_merger.md delete mode 100644 docs/api_reference/trestle.core.catalog.catalog_reader.md delete mode 100644 docs/api_reference/trestle.core.catalog.catalog_writer.md delete mode 100644 docs/api_reference/trestle.core.catalog_validator.md delete mode 100644 docs/api_reference/trestle.core.commands.add.md delete mode 100644 docs/api_reference/trestle.core.commands.assemble.md delete mode 100644 docs/api_reference/trestle.core.commands.author.catalog.md delete mode 100644 docs/api_reference/trestle.core.commands.author.command.md delete mode 100644 docs/api_reference/trestle.core.commands.author.common.md delete mode 100644 docs/api_reference/trestle.core.commands.author.component.md delete mode 100644 docs/api_reference/trestle.core.commands.author.consts.md delete mode 100644 docs/api_reference/trestle.core.commands.author.docs.md delete mode 100644 docs/api_reference/trestle.core.commands.author.folders.md delete mode 100644 docs/api_reference/trestle.core.commands.author.headers.md delete mode 100644 docs/api_reference/trestle.core.commands.author.jinja.md delete mode 100644 docs/api_reference/trestle.core.commands.author.prof.md delete mode 100644 docs/api_reference/trestle.core.commands.author.ssp.md delete mode 100644 docs/api_reference/trestle.core.commands.author.versioning.template_versioning.md delete mode 100644 docs/api_reference/trestle.core.commands.command_docs.md delete mode 100644 docs/api_reference/trestle.core.commands.common.cmd_utils.md delete mode 100644 docs/api_reference/trestle.core.commands.common.return_codes.md delete mode 100644 docs/api_reference/trestle.core.commands.create.md delete mode 100644 docs/api_reference/trestle.core.commands.describe.md delete mode 100644 docs/api_reference/trestle.core.commands.href.md delete mode 100644 docs/api_reference/trestle.core.commands.import_.md delete mode 100644 docs/api_reference/trestle.core.commands.init.md delete mode 100644 docs/api_reference/trestle.core.commands.merge.md delete mode 100644 docs/api_reference/trestle.core.commands.partial_object_validate.md delete mode 100644 docs/api_reference/trestle.core.commands.remove.md delete mode 100644 docs/api_reference/trestle.core.commands.replicate.md delete mode 100644 docs/api_reference/trestle.core.commands.split.md delete mode 100644 docs/api_reference/trestle.core.commands.task.md delete mode 100644 docs/api_reference/trestle.core.commands.validate.md delete mode 100644 docs/api_reference/trestle.core.commands.version.md delete mode 100644 docs/api_reference/trestle.core.control_context.md delete mode 100644 docs/api_reference/trestle.core.control_interface.md delete mode 100644 docs/api_reference/trestle.core.control_reader.md delete mode 100644 docs/api_reference/trestle.core.control_writer.md delete mode 100644 docs/api_reference/trestle.core.crm.bycomp_interface.md delete mode 100644 docs/api_reference/trestle.core.crm.export_reader.md delete mode 100644 docs/api_reference/trestle.core.crm.export_writer.md delete mode 100644 docs/api_reference/trestle.core.crm.leveraged_statements.md delete mode 100644 docs/api_reference/trestle.core.crm.ssp_inheritance_api.md delete mode 100644 docs/api_reference/trestle.core.docs_control_writer.md delete mode 100644 docs/api_reference/trestle.core.draw_io.md delete mode 100644 docs/api_reference/trestle.core.duplicates_validator.md delete mode 100644 docs/api_reference/trestle.core.generators.md delete mode 100644 docs/api_reference/trestle.core.generic_oscal.md delete mode 100644 docs/api_reference/trestle.core.jinja.base.md delete mode 100644 docs/api_reference/trestle.core.jinja.ext.md delete mode 100644 docs/api_reference/trestle.core.jinja.filters.md delete mode 100644 docs/api_reference/trestle.core.jinja.tags.md delete mode 100644 docs/api_reference/trestle.core.links_validator.md delete mode 100644 docs/api_reference/trestle.core.markdown.base_markdown_node.md delete mode 100644 docs/api_reference/trestle.core.markdown.control_markdown_node.md delete mode 100644 docs/api_reference/trestle.core.markdown.docs_markdown_node.md delete mode 100644 docs/api_reference/trestle.core.markdown.markdown_api.md delete mode 100644 docs/api_reference/trestle.core.markdown.markdown_const.md delete mode 100644 docs/api_reference/trestle.core.markdown.markdown_processor.md delete mode 100644 docs/api_reference/trestle.core.markdown.markdown_validator.md delete mode 100644 docs/api_reference/trestle.core.markdown.md_writer.md delete mode 100644 docs/api_reference/trestle.core.models.actions.md delete mode 100644 docs/api_reference/trestle.core.models.elements.md delete mode 100644 docs/api_reference/trestle.core.models.file_content_type.md delete mode 100644 docs/api_reference/trestle.core.models.interfaces.md delete mode 100644 docs/api_reference/trestle.core.models.plans.md delete mode 100644 docs/api_reference/trestle.core.object_factory.md delete mode 100644 docs/api_reference/trestle.core.parser.md delete mode 100644 docs/api_reference/trestle.core.pipeline.md delete mode 100644 docs/api_reference/trestle.core.plugins.md delete mode 100644 docs/api_reference/trestle.core.profile_resolver.md delete mode 100644 docs/api_reference/trestle.core.refs_validator.md delete mode 100644 docs/api_reference/trestle.core.remote.cache.md delete mode 100644 docs/api_reference/trestle.core.repository.md delete mode 100644 docs/api_reference/trestle.core.resolver.merge.md delete mode 100644 docs/api_reference/trestle.core.resolver.modify.md delete mode 100644 docs/api_reference/trestle.core.resolver.prune.md delete mode 100644 docs/api_reference/trestle.core.rule_parameters_validator.md delete mode 100644 docs/api_reference/trestle.core.ssp_io.md delete mode 100644 docs/api_reference/trestle.core.trestle_base_model.md delete mode 100644 docs/api_reference/trestle.core.validator.md delete mode 100644 docs/api_reference/trestle.core.validator_factory.md delete mode 100644 docs/api_reference/trestle.oscal.assessment_plan.md delete mode 100644 docs/api_reference/trestle.oscal.assessment_results.md delete mode 100644 docs/api_reference/trestle.oscal.catalog.md delete mode 100644 docs/api_reference/trestle.oscal.common.md delete mode 100644 docs/api_reference/trestle.oscal.component.md delete mode 100644 docs/api_reference/trestle.oscal.poam.md delete mode 100644 docs/api_reference/trestle.oscal.profile.md delete mode 100644 docs/api_reference/trestle.oscal.ssp.md delete mode 100644 docs/api_reference/trestle.tasks.base_task.md delete mode 100644 docs/api_reference/trestle.tasks.cis_xlsx_to_oscal_catalog.md delete mode 100644 docs/api_reference/trestle.tasks.csv_to_oscal_cd.md delete mode 100644 docs/api_reference/trestle.tasks.ocp4_cis_profile_to_oscal_catalog.md delete mode 100644 docs/api_reference/trestle.tasks.ocp4_cis_profile_to_oscal_cd.md delete mode 100644 docs/api_reference/trestle.tasks.oscal_catalog_to_csv.md delete mode 100644 docs/api_reference/trestle.tasks.oscal_profile_to_osco_profile.md delete mode 100644 docs/api_reference/trestle.tasks.osco_result_to_oscal_ar.md delete mode 100644 docs/api_reference/trestle.tasks.tanium_result_to_oscal_ar.md delete mode 100644 docs/api_reference/trestle.tasks.transform.md delete mode 100644 docs/api_reference/trestle.tasks.xccdf_result_to_oscal_ar.md delete mode 100644 docs/api_reference/trestle.tasks.xlsx_helper.md delete mode 100644 docs/api_reference/trestle.tasks.xlsx_to_oscal_cd.md delete mode 100644 docs/api_reference/trestle.tasks.xlsx_to_oscal_profile.md delete mode 100644 docs/api_reference/trestle.transforms.implementations.osco.md delete mode 100644 docs/api_reference/trestle.transforms.implementations.tanium.md delete mode 100644 docs/api_reference/trestle.transforms.implementations.xccdf.md delete mode 100644 docs/api_reference/trestle.transforms.results.md delete mode 100644 docs/api_reference/trestle.transforms.transformer_factory.md delete mode 100644 docs/api_reference/trestle.transforms.transformer_helper.md delete mode 100644 docs/api_reference/trestle.transforms.transformer_singleton.md create mode 100644 docs/assets/favicon.ico create mode 100644 docs/contributing/.pages rename docs/{mkdocs_code_of_conduct.md => contributing/code_of_conduct.md} (51%) create mode 100644 docs/contributing/index.md create mode 100644 docs/contributing/maintainers.md delete mode 100644 docs/contributing/mkdocs_contributing.md rename docs/contributing/{trestle_oscal_object_model.md => oscal_object_model.md} (97%) rename docs/{demonstrations-content.md => demos.md} (97%) rename docs/{python_trestle_setup.md => installation.md} (97%) rename docs/{errors.md => known_limitations.md} (70%) delete mode 100644 docs/maintainers.md rename docs/plugins/{compliance-trestle-fedramp.md => fedramp.md} (93%) create mode 100644 docs/reference/API/trestle/cli.md create mode 100644 docs/reference/API/trestle/common/common_types.md create mode 100644 docs/reference/API/trestle/common/const.md create mode 100644 docs/reference/API/trestle/common/err.md create mode 100644 docs/reference/API/trestle/common/file_utils.md create mode 100644 docs/reference/API/trestle/common/list_utils.md create mode 100644 docs/reference/API/trestle/common/load_validate.md create mode 100644 docs/reference/API/trestle/common/log.md create mode 100644 docs/reference/API/trestle/common/model_utils.md create mode 100644 docs/reference/API/trestle/common/str_utils.md create mode 100644 docs/reference/API/trestle/common/trash.md create mode 100644 docs/reference/API/trestle/common/type_utils.md create mode 100644 docs/reference/API/trestle/core/all_validator.md create mode 100644 docs/reference/API/trestle/core/base_model.md create mode 100644 docs/reference/API/trestle/core/catalog/catalog_api.md create mode 100644 docs/reference/API/trestle/core/catalog/catalog_interface.md create mode 100644 docs/reference/API/trestle/core/catalog/catalog_merger.md create mode 100644 docs/reference/API/trestle/core/catalog/catalog_reader.md create mode 100644 docs/reference/API/trestle/core/catalog/catalog_writer.md create mode 100644 docs/reference/API/trestle/core/catalog_validator.md create mode 100644 docs/reference/API/trestle/core/commands/add.md create mode 100644 docs/reference/API/trestle/core/commands/assemble.md create mode 100644 docs/reference/API/trestle/core/commands/author/catalog.md create mode 100644 docs/reference/API/trestle/core/commands/author/command.md create mode 100644 docs/reference/API/trestle/core/commands/author/common.md create mode 100644 docs/reference/API/trestle/core/commands/author/component.md create mode 100644 docs/reference/API/trestle/core/commands/author/consts.md create mode 100644 docs/reference/API/trestle/core/commands/author/docs.md create mode 100644 docs/reference/API/trestle/core/commands/author/folders.md create mode 100644 docs/reference/API/trestle/core/commands/author/headers.md create mode 100644 docs/reference/API/trestle/core/commands/author/jinja.md create mode 100644 docs/reference/API/trestle/core/commands/author/prof.md create mode 100644 docs/reference/API/trestle/core/commands/author/ssp.md create mode 100644 docs/reference/API/trestle/core/commands/author/versioning/template_versioning.md create mode 100644 docs/reference/API/trestle/core/commands/command_docs.md create mode 100644 docs/reference/API/trestle/core/commands/common/cmd_utils.md create mode 100644 docs/reference/API/trestle/core/commands/common/return_codes.md create mode 100644 docs/reference/API/trestle/core/commands/create.md create mode 100644 docs/reference/API/trestle/core/commands/describe.md create mode 100644 docs/reference/API/trestle/core/commands/href.md create mode 100644 docs/reference/API/trestle/core/commands/import_.md create mode 100644 docs/reference/API/trestle/core/commands/init.md create mode 100644 docs/reference/API/trestle/core/commands/merge.md create mode 100644 docs/reference/API/trestle/core/commands/partial_object_validate.md create mode 100644 docs/reference/API/trestle/core/commands/remove.md create mode 100644 docs/reference/API/trestle/core/commands/replicate.md create mode 100644 docs/reference/API/trestle/core/commands/split.md create mode 100644 docs/reference/API/trestle/core/commands/task.md create mode 100644 docs/reference/API/trestle/core/commands/validate.md create mode 100644 docs/reference/API/trestle/core/commands/version.md create mode 100644 docs/reference/API/trestle/core/control_context.md create mode 100644 docs/reference/API/trestle/core/control_interface.md create mode 100644 docs/reference/API/trestle/core/control_reader.md create mode 100644 docs/reference/API/trestle/core/control_writer.md create mode 100644 docs/reference/API/trestle/core/crm/bycomp_interface.md create mode 100644 docs/reference/API/trestle/core/crm/export_reader.md create mode 100644 docs/reference/API/trestle/core/crm/export_writer.md create mode 100644 docs/reference/API/trestle/core/crm/leveraged_statements.md create mode 100644 docs/reference/API/trestle/core/crm/ssp_inheritance_api.md create mode 100644 docs/reference/API/trestle/core/docs_control_writer.md create mode 100644 docs/reference/API/trestle/core/draw_io.md create mode 100644 docs/reference/API/trestle/core/duplicates_validator.md create mode 100644 docs/reference/API/trestle/core/generators.md create mode 100644 docs/reference/API/trestle/core/generic_oscal.md create mode 100644 docs/reference/API/trestle/core/jinja/base.md create mode 100644 docs/reference/API/trestle/core/jinja/ext.md create mode 100644 docs/reference/API/trestle/core/jinja/filters.md create mode 100644 docs/reference/API/trestle/core/jinja/tags.md create mode 100644 docs/reference/API/trestle/core/links_validator.md create mode 100644 docs/reference/API/trestle/core/markdown/base_markdown_node.md create mode 100644 docs/reference/API/trestle/core/markdown/control_markdown_node.md create mode 100644 docs/reference/API/trestle/core/markdown/docs_markdown_node.md create mode 100644 docs/reference/API/trestle/core/markdown/markdown_api.md create mode 100644 docs/reference/API/trestle/core/markdown/markdown_const.md create mode 100644 docs/reference/API/trestle/core/markdown/markdown_processor.md create mode 100644 docs/reference/API/trestle/core/markdown/markdown_validator.md create mode 100644 docs/reference/API/trestle/core/markdown/md_writer.md create mode 100644 docs/reference/API/trestle/core/models/actions.md create mode 100644 docs/reference/API/trestle/core/models/elements.md create mode 100644 docs/reference/API/trestle/core/models/file_content_type.md create mode 100644 docs/reference/API/trestle/core/models/interfaces.md create mode 100644 docs/reference/API/trestle/core/models/plans.md create mode 100644 docs/reference/API/trestle/core/object_factory.md create mode 100644 docs/reference/API/trestle/core/parser.md create mode 100644 docs/reference/API/trestle/core/pipeline.md create mode 100644 docs/reference/API/trestle/core/plugins.md create mode 100644 docs/reference/API/trestle/core/profile_resolver.md create mode 100644 docs/reference/API/trestle/core/refs_validator.md create mode 100644 docs/reference/API/trestle/core/remote/cache.md create mode 100644 docs/reference/API/trestle/core/repository.md create mode 100644 docs/reference/API/trestle/core/resolver/merge.md create mode 100644 docs/reference/API/trestle/core/resolver/modify.md create mode 100644 docs/reference/API/trestle/core/resolver/prune.md create mode 100644 docs/reference/API/trestle/core/rule_parameters_validator.md create mode 100644 docs/reference/API/trestle/core/ssp_io.md create mode 100644 docs/reference/API/trestle/core/trestle_base_model.md create mode 100644 docs/reference/API/trestle/core/validator.md create mode 100644 docs/reference/API/trestle/core/validator_factory.md create mode 100644 docs/reference/API/trestle/oscal/assessment_plan.md create mode 100644 docs/reference/API/trestle/oscal/assessment_results.md create mode 100644 docs/reference/API/trestle/oscal/catalog.md create mode 100644 docs/reference/API/trestle/oscal/common.md create mode 100644 docs/reference/API/trestle/oscal/component.md create mode 100644 docs/reference/API/trestle/oscal/poam.md create mode 100644 docs/reference/API/trestle/oscal/profile.md create mode 100644 docs/reference/API/trestle/oscal/ssp.md create mode 100644 docs/reference/API/trestle/tasks/base_task.md create mode 100644 docs/reference/API/trestle/tasks/cis_xlsx_to_oscal_catalog.md create mode 100644 docs/reference/API/trestle/tasks/csv_to_oscal_cd.md create mode 100644 docs/reference/API/trestle/tasks/ocp4_cis_profile_to_oscal_catalog.md create mode 100644 docs/reference/API/trestle/tasks/ocp4_cis_profile_to_oscal_cd.md create mode 100644 docs/reference/API/trestle/tasks/oscal_catalog_to_csv.md create mode 100644 docs/reference/API/trestle/tasks/oscal_profile_to_osco_profile.md create mode 100644 docs/reference/API/trestle/tasks/osco_result_to_oscal_ar.md create mode 100644 docs/reference/API/trestle/tasks/tanium_result_to_oscal_ar.md create mode 100644 docs/reference/API/trestle/tasks/transform.md create mode 100644 docs/reference/API/trestle/tasks/xccdf_result_to_oscal_ar.md create mode 100644 docs/reference/API/trestle/tasks/xlsx_helper.md create mode 100644 docs/reference/API/trestle/tasks/xlsx_to_oscal_cd.md create mode 100644 docs/reference/API/trestle/tasks/xlsx_to_oscal_profile.md create mode 100644 docs/reference/API/trestle/transforms/implementations/osco.md create mode 100644 docs/reference/API/trestle/transforms/implementations/tanium.md create mode 100644 docs/reference/API/trestle/transforms/implementations/xccdf.md create mode 100644 docs/reference/API/trestle/transforms/results.md create mode 100644 docs/reference/API/trestle/transforms/transformer_factory.md create mode 100644 docs/reference/API/trestle/transforms/transformer_helper.md create mode 100644 docs/reference/API/trestle/transforms/transformer_singleton.md rename docs/reference/{third-party-result-schema-SCC.md => third-party-result-schema-IBM-SCC.md} (98%) rename docs/tutorials/{task.ocp4-cis-profile-to-oscal-catalog/transformation.md => Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_catalog.md} (98%) rename docs/tutorials/{task.ocp4-cis-profile-to-oscal-catalog => Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_catalog}/demo-ocp4-cis-profile-to-oscal-catalog.config (100%) rename docs/tutorials/{task.ocp4-cis-profile-to-oscal-cd/transformation.md => Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd.md} (98%) rename docs/tutorials/{task.ocp4-cis-profile-to-oscal-cd => Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd}/demo-ocp4-cis-profile-to-oscal-cd.config (100%) rename docs/tutorials/{task.ocp4-cis-profile-to-oscal-cd => Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd}/enabled_rules.json (100%) rename docs/tutorials/{task.ocp4-cis-profile-to-oscal-cd => Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd}/selected_rules.json (100%) rename docs/tutorials/{task.tanium-result-to-oscal-ar/transformation.md => Transformers_and_Tasks/Tanium_result_to_oscal_ar.md} (98%) rename docs/tutorials/{task.tanium-result-to-oscal-ar => Transformers_and_Tasks/Tanium_result_to_oscal_ar}/800px-Australia_scarsdale_nimons_bridge.copyright-info.txt (100%) rename docs/tutorials/{task.tanium-result-to-oscal-ar => Transformers_and_Tasks/Tanium_result_to_oscal_ar}/800px-Australia_scarsdale_nimons_bridge.jpg (100%) rename docs/tutorials/{task.csv-to-oscal-cd/transformation.md => Transformers_and_Tasks/csv_to_oscal_cd.md} (95%) rename docs/tutorials/{task.csv-to-oscal-cd => Transformers_and_Tasks/csv_to_oscal_cd}/component-definition.json (100%) rename docs/tutorials/{task.csv-to-oscal-cd => Transformers_and_Tasks/csv_to_oscal_cd}/demo-csv-to-oscal-cd.config (100%) rename docs/tutorials/{task.csv-to-oscal-cd => Transformers_and_Tasks/csv_to_oscal_cd}/ocp4-sample-input.csv (100%) rename docs/tutorials/{task.transformer-construction/transformer-construction.md => Transformers_and_Tasks/transformer_construction.md} (97%) rename docs/tutorials/{task.transformer-construction => Transformers_and_Tasks/transformer_construction}/assessment-results-nist.png (100%) rename docs/tutorials/{task.transformer-construction => Transformers_and_Tasks/transformer_construction}/assessment-results.drawio (100%) rename docs/tutorials/{task.transformer-construction => Transformers_and_Tasks/transformer_construction}/assessment-results.jpg (100%) rename docs/tutorials/{task.transformer-construction => Transformers_and_Tasks/transformer_construction}/transformer-construction.drawio (100%) rename docs/tutorials/{task.transformer-construction => Transformers_and_Tasks/transformer_construction}/transformer-construction.jpg (100%) rename docs/tutorials/{ssp_profile_catalog_authoring => Trestle_authoring}/ssp_profile_catalog_authoring.md (99%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/complex_resolved_profile_catalog.drawio (100%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/complex_resolved_profile_catalog.png (100%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/profile_does.drawio (100%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/profile_does.png (100%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/resolved_profile_catalog.drawio (100%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/resolved_profile_catalog.png (100%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/resolved_profile_diagram.drawio (100%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/resolved_profile_diagram.png (100%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/simple_catalog.drawio (100%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/simple_catalog.png (100%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/ssp_profile_options.docx (100%) rename docs/tutorials/{ => Trestle_authoring}/ssp_profile_catalog_authoring/trestle_ssp_author_options.png (100%) rename docs/{ => tutorials/Trestle_authoring}/trestle_author.md (98%) rename docs/{assets => tutorials/Trestle_authoring/trestle_author}/drawio_data_menu.png (100%) rename docs/{assets => tutorials/Trestle_authoring/trestle_author}/drawio_editing_data.png (100%) rename docs/{assets => tutorials/Trestle_authoring/trestle_author}/sample_ssp.md.jinja (100%) rename docs/{assets => tutorials/Trestle_authoring/trestle_author}/template_versioning.png (100%) rename docs/{ => tutorials/Trestle_authoring}/trestle_author_jinja.md (93%) rename docs/{ => tutorials}/cli.md (99%) rename docs/tutorials/{continuous-compliance/continuous-compliance.md => compliance_posture.md} (75%) rename docs/tutorials/{continuous-compliance => compliance_posture}/ContinuousCompliance.drawio (100%) rename docs/tutorials/{continuous-compliance => compliance_posture}/ContinuousCompliance.jpg (100%) rename docs/tutorials/{trestle_sample_workflow.md => introduction_to_trestle.md} (99%) diff --git a/.github/workflows/python-push.yml b/.github/workflows/python-push.yml index 8cef045ae..9d5909115 100644 --- a/.github/workflows/python-push.yml +++ b/.github/workflows/python-push.yml @@ -90,6 +90,10 @@ jobs: continue-on-error: true run: | make code-typing + - name: Install documenation dependencies + if: steps.core-version.outputs.core == 'true' + run: | + make docs-ubuntu-deps - name: Validate website content (mkdocs) if: steps.core-version.outputs.core == 'true' run: | @@ -176,6 +180,9 @@ jobs: - name: Install build tools run: | make develop + - name: Install documenation dependencies + run: | + make docs-ubuntu-deps - name: Create release shell: bash run: | diff --git a/.github/workflows/python-test.yml b/.github/workflows/python-test.yml index 6eac49c70..dd50083a7 100644 --- a/.github/workflows/python-test.yml +++ b/.github/workflows/python-test.yml @@ -62,6 +62,9 @@ jobs: continue-on-error: true run: | make code-typing + - name: Install documenation dependencies + run: | + make docs-ubuntu-deps - name: Validate website content (mkdocs) run: | make docs-validate diff --git a/.gitignore b/.gitignore index 17dcce0bd..86f208c18 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,5 @@ tmp_bin_test /venv.trestle/ +# mkdocs +.cache/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 326339266..21c4df4cd 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -73,7 +73,7 @@ repos: rev: 0.7.17 hooks: - id: mdformat - exclude: "CHANGELOG.md|docs/mkdocs_code_of_conduct.md|docs/maintainers.md|docs/api_reference|tests/data/author|docs/contributing/mkdocs_contributing.md|tests/data/jinja_markdown_include|tests/data/jinja_cmd/number_captions_data.md|tests/data/jinja_cmd/number_captions_expected_output.md" + exclude: "CHANGELOG.md|docs/contributing/maintainers.md|docs/reference/API|tests/data/author|docs/contributing/index.md|tests/data/jinja_markdown_include|tests/data/jinja_cmd/number_captions_data.md|tests/data/jinja_cmd/number_captions_expected_output.md" additional_dependencies: - mdformat-tables - mdformat-config diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9c1734b44..3082c31f1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -114,7 +114,7 @@ e.g. We have tried to make it as easy as possible to make contributions. This applies to how we handle the legal aspects of contribution. We use the -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://elinux.org/Developer_Certificate_Of_Origin) +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/) uses to manage code contributions. We simply ask that when submitting a patch for review, the developer diff --git a/Makefile b/Makefile index 362e6e68d..b65b30ed1 100644 --- a/Makefile +++ b/Makefile @@ -82,11 +82,17 @@ release:: gen-oscal:: python ./scripts/gen_oscal.py +docs-osx-deps: + brew install cairo freetype libffi libjpeg libpng zlib + +docs-ubuntu-deps: + sudo apt-get -y install libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev + docs-automation:: python ./scripts/website_automation.py docs-validate:: docs-automation - mkdocs build -v -c -s + mkdocs build -c -s rm -rf site docs-serve: docs-automation diff --git a/docs/api_reference/trestle.cli.md b/docs/api_reference/trestle.cli.md deleted file mode 100644 index 080aafc16..000000000 --- a/docs/api_reference/trestle.cli.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.cli -handler: python diff --git a/docs/api_reference/trestle.common.common_types.md b/docs/api_reference/trestle.common.common_types.md deleted file mode 100644 index fb2ec573e..000000000 --- a/docs/api_reference/trestle.common.common_types.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.common.common_types -handler: python diff --git a/docs/api_reference/trestle.common.const.md b/docs/api_reference/trestle.common.const.md deleted file mode 100644 index a3154cd2a..000000000 --- a/docs/api_reference/trestle.common.const.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.common.const -handler: python diff --git a/docs/api_reference/trestle.common.err.md b/docs/api_reference/trestle.common.err.md deleted file mode 100644 index d5e6fc24c..000000000 --- a/docs/api_reference/trestle.common.err.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.common.err -handler: python diff --git a/docs/api_reference/trestle.common.file_utils.md b/docs/api_reference/trestle.common.file_utils.md deleted file mode 100644 index cc91f9eed..000000000 --- a/docs/api_reference/trestle.common.file_utils.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.common.file_utils -handler: python diff --git a/docs/api_reference/trestle.common.list_utils.md b/docs/api_reference/trestle.common.list_utils.md deleted file mode 100644 index 2b2896a50..000000000 --- a/docs/api_reference/trestle.common.list_utils.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.common.list_utils -handler: python diff --git a/docs/api_reference/trestle.common.load_validate.md b/docs/api_reference/trestle.common.load_validate.md deleted file mode 100644 index bfae3172e..000000000 --- a/docs/api_reference/trestle.common.load_validate.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.common.load_validate -handler: python diff --git a/docs/api_reference/trestle.common.log.md b/docs/api_reference/trestle.common.log.md deleted file mode 100644 index 304daeb31..000000000 --- a/docs/api_reference/trestle.common.log.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.common.log -handler: python diff --git a/docs/api_reference/trestle.common.model_utils.md b/docs/api_reference/trestle.common.model_utils.md deleted file mode 100644 index d8172a023..000000000 --- a/docs/api_reference/trestle.common.model_utils.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.common.model_utils -handler: python diff --git a/docs/api_reference/trestle.common.str_utils.md b/docs/api_reference/trestle.common.str_utils.md deleted file mode 100644 index c8f11aec2..000000000 --- a/docs/api_reference/trestle.common.str_utils.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.common.str_utils -handler: python diff --git a/docs/api_reference/trestle.common.trash.md b/docs/api_reference/trestle.common.trash.md deleted file mode 100644 index c983d895f..000000000 --- a/docs/api_reference/trestle.common.trash.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.common.trash -handler: python diff --git a/docs/api_reference/trestle.common.type_utils.md b/docs/api_reference/trestle.common.type_utils.md deleted file mode 100644 index 9f989eac5..000000000 --- a/docs/api_reference/trestle.common.type_utils.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.common.type_utils -handler: python diff --git a/docs/api_reference/trestle.core.all_validator.md b/docs/api_reference/trestle.core.all_validator.md deleted file mode 100644 index 2608a44e2..000000000 --- a/docs/api_reference/trestle.core.all_validator.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.all_validator -handler: python diff --git a/docs/api_reference/trestle.core.base_model.md b/docs/api_reference/trestle.core.base_model.md deleted file mode 100644 index 951d7bec6..000000000 --- a/docs/api_reference/trestle.core.base_model.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.base_model -handler: python diff --git a/docs/api_reference/trestle.core.catalog.catalog_api.md b/docs/api_reference/trestle.core.catalog.catalog_api.md deleted file mode 100644 index 11b2fef15..000000000 --- a/docs/api_reference/trestle.core.catalog.catalog_api.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.catalog.catalog_api -handler: python diff --git a/docs/api_reference/trestle.core.catalog.catalog_interface.md b/docs/api_reference/trestle.core.catalog.catalog_interface.md deleted file mode 100644 index 145cac87b..000000000 --- a/docs/api_reference/trestle.core.catalog.catalog_interface.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.catalog.catalog_interface -handler: python diff --git a/docs/api_reference/trestle.core.catalog.catalog_merger.md b/docs/api_reference/trestle.core.catalog.catalog_merger.md deleted file mode 100644 index a2e43d8ba..000000000 --- a/docs/api_reference/trestle.core.catalog.catalog_merger.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.catalog.catalog_merger -handler: python diff --git a/docs/api_reference/trestle.core.catalog.catalog_reader.md b/docs/api_reference/trestle.core.catalog.catalog_reader.md deleted file mode 100644 index c3f3f9ad3..000000000 --- a/docs/api_reference/trestle.core.catalog.catalog_reader.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.catalog.catalog_reader -handler: python diff --git a/docs/api_reference/trestle.core.catalog.catalog_writer.md b/docs/api_reference/trestle.core.catalog.catalog_writer.md deleted file mode 100644 index 8b35a3068..000000000 --- a/docs/api_reference/trestle.core.catalog.catalog_writer.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.catalog.catalog_writer -handler: python diff --git a/docs/api_reference/trestle.core.catalog_validator.md b/docs/api_reference/trestle.core.catalog_validator.md deleted file mode 100644 index 462a9ca54..000000000 --- a/docs/api_reference/trestle.core.catalog_validator.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.catalog_validator -handler: python diff --git a/docs/api_reference/trestle.core.commands.add.md b/docs/api_reference/trestle.core.commands.add.md deleted file mode 100644 index 55ecbbc29..000000000 --- a/docs/api_reference/trestle.core.commands.add.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.add -handler: python diff --git a/docs/api_reference/trestle.core.commands.assemble.md b/docs/api_reference/trestle.core.commands.assemble.md deleted file mode 100644 index f52e4f5a0..000000000 --- a/docs/api_reference/trestle.core.commands.assemble.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.assemble -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.catalog.md b/docs/api_reference/trestle.core.commands.author.catalog.md deleted file mode 100644 index 77e1a973c..000000000 --- a/docs/api_reference/trestle.core.commands.author.catalog.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.catalog -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.command.md b/docs/api_reference/trestle.core.commands.author.command.md deleted file mode 100644 index 4aa7bdb2c..000000000 --- a/docs/api_reference/trestle.core.commands.author.command.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.command -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.common.md b/docs/api_reference/trestle.core.commands.author.common.md deleted file mode 100644 index 0f1ac91bd..000000000 --- a/docs/api_reference/trestle.core.commands.author.common.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.common -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.component.md b/docs/api_reference/trestle.core.commands.author.component.md deleted file mode 100644 index 2d810dbc9..000000000 --- a/docs/api_reference/trestle.core.commands.author.component.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.component -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.consts.md b/docs/api_reference/trestle.core.commands.author.consts.md deleted file mode 100644 index 50787043d..000000000 --- a/docs/api_reference/trestle.core.commands.author.consts.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.consts -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.docs.md b/docs/api_reference/trestle.core.commands.author.docs.md deleted file mode 100644 index cd462e3ab..000000000 --- a/docs/api_reference/trestle.core.commands.author.docs.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.docs -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.folders.md b/docs/api_reference/trestle.core.commands.author.folders.md deleted file mode 100644 index f279754ee..000000000 --- a/docs/api_reference/trestle.core.commands.author.folders.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.folders -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.headers.md b/docs/api_reference/trestle.core.commands.author.headers.md deleted file mode 100644 index 710a5afca..000000000 --- a/docs/api_reference/trestle.core.commands.author.headers.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.headers -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.jinja.md b/docs/api_reference/trestle.core.commands.author.jinja.md deleted file mode 100644 index e642a2bb1..000000000 --- a/docs/api_reference/trestle.core.commands.author.jinja.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.jinja -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.prof.md b/docs/api_reference/trestle.core.commands.author.prof.md deleted file mode 100644 index 9772b3103..000000000 --- a/docs/api_reference/trestle.core.commands.author.prof.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.prof -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.ssp.md b/docs/api_reference/trestle.core.commands.author.ssp.md deleted file mode 100644 index 38e196f91..000000000 --- a/docs/api_reference/trestle.core.commands.author.ssp.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.ssp -handler: python diff --git a/docs/api_reference/trestle.core.commands.author.versioning.template_versioning.md b/docs/api_reference/trestle.core.commands.author.versioning.template_versioning.md deleted file mode 100644 index 2e39e44cb..000000000 --- a/docs/api_reference/trestle.core.commands.author.versioning.template_versioning.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.author.versioning.template_versioning -handler: python diff --git a/docs/api_reference/trestle.core.commands.command_docs.md b/docs/api_reference/trestle.core.commands.command_docs.md deleted file mode 100644 index 43942dc93..000000000 --- a/docs/api_reference/trestle.core.commands.command_docs.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.command_docs -handler: python diff --git a/docs/api_reference/trestle.core.commands.common.cmd_utils.md b/docs/api_reference/trestle.core.commands.common.cmd_utils.md deleted file mode 100644 index 6008f57da..000000000 --- a/docs/api_reference/trestle.core.commands.common.cmd_utils.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.common.cmd_utils -handler: python diff --git a/docs/api_reference/trestle.core.commands.common.return_codes.md b/docs/api_reference/trestle.core.commands.common.return_codes.md deleted file mode 100644 index 005b5f293..000000000 --- a/docs/api_reference/trestle.core.commands.common.return_codes.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.common.return_codes -handler: python diff --git a/docs/api_reference/trestle.core.commands.create.md b/docs/api_reference/trestle.core.commands.create.md deleted file mode 100644 index fc7790f41..000000000 --- a/docs/api_reference/trestle.core.commands.create.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.create -handler: python diff --git a/docs/api_reference/trestle.core.commands.describe.md b/docs/api_reference/trestle.core.commands.describe.md deleted file mode 100644 index b94aa284e..000000000 --- a/docs/api_reference/trestle.core.commands.describe.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.describe -handler: python diff --git a/docs/api_reference/trestle.core.commands.href.md b/docs/api_reference/trestle.core.commands.href.md deleted file mode 100644 index 7ca56c64e..000000000 --- a/docs/api_reference/trestle.core.commands.href.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.href -handler: python diff --git a/docs/api_reference/trestle.core.commands.import_.md b/docs/api_reference/trestle.core.commands.import_.md deleted file mode 100644 index 1544f9ba3..000000000 --- a/docs/api_reference/trestle.core.commands.import_.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.import_ -handler: python diff --git a/docs/api_reference/trestle.core.commands.init.md b/docs/api_reference/trestle.core.commands.init.md deleted file mode 100644 index 1ee989990..000000000 --- a/docs/api_reference/trestle.core.commands.init.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.init -handler: python diff --git a/docs/api_reference/trestle.core.commands.merge.md b/docs/api_reference/trestle.core.commands.merge.md deleted file mode 100644 index 02b4f29a9..000000000 --- a/docs/api_reference/trestle.core.commands.merge.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.merge -handler: python diff --git a/docs/api_reference/trestle.core.commands.partial_object_validate.md b/docs/api_reference/trestle.core.commands.partial_object_validate.md deleted file mode 100644 index cdae3aadc..000000000 --- a/docs/api_reference/trestle.core.commands.partial_object_validate.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.partial_object_validate -handler: python diff --git a/docs/api_reference/trestle.core.commands.remove.md b/docs/api_reference/trestle.core.commands.remove.md deleted file mode 100644 index ca5d3835f..000000000 --- a/docs/api_reference/trestle.core.commands.remove.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.remove -handler: python diff --git a/docs/api_reference/trestle.core.commands.replicate.md b/docs/api_reference/trestle.core.commands.replicate.md deleted file mode 100644 index 50d1538ed..000000000 --- a/docs/api_reference/trestle.core.commands.replicate.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.replicate -handler: python diff --git a/docs/api_reference/trestle.core.commands.split.md b/docs/api_reference/trestle.core.commands.split.md deleted file mode 100644 index 0c58b4a40..000000000 --- a/docs/api_reference/trestle.core.commands.split.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.split -handler: python diff --git a/docs/api_reference/trestle.core.commands.task.md b/docs/api_reference/trestle.core.commands.task.md deleted file mode 100644 index 74758b62f..000000000 --- a/docs/api_reference/trestle.core.commands.task.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.task -handler: python diff --git a/docs/api_reference/trestle.core.commands.validate.md b/docs/api_reference/trestle.core.commands.validate.md deleted file mode 100644 index 00a74f64f..000000000 --- a/docs/api_reference/trestle.core.commands.validate.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.validate -handler: python diff --git a/docs/api_reference/trestle.core.commands.version.md b/docs/api_reference/trestle.core.commands.version.md deleted file mode 100644 index f50c1c988..000000000 --- a/docs/api_reference/trestle.core.commands.version.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.commands.version -handler: python diff --git a/docs/api_reference/trestle.core.control_context.md b/docs/api_reference/trestle.core.control_context.md deleted file mode 100644 index 5527911a4..000000000 --- a/docs/api_reference/trestle.core.control_context.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.control_context -handler: python diff --git a/docs/api_reference/trestle.core.control_interface.md b/docs/api_reference/trestle.core.control_interface.md deleted file mode 100644 index 2293ca6e2..000000000 --- a/docs/api_reference/trestle.core.control_interface.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.control_interface -handler: python diff --git a/docs/api_reference/trestle.core.control_reader.md b/docs/api_reference/trestle.core.control_reader.md deleted file mode 100644 index 5c74a7f99..000000000 --- a/docs/api_reference/trestle.core.control_reader.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.control_reader -handler: python diff --git a/docs/api_reference/trestle.core.control_writer.md b/docs/api_reference/trestle.core.control_writer.md deleted file mode 100644 index f481b81cb..000000000 --- a/docs/api_reference/trestle.core.control_writer.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.control_writer -handler: python diff --git a/docs/api_reference/trestle.core.crm.bycomp_interface.md b/docs/api_reference/trestle.core.crm.bycomp_interface.md deleted file mode 100644 index a6bc38dde..000000000 --- a/docs/api_reference/trestle.core.crm.bycomp_interface.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.crm.bycomp_interface -handler: python diff --git a/docs/api_reference/trestle.core.crm.export_reader.md b/docs/api_reference/trestle.core.crm.export_reader.md deleted file mode 100644 index 27301c488..000000000 --- a/docs/api_reference/trestle.core.crm.export_reader.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.crm.export_reader -handler: python diff --git a/docs/api_reference/trestle.core.crm.export_writer.md b/docs/api_reference/trestle.core.crm.export_writer.md deleted file mode 100644 index 311b57102..000000000 --- a/docs/api_reference/trestle.core.crm.export_writer.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.crm.export_writer -handler: python diff --git a/docs/api_reference/trestle.core.crm.leveraged_statements.md b/docs/api_reference/trestle.core.crm.leveraged_statements.md deleted file mode 100644 index 943d725f1..000000000 --- a/docs/api_reference/trestle.core.crm.leveraged_statements.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.crm.leveraged_statements -handler: python diff --git a/docs/api_reference/trestle.core.crm.ssp_inheritance_api.md b/docs/api_reference/trestle.core.crm.ssp_inheritance_api.md deleted file mode 100644 index 74d3c7457..000000000 --- a/docs/api_reference/trestle.core.crm.ssp_inheritance_api.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.crm.ssp_inheritance_api -handler: python diff --git a/docs/api_reference/trestle.core.docs_control_writer.md b/docs/api_reference/trestle.core.docs_control_writer.md deleted file mode 100644 index 2e36eb172..000000000 --- a/docs/api_reference/trestle.core.docs_control_writer.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.docs_control_writer -handler: python diff --git a/docs/api_reference/trestle.core.draw_io.md b/docs/api_reference/trestle.core.draw_io.md deleted file mode 100644 index 39c89b19d..000000000 --- a/docs/api_reference/trestle.core.draw_io.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.draw_io -handler: python diff --git a/docs/api_reference/trestle.core.duplicates_validator.md b/docs/api_reference/trestle.core.duplicates_validator.md deleted file mode 100644 index 65ef50294..000000000 --- a/docs/api_reference/trestle.core.duplicates_validator.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.duplicates_validator -handler: python diff --git a/docs/api_reference/trestle.core.generators.md b/docs/api_reference/trestle.core.generators.md deleted file mode 100644 index e15d7f25c..000000000 --- a/docs/api_reference/trestle.core.generators.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.generators -handler: python diff --git a/docs/api_reference/trestle.core.generic_oscal.md b/docs/api_reference/trestle.core.generic_oscal.md deleted file mode 100644 index 295f63592..000000000 --- a/docs/api_reference/trestle.core.generic_oscal.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.generic_oscal -handler: python diff --git a/docs/api_reference/trestle.core.jinja.base.md b/docs/api_reference/trestle.core.jinja.base.md deleted file mode 100644 index b929616d6..000000000 --- a/docs/api_reference/trestle.core.jinja.base.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.jinja.base -handler: python diff --git a/docs/api_reference/trestle.core.jinja.ext.md b/docs/api_reference/trestle.core.jinja.ext.md deleted file mode 100644 index 5da0b570e..000000000 --- a/docs/api_reference/trestle.core.jinja.ext.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.jinja.ext -handler: python diff --git a/docs/api_reference/trestle.core.jinja.filters.md b/docs/api_reference/trestle.core.jinja.filters.md deleted file mode 100644 index 40a4d4e5e..000000000 --- a/docs/api_reference/trestle.core.jinja.filters.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.jinja.filters -handler: python diff --git a/docs/api_reference/trestle.core.jinja.tags.md b/docs/api_reference/trestle.core.jinja.tags.md deleted file mode 100644 index 53e6638a0..000000000 --- a/docs/api_reference/trestle.core.jinja.tags.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.jinja.tags -handler: python diff --git a/docs/api_reference/trestle.core.links_validator.md b/docs/api_reference/trestle.core.links_validator.md deleted file mode 100644 index 582d34b34..000000000 --- a/docs/api_reference/trestle.core.links_validator.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.links_validator -handler: python diff --git a/docs/api_reference/trestle.core.markdown.base_markdown_node.md b/docs/api_reference/trestle.core.markdown.base_markdown_node.md deleted file mode 100644 index 4dc3f453c..000000000 --- a/docs/api_reference/trestle.core.markdown.base_markdown_node.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.markdown.base_markdown_node -handler: python diff --git a/docs/api_reference/trestle.core.markdown.control_markdown_node.md b/docs/api_reference/trestle.core.markdown.control_markdown_node.md deleted file mode 100644 index 51d37efbb..000000000 --- a/docs/api_reference/trestle.core.markdown.control_markdown_node.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.markdown.control_markdown_node -handler: python diff --git a/docs/api_reference/trestle.core.markdown.docs_markdown_node.md b/docs/api_reference/trestle.core.markdown.docs_markdown_node.md deleted file mode 100644 index 171b3e6c6..000000000 --- a/docs/api_reference/trestle.core.markdown.docs_markdown_node.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.markdown.docs_markdown_node -handler: python diff --git a/docs/api_reference/trestle.core.markdown.markdown_api.md b/docs/api_reference/trestle.core.markdown.markdown_api.md deleted file mode 100644 index f3d623761..000000000 --- a/docs/api_reference/trestle.core.markdown.markdown_api.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.markdown.markdown_api -handler: python diff --git a/docs/api_reference/trestle.core.markdown.markdown_const.md b/docs/api_reference/trestle.core.markdown.markdown_const.md deleted file mode 100644 index e7d7c6629..000000000 --- a/docs/api_reference/trestle.core.markdown.markdown_const.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.markdown.markdown_const -handler: python diff --git a/docs/api_reference/trestle.core.markdown.markdown_processor.md b/docs/api_reference/trestle.core.markdown.markdown_processor.md deleted file mode 100644 index c2678c8f5..000000000 --- a/docs/api_reference/trestle.core.markdown.markdown_processor.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.markdown.markdown_processor -handler: python diff --git a/docs/api_reference/trestle.core.markdown.markdown_validator.md b/docs/api_reference/trestle.core.markdown.markdown_validator.md deleted file mode 100644 index 576d1b8c7..000000000 --- a/docs/api_reference/trestle.core.markdown.markdown_validator.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.markdown.markdown_validator -handler: python diff --git a/docs/api_reference/trestle.core.markdown.md_writer.md b/docs/api_reference/trestle.core.markdown.md_writer.md deleted file mode 100644 index 6d3fc165b..000000000 --- a/docs/api_reference/trestle.core.markdown.md_writer.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.markdown.md_writer -handler: python diff --git a/docs/api_reference/trestle.core.models.actions.md b/docs/api_reference/trestle.core.models.actions.md deleted file mode 100644 index fa8dcc840..000000000 --- a/docs/api_reference/trestle.core.models.actions.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.models.actions -handler: python diff --git a/docs/api_reference/trestle.core.models.elements.md b/docs/api_reference/trestle.core.models.elements.md deleted file mode 100644 index 62cfe699c..000000000 --- a/docs/api_reference/trestle.core.models.elements.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.models.elements -handler: python diff --git a/docs/api_reference/trestle.core.models.file_content_type.md b/docs/api_reference/trestle.core.models.file_content_type.md deleted file mode 100644 index 4007ae0ff..000000000 --- a/docs/api_reference/trestle.core.models.file_content_type.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.models.file_content_type -handler: python diff --git a/docs/api_reference/trestle.core.models.interfaces.md b/docs/api_reference/trestle.core.models.interfaces.md deleted file mode 100644 index ccd730ff1..000000000 --- a/docs/api_reference/trestle.core.models.interfaces.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.models.interfaces -handler: python diff --git a/docs/api_reference/trestle.core.models.plans.md b/docs/api_reference/trestle.core.models.plans.md deleted file mode 100644 index 9e4111313..000000000 --- a/docs/api_reference/trestle.core.models.plans.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.models.plans -handler: python diff --git a/docs/api_reference/trestle.core.object_factory.md b/docs/api_reference/trestle.core.object_factory.md deleted file mode 100644 index fadd987ce..000000000 --- a/docs/api_reference/trestle.core.object_factory.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.object_factory -handler: python diff --git a/docs/api_reference/trestle.core.parser.md b/docs/api_reference/trestle.core.parser.md deleted file mode 100644 index 931c6dfd1..000000000 --- a/docs/api_reference/trestle.core.parser.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.parser -handler: python diff --git a/docs/api_reference/trestle.core.pipeline.md b/docs/api_reference/trestle.core.pipeline.md deleted file mode 100644 index 27405ff4e..000000000 --- a/docs/api_reference/trestle.core.pipeline.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.pipeline -handler: python diff --git a/docs/api_reference/trestle.core.plugins.md b/docs/api_reference/trestle.core.plugins.md deleted file mode 100644 index 54e01680b..000000000 --- a/docs/api_reference/trestle.core.plugins.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.plugins -handler: python diff --git a/docs/api_reference/trestle.core.profile_resolver.md b/docs/api_reference/trestle.core.profile_resolver.md deleted file mode 100644 index 555fc223f..000000000 --- a/docs/api_reference/trestle.core.profile_resolver.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.profile_resolver -handler: python diff --git a/docs/api_reference/trestle.core.refs_validator.md b/docs/api_reference/trestle.core.refs_validator.md deleted file mode 100644 index 99be888d1..000000000 --- a/docs/api_reference/trestle.core.refs_validator.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.refs_validator -handler: python diff --git a/docs/api_reference/trestle.core.remote.cache.md b/docs/api_reference/trestle.core.remote.cache.md deleted file mode 100644 index 4ef6965c6..000000000 --- a/docs/api_reference/trestle.core.remote.cache.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.remote.cache -handler: python diff --git a/docs/api_reference/trestle.core.repository.md b/docs/api_reference/trestle.core.repository.md deleted file mode 100644 index 0019976d5..000000000 --- a/docs/api_reference/trestle.core.repository.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.repository -handler: python diff --git a/docs/api_reference/trestle.core.resolver.merge.md b/docs/api_reference/trestle.core.resolver.merge.md deleted file mode 100644 index 909aee8fe..000000000 --- a/docs/api_reference/trestle.core.resolver.merge.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.resolver.merge -handler: python diff --git a/docs/api_reference/trestle.core.resolver.modify.md b/docs/api_reference/trestle.core.resolver.modify.md deleted file mode 100644 index 902a127c6..000000000 --- a/docs/api_reference/trestle.core.resolver.modify.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.resolver.modify -handler: python diff --git a/docs/api_reference/trestle.core.resolver.prune.md b/docs/api_reference/trestle.core.resolver.prune.md deleted file mode 100644 index a0ac986ca..000000000 --- a/docs/api_reference/trestle.core.resolver.prune.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.resolver.prune -handler: python diff --git a/docs/api_reference/trestle.core.rule_parameters_validator.md b/docs/api_reference/trestle.core.rule_parameters_validator.md deleted file mode 100644 index 061a96199..000000000 --- a/docs/api_reference/trestle.core.rule_parameters_validator.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.rule_parameters_validator -handler: python diff --git a/docs/api_reference/trestle.core.ssp_io.md b/docs/api_reference/trestle.core.ssp_io.md deleted file mode 100644 index 6997902ad..000000000 --- a/docs/api_reference/trestle.core.ssp_io.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.ssp_io -handler: python diff --git a/docs/api_reference/trestle.core.trestle_base_model.md b/docs/api_reference/trestle.core.trestle_base_model.md deleted file mode 100644 index 5dc76406b..000000000 --- a/docs/api_reference/trestle.core.trestle_base_model.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.trestle_base_model -handler: python diff --git a/docs/api_reference/trestle.core.validator.md b/docs/api_reference/trestle.core.validator.md deleted file mode 100644 index e7904faf3..000000000 --- a/docs/api_reference/trestle.core.validator.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.validator -handler: python diff --git a/docs/api_reference/trestle.core.validator_factory.md b/docs/api_reference/trestle.core.validator_factory.md deleted file mode 100644 index 2a714127e..000000000 --- a/docs/api_reference/trestle.core.validator_factory.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.core.validator_factory -handler: python diff --git a/docs/api_reference/trestle.oscal.assessment_plan.md b/docs/api_reference/trestle.oscal.assessment_plan.md deleted file mode 100644 index 24ecd2b0d..000000000 --- a/docs/api_reference/trestle.oscal.assessment_plan.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.oscal.assessment_plan -handler: python diff --git a/docs/api_reference/trestle.oscal.assessment_results.md b/docs/api_reference/trestle.oscal.assessment_results.md deleted file mode 100644 index c88c2c87b..000000000 --- a/docs/api_reference/trestle.oscal.assessment_results.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.oscal.assessment_results -handler: python diff --git a/docs/api_reference/trestle.oscal.catalog.md b/docs/api_reference/trestle.oscal.catalog.md deleted file mode 100644 index be5d09b30..000000000 --- a/docs/api_reference/trestle.oscal.catalog.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.oscal.catalog -handler: python diff --git a/docs/api_reference/trestle.oscal.common.md b/docs/api_reference/trestle.oscal.common.md deleted file mode 100644 index 3b03df739..000000000 --- a/docs/api_reference/trestle.oscal.common.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.oscal.common -handler: python diff --git a/docs/api_reference/trestle.oscal.component.md b/docs/api_reference/trestle.oscal.component.md deleted file mode 100644 index b6eac56d6..000000000 --- a/docs/api_reference/trestle.oscal.component.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.oscal.component -handler: python diff --git a/docs/api_reference/trestle.oscal.poam.md b/docs/api_reference/trestle.oscal.poam.md deleted file mode 100644 index b145be49a..000000000 --- a/docs/api_reference/trestle.oscal.poam.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.oscal.poam -handler: python diff --git a/docs/api_reference/trestle.oscal.profile.md b/docs/api_reference/trestle.oscal.profile.md deleted file mode 100644 index 13d10e9a9..000000000 --- a/docs/api_reference/trestle.oscal.profile.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.oscal.profile -handler: python diff --git a/docs/api_reference/trestle.oscal.ssp.md b/docs/api_reference/trestle.oscal.ssp.md deleted file mode 100644 index 81d74c04d..000000000 --- a/docs/api_reference/trestle.oscal.ssp.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.oscal.ssp -handler: python diff --git a/docs/api_reference/trestle.tasks.base_task.md b/docs/api_reference/trestle.tasks.base_task.md deleted file mode 100644 index 90338a062..000000000 --- a/docs/api_reference/trestle.tasks.base_task.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.base_task -handler: python diff --git a/docs/api_reference/trestle.tasks.cis_xlsx_to_oscal_catalog.md b/docs/api_reference/trestle.tasks.cis_xlsx_to_oscal_catalog.md deleted file mode 100644 index e283e136f..000000000 --- a/docs/api_reference/trestle.tasks.cis_xlsx_to_oscal_catalog.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.cis_xlsx_to_oscal_catalog -handler: python diff --git a/docs/api_reference/trestle.tasks.csv_to_oscal_cd.md b/docs/api_reference/trestle.tasks.csv_to_oscal_cd.md deleted file mode 100644 index 8bf76f406..000000000 --- a/docs/api_reference/trestle.tasks.csv_to_oscal_cd.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.csv_to_oscal_cd -handler: python diff --git a/docs/api_reference/trestle.tasks.ocp4_cis_profile_to_oscal_catalog.md b/docs/api_reference/trestle.tasks.ocp4_cis_profile_to_oscal_catalog.md deleted file mode 100644 index a42d2a5c4..000000000 --- a/docs/api_reference/trestle.tasks.ocp4_cis_profile_to_oscal_catalog.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.ocp4_cis_profile_to_oscal_catalog -handler: python diff --git a/docs/api_reference/trestle.tasks.ocp4_cis_profile_to_oscal_cd.md b/docs/api_reference/trestle.tasks.ocp4_cis_profile_to_oscal_cd.md deleted file mode 100644 index dd8d03ccd..000000000 --- a/docs/api_reference/trestle.tasks.ocp4_cis_profile_to_oscal_cd.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.ocp4_cis_profile_to_oscal_cd -handler: python diff --git a/docs/api_reference/trestle.tasks.oscal_catalog_to_csv.md b/docs/api_reference/trestle.tasks.oscal_catalog_to_csv.md deleted file mode 100644 index af67ad272..000000000 --- a/docs/api_reference/trestle.tasks.oscal_catalog_to_csv.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.oscal_catalog_to_csv -handler: python diff --git a/docs/api_reference/trestle.tasks.oscal_profile_to_osco_profile.md b/docs/api_reference/trestle.tasks.oscal_profile_to_osco_profile.md deleted file mode 100644 index eeef5dbf3..000000000 --- a/docs/api_reference/trestle.tasks.oscal_profile_to_osco_profile.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.oscal_profile_to_osco_profile -handler: python diff --git a/docs/api_reference/trestle.tasks.osco_result_to_oscal_ar.md b/docs/api_reference/trestle.tasks.osco_result_to_oscal_ar.md deleted file mode 100644 index fbdfed04a..000000000 --- a/docs/api_reference/trestle.tasks.osco_result_to_oscal_ar.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.osco_result_to_oscal_ar -handler: python diff --git a/docs/api_reference/trestle.tasks.tanium_result_to_oscal_ar.md b/docs/api_reference/trestle.tasks.tanium_result_to_oscal_ar.md deleted file mode 100644 index a26d33706..000000000 --- a/docs/api_reference/trestle.tasks.tanium_result_to_oscal_ar.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.tanium_result_to_oscal_ar -handler: python diff --git a/docs/api_reference/trestle.tasks.transform.md b/docs/api_reference/trestle.tasks.transform.md deleted file mode 100644 index 2ba6d95bc..000000000 --- a/docs/api_reference/trestle.tasks.transform.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.transform -handler: python diff --git a/docs/api_reference/trestle.tasks.xccdf_result_to_oscal_ar.md b/docs/api_reference/trestle.tasks.xccdf_result_to_oscal_ar.md deleted file mode 100644 index a81c9eb73..000000000 --- a/docs/api_reference/trestle.tasks.xccdf_result_to_oscal_ar.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.xccdf_result_to_oscal_ar -handler: python diff --git a/docs/api_reference/trestle.tasks.xlsx_helper.md b/docs/api_reference/trestle.tasks.xlsx_helper.md deleted file mode 100644 index 7014b04fd..000000000 --- a/docs/api_reference/trestle.tasks.xlsx_helper.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.xlsx_helper -handler: python diff --git a/docs/api_reference/trestle.tasks.xlsx_to_oscal_cd.md b/docs/api_reference/trestle.tasks.xlsx_to_oscal_cd.md deleted file mode 100644 index eaef1b196..000000000 --- a/docs/api_reference/trestle.tasks.xlsx_to_oscal_cd.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.xlsx_to_oscal_cd -handler: python diff --git a/docs/api_reference/trestle.tasks.xlsx_to_oscal_profile.md b/docs/api_reference/trestle.tasks.xlsx_to_oscal_profile.md deleted file mode 100644 index 034ddb87a..000000000 --- a/docs/api_reference/trestle.tasks.xlsx_to_oscal_profile.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.tasks.xlsx_to_oscal_profile -handler: python diff --git a/docs/api_reference/trestle.transforms.implementations.osco.md b/docs/api_reference/trestle.transforms.implementations.osco.md deleted file mode 100644 index 9fb600ea6..000000000 --- a/docs/api_reference/trestle.transforms.implementations.osco.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.transforms.implementations.osco -handler: python diff --git a/docs/api_reference/trestle.transforms.implementations.tanium.md b/docs/api_reference/trestle.transforms.implementations.tanium.md deleted file mode 100644 index c016bb8fd..000000000 --- a/docs/api_reference/trestle.transforms.implementations.tanium.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.transforms.implementations.tanium -handler: python diff --git a/docs/api_reference/trestle.transforms.implementations.xccdf.md b/docs/api_reference/trestle.transforms.implementations.xccdf.md deleted file mode 100644 index c0a277f4b..000000000 --- a/docs/api_reference/trestle.transforms.implementations.xccdf.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.transforms.implementations.xccdf -handler: python diff --git a/docs/api_reference/trestle.transforms.results.md b/docs/api_reference/trestle.transforms.results.md deleted file mode 100644 index 5302e0c27..000000000 --- a/docs/api_reference/trestle.transforms.results.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.transforms.results -handler: python diff --git a/docs/api_reference/trestle.transforms.transformer_factory.md b/docs/api_reference/trestle.transforms.transformer_factory.md deleted file mode 100644 index bdcb9a0dd..000000000 --- a/docs/api_reference/trestle.transforms.transformer_factory.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.transforms.transformer_factory -handler: python diff --git a/docs/api_reference/trestle.transforms.transformer_helper.md b/docs/api_reference/trestle.transforms.transformer_helper.md deleted file mode 100644 index 5b2c0385b..000000000 --- a/docs/api_reference/trestle.transforms.transformer_helper.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.transforms.transformer_helper -handler: python diff --git a/docs/api_reference/trestle.transforms.transformer_singleton.md b/docs/api_reference/trestle.transforms.transformer_singleton.md deleted file mode 100644 index 723e80e16..000000000 --- a/docs/api_reference/trestle.transforms.transformer_singleton.md +++ /dev/null @@ -1,2 +0,0 @@ -::: trestle.transforms.transformer_singleton -handler: python diff --git a/docs/assets/favicon.ico b/docs/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..fc00960ccb0c9bbfa7481ffc4dea7261f6b77645 GIT binary patch literal 12014 zcmeHNd010d7C(q02*@If0wPpfcZI5GJGIr?j@rf6v7Ii~PWKrXRKNv=DryzCDq2NB zMNwP5VD6r*qjqW^% zEWytY@N+m^@&X6|03V;ewjBT)zjJidx2@qng8+7o2N;JsXae8hp||TTo`w(N`O%B= zd_B<9Dwm3BHBHR=c8%)!4rK~mr`6=eA35;;v~WMyEz{hOem3{v?d0yRPE&TzrN67Q zBX#fQ5Z^&-JYnrfy{z$oO%oi7ubh4^=n*9E> z16y%)A{j$H*k@p6$`$g*GliHGwj3v@KOgj1{<)*3tjX_Bk6Qjr|AhELt- ztA=~FM#8>pqvV-`4|PpL`e4o-TVqKdqTb1OE zHoR1OV@a`7bIjl$dDU9}jUoJ-L;H!Hx*^t-cggRUR|W~L*$S>Z^b>mx+YEdZ4}yfr zwxX+!Mk2gARKqd@A7w?bDA7)w zWg$%$hc;bu?k7%KbMR4@gfyRbXudG4pEzmhCrx>m{C;)uI>|XlNrFp1ac-lTfsdwW zUCS9K=~-7JX^9`!R&NGAt%d8QaZa)`uEuiOrM>PH`SW24u{D3a{G_uy&dpd(xwhAu zfsZzCgCcgA;-tH=oN&`o&A_KEcZ2e{i!ye&vBbFRYT`_Jm;CzyB+%(Z1+G8GgZbj*>sE-css6I`~^>=mXFiVj3>z2f@K<;Av1OYDkPIZOAC&>rzn7DY?t zN{K{*%3`q?4bdDy*bNN~8m;hV;*H4Aq_7nk(YuAz%AW4-XOh=xTT}OjZJOwSVI2nM zcn+O1?Ckap1^M|UB_$OV6%QXiq*AFg8VyNuI9&OyK-xyaX>N(9uwSelK5O#HTVpD`Usp2}bcgnymJKbAd~{yPk4UBc1xQzZ;Rcff$-^ ze`{<$CDVuxy60Tbvi|(_RwE(p$WFfSDL$1CA7)&;5<1BVdkx5s&j_-A;j3DOoamw^ zR{fS~Bc91;$J-MNvMI)Vc)Wy-|9&6VG%0-LqeneNK3K0xySizjBk_{aHhj8g+NHD4yq{ULx}#q$K>f#;tgno; zxVU)*pU30!ct(5>B zk>Nkj92x900EbvN+A8YfS@gX7{mJxw)6*jpa4J(1^UobCPfcRiQ^k$?f`4oH=ho8F zB9qDFa=AjGP^nZJjYiwnrdG%qMcIWHPn0B{;Z~JtTU+r<>{6@MN~IDt(L^ehqIq+3 zGXfzXv#O%>`h|johToyBqu%p6yK=zJ*%py=23%fm!N{N7)j`@6>ssp?3cVSW z!8Nz_k2DzBR@~C5T{_b6J2ds2+)=CyYj)-k6jsJyUXdTU_&kbF!(E$(ySBYzEy(vL z6JK4=&+z4@*&0&hoZCZ$Ij?rLljk3Gz3|>kyc9cLioITL*@`LCNW||{)r-AV zB8(rVxc(ZM_;R}9;skk|t0BcEJLRHGe!WLant!_GbXCGc#R)gX33t83x~dcZMkc$bj`J`rza~84d?B26GXbJ z4!dj5&+br)bRD>I>QD=n^)ZZ6(cHjz<_6&R<=ZP_rdQ1J&+;e!FI82P+c$sv`u(jlJo;|{jFxX)q+$Y> zVc3R4V3vfzVsk4grx$sy{{4L#R7m<}5}#hlWU=b%>QJquurO-r0t_w3%vOfPXnGJ0A*^uv^D2%eawtF*=&&LE= zpMQ#rqksDJu|n`D%lk(oiQ5U>kEKM0?qBG)Z=wH%twE)Q1vNF)`ucigh!M3&EauYd zlD7rzTi|!#gXyUUw+Xo%j9@XlgbIe_T5%2~e*KSo=TAZAnBZ$y8^05V`9AcRMj`9K z(%IR2>crC3Te^EN`PPLBTBRH{v1#}o&w8ca(xKC7{+S%Nx_*yjei z2Ztf$x7~pA42PG@hF{*90*czL5cSb4kYw%wc1bP-x&z20&Crw<4z;OP@E{`%GQPC~ zF|8WP@7%=Ppg*XpBY?qV!k&2ma_&CBybIimI|7);fvg|w_4z|6%+3TEeGA|-bkt=* zabi5kP7i~k+-y*=_d|*s-8ng_u?mioU6(9|D*h}kbg zOQQ((%?G%9XcJ%#5HM#1jDp>8aM4U?FZl(sPwq$G+XFRa5VTSc5+>uX-0e)Xz#z(3!!9k}@851sv&eewE|mzPa@+ie07w735MdiTFMyGw-t literal 0 HcmV?d00001 diff --git a/docs/contributing/.pages b/docs/contributing/.pages new file mode 100644 index 000000000..545a6ae75 --- /dev/null +++ b/docs/contributing/.pages @@ -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 diff --git a/docs/mkdocs_code_of_conduct.md b/docs/contributing/code_of_conduct.md similarity index 51% rename from docs/mkdocs_code_of_conduct.md rename to docs/contributing/code_of_conduct.md index 1d4307950..9b1d7bc1e 100644 --- a/docs/mkdocs_code_of_conduct.md +++ b/docs/contributing/code_of_conduct.md @@ -1,4 +1,8 @@ -# Code of Conduct +--- +title: Code of conduct +description: Code of conduct for engaging with the compliance trestle community +--- +# 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). diff --git a/docs/contributing/github_actions_setup.md b/docs/contributing/github_actions_setup.md index b3136f69f..a000faf15 100644 --- a/docs/contributing/github_actions_setup.md +++ b/docs/contributing/github_actions_setup.md @@ -1,7 +1,14 @@ +--- +title: Setting up GitHub actions +description: Setting up github actions for a fork of compliance trestle for development +--- + # Github actions setup Github actions contains variables which have opaque values to a user. -The variables are documented here such that trestle can be setup on a fork etc. +The variables are documented here such that trestle can be setup on a fork for independent development. +This is not required to open a pull request against the compliance-trestle project. +Project maintainers, after an initial review, will allow github actions workflows to run. ## Secrets @@ -9,11 +16,6 @@ The variables are documented here such that trestle can be setup on a fork etc. - `SONAR_TOKEN`: Token to sonarcloud with rights to the appropriate project. -## Repository level variables - -- `PYTHON_MIN`: Minimum test version of python e.g. `3.9` -- `PYTHON_MAX`: Maxmimum test version of python e.g. `3.11` - ## Authorization with pypi Pypi authorization must be setup following the procedure in the following documents diff --git a/docs/contributing/index.md b/docs/contributing/index.md new file mode 100644 index 000000000..64e74dcd9 --- /dev/null +++ b/docs/contributing/index.md @@ -0,0 +1,6 @@ +--- +title: Overview +description: "An overview of tools and processes for contributing to compliance-trestle" +--- + +{!CONTRIBUTING.md!} diff --git a/docs/contributing/maintainers.md b/docs/contributing/maintainers.md new file mode 100644 index 000000000..2d76357f8 --- /dev/null +++ b/docs/contributing/maintainers.md @@ -0,0 +1,6 @@ +--- +title: Maintainers +description: "The list of maintainers of compliance-trestle" +--- + +{!MAINTAINERS.md!} diff --git a/docs/contributing/mkdocs_contributing.md b/docs/contributing/mkdocs_contributing.md deleted file mode 100644 index 66e8e2b46..000000000 --- a/docs/contributing/mkdocs_contributing.md +++ /dev/null @@ -1 +0,0 @@ -{!CONTRIBUTING.md!} diff --git a/docs/contributing/trestle_oscal_object_model.md b/docs/contributing/oscal_object_model.md similarity index 97% rename from docs/contributing/trestle_oscal_object_model.md rename to docs/contributing/oscal_object_model.md index a77b47a4f..7f4c4ccf3 100644 --- a/docs/contributing/trestle_oscal_object_model.md +++ b/docs/contributing/oscal_object_model.md @@ -1,3 +1,8 @@ +--- +title: Trestle's oscal object model +description: How to use trestle as an object model for OSCAL +--- + # 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. diff --git a/docs/contributing/plugins.md b/docs/contributing/plugins.md index 89330caf6..d5296df62 100644 --- a/docs/contributing/plugins.md +++ b/docs/contributing/plugins.md @@ -1,3 +1,8 @@ +--- +title: Developing trestle plugins +description: Trestle provides a mechanism for 3rd party providers to extend its command interface via a plugin architecture. This describes to build a trestle plugin. +--- + # 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`. diff --git a/docs/contributing/website.md b/docs/contributing/website.md index 4dfbbc7c4..863cd34c3 100644 --- a/docs/contributing/website.md +++ b/docs/contributing/website.md @@ -1,3 +1,8 @@ +--- +title: Documentation website +description: Describes how to contribute to and build the documentation website for compliance trestle +--- + # 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. @@ -11,7 +16,6 @@ The current documentation website build reuses some of these files, specifically - Contents of `README.md` - Entirety of `LICENSE` - Entirety of `CONTRIBUTING.md` -- Entirety of `CODE_OF_CONDUCT.md` - Entirety of `CHANGELOG.md` - Entirely of `MAINTAINERS.md` - Entirely of `DCO1.1.txt` diff --git a/docs/demonstrations-content.md b/docs/demos.md similarity index 97% rename from docs/demonstrations-content.md rename to docs/demos.md index c2059d9ce..df5fa3ed3 100644 --- a/docs/demonstrations-content.md +++ b/docs/demos.md @@ -1,3 +1,8 @@ +--- +title: Demos +description: List of different demonstrations of compliance trestle +--- + # Trestle demonstration projects and content Trestle has a number of demonstrations setup in the diff --git a/docs/index.md b/docs/index.md index 3759cecaf..62b14bdc2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,3 +1,8 @@ +--- +title: Overview +description: Trestle is an ensemble of tools that enable the creation, validation, and governance of documentation artifacts for compliance needs +--- + # Compliance-trestle (also known as `trestle`) ![[OS Compatibility](#prerequisites)](https://img.shields.io/badge/platform-osx%20%7C%20linux%20%7C%20windows-orange.svg) @@ -77,12 +82,12 @@ Compliance trestle is currently stable and is based on NIST OSCAL version 1.0.4, ## Contributing to Trestle -Our project welcomes external contributions. Please consult [contributing](contributing/mkdocs_contributing.md) to get started. +Our project welcomes external contributions. Please consult [contributing](contributing/index.md) to get started. ## License & Authors If you would like to see the detailed LICENSE click [here](license.md). -Consult [contributors](https://github.com/oscal-compass/compliance-trestle/graphs/contributors) for a list of authors and [maintainers](maintainers.md) for the core team. +Consult [contributors](https://github.com/oscal-compass/compliance-trestle/graphs/contributors) for a list of authors and [maintainers](contributing/maintainers.md) for the core team. ```text # Copyright (c) 2024 The OSCAL Compass Authors. All rights reserved. diff --git a/docs/python_trestle_setup.md b/docs/installation.md similarity index 97% rename from docs/python_trestle_setup.md rename to docs/installation.md index c1853c7a1..45116ec9c 100644 --- a/docs/python_trestle_setup.md +++ b/docs/installation.md @@ -1,3 +1,8 @@ +--- +title: Installation +description: Instructions for installing compliance trestle with a python venv +--- + # Install trestle in a python virtual environment There are a few things you need to to start using trestle: diff --git a/docs/errors.md b/docs/known_limitations.md similarity index 70% rename from docs/errors.md rename to docs/known_limitations.md index 510451def..af85581ca 100644 --- a/docs/errors.md +++ b/docs/known_limitations.md @@ -1,3 +1,8 @@ +--- +title: Known Limitations +description: Known limitations of compliance trestle +--- + # Known errors and limitations ## utf-8 encoding only @@ -6,3 +11,7 @@ Trestle supports only utf8 as a file text-encoding. If non-utf8 files are encoun Trestle provides a [script](https://github.com/oscal-compass/compliance-trestle/blob/develop/scripts/utf8me.py) that may be used to convert files to utf8 in a destructive manner that may change the file contents. WARNING: This script is potentially destructive and may remove / damage content. Ensure you have a backup before use. + +## Single OSCAL release only + +Each version of compliance trestle is designed to support only one version of the OSCAL schema. diff --git a/docs/maintainers.md b/docs/maintainers.md deleted file mode 100644 index c279e3448..000000000 --- a/docs/maintainers.md +++ /dev/null @@ -1 +0,0 @@ -{!MAINTAINERS.md!} diff --git a/docs/plugins/compliance-trestle-fedramp.md b/docs/plugins/fedramp.md similarity index 93% rename from docs/plugins/compliance-trestle-fedramp.md rename to docs/plugins/fedramp.md index 843039eef..e94444339 100644 --- a/docs/plugins/compliance-trestle-fedramp.md +++ b/docs/plugins/fedramp.md @@ -1,3 +1,8 @@ +--- +title: FedRAMP plugin +description: Description of the compliance-trestle FedRAMP plugin for validating an SSP against the extended requirements for FedRAMP +--- + # 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. diff --git a/docs/reference/API/trestle/cli.md b/docs/reference/API/trestle/cli.md new file mode 100644 index 000000000..52f531c45 --- /dev/null +++ b/docs/reference/API/trestle/cli.md @@ -0,0 +1,7 @@ +--- +title: trestle.cli +description: Documentation for trestle.cli module +--- + +::: trestle.cli +handler: python diff --git a/docs/reference/API/trestle/common/common_types.md b/docs/reference/API/trestle/common/common_types.md new file mode 100644 index 000000000..a516d6ffc --- /dev/null +++ b/docs/reference/API/trestle/common/common_types.md @@ -0,0 +1,7 @@ +--- +title: trestle.common.common_types +description: Documentation for trestle.common.common_types module +--- + +::: trestle.common.common_types +handler: python diff --git a/docs/reference/API/trestle/common/const.md b/docs/reference/API/trestle/common/const.md new file mode 100644 index 000000000..7dcd34107 --- /dev/null +++ b/docs/reference/API/trestle/common/const.md @@ -0,0 +1,7 @@ +--- +title: trestle.common.const +description: Documentation for trestle.common.const module +--- + +::: trestle.common.const +handler: python diff --git a/docs/reference/API/trestle/common/err.md b/docs/reference/API/trestle/common/err.md new file mode 100644 index 000000000..712c641d2 --- /dev/null +++ b/docs/reference/API/trestle/common/err.md @@ -0,0 +1,7 @@ +--- +title: trestle.common.err +description: Documentation for trestle.common.err module +--- + +::: trestle.common.err +handler: python diff --git a/docs/reference/API/trestle/common/file_utils.md b/docs/reference/API/trestle/common/file_utils.md new file mode 100644 index 000000000..486307b96 --- /dev/null +++ b/docs/reference/API/trestle/common/file_utils.md @@ -0,0 +1,7 @@ +--- +title: trestle.common.file_utils +description: Documentation for trestle.common.file_utils module +--- + +::: trestle.common.file_utils +handler: python diff --git a/docs/reference/API/trestle/common/list_utils.md b/docs/reference/API/trestle/common/list_utils.md new file mode 100644 index 000000000..dae3c4d5b --- /dev/null +++ b/docs/reference/API/trestle/common/list_utils.md @@ -0,0 +1,7 @@ +--- +title: trestle.common.list_utils +description: Documentation for trestle.common.list_utils module +--- + +::: trestle.common.list_utils +handler: python diff --git a/docs/reference/API/trestle/common/load_validate.md b/docs/reference/API/trestle/common/load_validate.md new file mode 100644 index 000000000..5a6a1588f --- /dev/null +++ b/docs/reference/API/trestle/common/load_validate.md @@ -0,0 +1,7 @@ +--- +title: trestle.common.load_validate +description: Documentation for trestle.common.load_validate module +--- + +::: trestle.common.load_validate +handler: python diff --git a/docs/reference/API/trestle/common/log.md b/docs/reference/API/trestle/common/log.md new file mode 100644 index 000000000..98c64d1fa --- /dev/null +++ b/docs/reference/API/trestle/common/log.md @@ -0,0 +1,7 @@ +--- +title: trestle.common.log +description: Documentation for trestle.common.log module +--- + +::: trestle.common.log +handler: python diff --git a/docs/reference/API/trestle/common/model_utils.md b/docs/reference/API/trestle/common/model_utils.md new file mode 100644 index 000000000..f99ee651c --- /dev/null +++ b/docs/reference/API/trestle/common/model_utils.md @@ -0,0 +1,7 @@ +--- +title: trestle.common.model_utils +description: Documentation for trestle.common.model_utils module +--- + +::: trestle.common.model_utils +handler: python diff --git a/docs/reference/API/trestle/common/str_utils.md b/docs/reference/API/trestle/common/str_utils.md new file mode 100644 index 000000000..51171b122 --- /dev/null +++ b/docs/reference/API/trestle/common/str_utils.md @@ -0,0 +1,7 @@ +--- +title: trestle.common.str_utils +description: Documentation for trestle.common.str_utils module +--- + +::: trestle.common.str_utils +handler: python diff --git a/docs/reference/API/trestle/common/trash.md b/docs/reference/API/trestle/common/trash.md new file mode 100644 index 000000000..2755f5f12 --- /dev/null +++ b/docs/reference/API/trestle/common/trash.md @@ -0,0 +1,7 @@ +--- +title: trestle.common.trash +description: Documentation for trestle.common.trash module +--- + +::: trestle.common.trash +handler: python diff --git a/docs/reference/API/trestle/common/type_utils.md b/docs/reference/API/trestle/common/type_utils.md new file mode 100644 index 000000000..8d62d20b3 --- /dev/null +++ b/docs/reference/API/trestle/common/type_utils.md @@ -0,0 +1,7 @@ +--- +title: trestle.common.type_utils +description: Documentation for trestle.common.type_utils module +--- + +::: trestle.common.type_utils +handler: python diff --git a/docs/reference/API/trestle/core/all_validator.md b/docs/reference/API/trestle/core/all_validator.md new file mode 100644 index 000000000..b2d6026e1 --- /dev/null +++ b/docs/reference/API/trestle/core/all_validator.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.all_validator +description: Documentation for trestle.core.all_validator module +--- + +::: trestle.core.all_validator +handler: python diff --git a/docs/reference/API/trestle/core/base_model.md b/docs/reference/API/trestle/core/base_model.md new file mode 100644 index 000000000..c5edfe3c2 --- /dev/null +++ b/docs/reference/API/trestle/core/base_model.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.base_model +description: Documentation for trestle.core.base_model module +--- + +::: trestle.core.base_model +handler: python diff --git a/docs/reference/API/trestle/core/catalog/catalog_api.md b/docs/reference/API/trestle/core/catalog/catalog_api.md new file mode 100644 index 000000000..e3e592ba1 --- /dev/null +++ b/docs/reference/API/trestle/core/catalog/catalog_api.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.catalog.catalog_api +description: Documentation for trestle.core.catalog.catalog_api module +--- + +::: trestle.core.catalog.catalog_api +handler: python diff --git a/docs/reference/API/trestle/core/catalog/catalog_interface.md b/docs/reference/API/trestle/core/catalog/catalog_interface.md new file mode 100644 index 000000000..a9347c07b --- /dev/null +++ b/docs/reference/API/trestle/core/catalog/catalog_interface.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.catalog.catalog_interface +description: Documentation for trestle.core.catalog.catalog_interface module +--- + +::: trestle.core.catalog.catalog_interface +handler: python diff --git a/docs/reference/API/trestle/core/catalog/catalog_merger.md b/docs/reference/API/trestle/core/catalog/catalog_merger.md new file mode 100644 index 000000000..0620af375 --- /dev/null +++ b/docs/reference/API/trestle/core/catalog/catalog_merger.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.catalog.catalog_merger +description: Documentation for trestle.core.catalog.catalog_merger module +--- + +::: trestle.core.catalog.catalog_merger +handler: python diff --git a/docs/reference/API/trestle/core/catalog/catalog_reader.md b/docs/reference/API/trestle/core/catalog/catalog_reader.md new file mode 100644 index 000000000..f1751947c --- /dev/null +++ b/docs/reference/API/trestle/core/catalog/catalog_reader.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.catalog.catalog_reader +description: Documentation for trestle.core.catalog.catalog_reader module +--- + +::: trestle.core.catalog.catalog_reader +handler: python diff --git a/docs/reference/API/trestle/core/catalog/catalog_writer.md b/docs/reference/API/trestle/core/catalog/catalog_writer.md new file mode 100644 index 000000000..8e4ca1cbc --- /dev/null +++ b/docs/reference/API/trestle/core/catalog/catalog_writer.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.catalog.catalog_writer +description: Documentation for trestle.core.catalog.catalog_writer module +--- + +::: trestle.core.catalog.catalog_writer +handler: python diff --git a/docs/reference/API/trestle/core/catalog_validator.md b/docs/reference/API/trestle/core/catalog_validator.md new file mode 100644 index 000000000..c640d54ca --- /dev/null +++ b/docs/reference/API/trestle/core/catalog_validator.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.catalog_validator +description: Documentation for trestle.core.catalog_validator module +--- + +::: trestle.core.catalog_validator +handler: python diff --git a/docs/reference/API/trestle/core/commands/add.md b/docs/reference/API/trestle/core/commands/add.md new file mode 100644 index 000000000..268be418d --- /dev/null +++ b/docs/reference/API/trestle/core/commands/add.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.add +description: Documentation for trestle.core.commands.add module +--- + +::: trestle.core.commands.add +handler: python diff --git a/docs/reference/API/trestle/core/commands/assemble.md b/docs/reference/API/trestle/core/commands/assemble.md new file mode 100644 index 000000000..de74f904b --- /dev/null +++ b/docs/reference/API/trestle/core/commands/assemble.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.assemble +description: Documentation for trestle.core.commands.assemble module +--- + +::: trestle.core.commands.assemble +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/catalog.md b/docs/reference/API/trestle/core/commands/author/catalog.md new file mode 100644 index 000000000..d9e7b577c --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/catalog.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.catalog +description: Documentation for trestle.core.commands.author.catalog module +--- + +::: trestle.core.commands.author.catalog +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/command.md b/docs/reference/API/trestle/core/commands/author/command.md new file mode 100644 index 000000000..c3b12c357 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/command.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.command +description: Documentation for trestle.core.commands.author.command module +--- + +::: trestle.core.commands.author.command +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/common.md b/docs/reference/API/trestle/core/commands/author/common.md new file mode 100644 index 000000000..64177b3fb --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/common.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.common +description: Documentation for trestle.core.commands.author.common module +--- + +::: trestle.core.commands.author.common +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/component.md b/docs/reference/API/trestle/core/commands/author/component.md new file mode 100644 index 000000000..b86b01010 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/component.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.component +description: Documentation for trestle.core.commands.author.component module +--- + +::: trestle.core.commands.author.component +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/consts.md b/docs/reference/API/trestle/core/commands/author/consts.md new file mode 100644 index 000000000..28b2b82f9 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/consts.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.consts +description: Documentation for trestle.core.commands.author.consts module +--- + +::: trestle.core.commands.author.consts +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/docs.md b/docs/reference/API/trestle/core/commands/author/docs.md new file mode 100644 index 000000000..3d33d6b73 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/docs.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.docs +description: Documentation for trestle.core.commands.author.docs module +--- + +::: trestle.core.commands.author.docs +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/folders.md b/docs/reference/API/trestle/core/commands/author/folders.md new file mode 100644 index 000000000..9b8f70251 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/folders.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.folders +description: Documentation for trestle.core.commands.author.folders module +--- + +::: trestle.core.commands.author.folders +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/headers.md b/docs/reference/API/trestle/core/commands/author/headers.md new file mode 100644 index 000000000..f40580f15 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/headers.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.headers +description: Documentation for trestle.core.commands.author.headers module +--- + +::: trestle.core.commands.author.headers +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/jinja.md b/docs/reference/API/trestle/core/commands/author/jinja.md new file mode 100644 index 000000000..1725a6f55 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/jinja.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.jinja +description: Documentation for trestle.core.commands.author.jinja module +--- + +::: trestle.core.commands.author.jinja +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/prof.md b/docs/reference/API/trestle/core/commands/author/prof.md new file mode 100644 index 000000000..ed6f6772d --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/prof.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.prof +description: Documentation for trestle.core.commands.author.prof module +--- + +::: trestle.core.commands.author.prof +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/ssp.md b/docs/reference/API/trestle/core/commands/author/ssp.md new file mode 100644 index 000000000..cc451d5f4 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/ssp.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.ssp +description: Documentation for trestle.core.commands.author.ssp module +--- + +::: trestle.core.commands.author.ssp +handler: python diff --git a/docs/reference/API/trestle/core/commands/author/versioning/template_versioning.md b/docs/reference/API/trestle/core/commands/author/versioning/template_versioning.md new file mode 100644 index 000000000..b3b8cbcd6 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/author/versioning/template_versioning.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.author.versioning.template_versioning +description: Documentation for trestle.core.commands.author.versioning.template_versioning module +--- + +::: trestle.core.commands.author.versioning.template_versioning +handler: python diff --git a/docs/reference/API/trestle/core/commands/command_docs.md b/docs/reference/API/trestle/core/commands/command_docs.md new file mode 100644 index 000000000..537672f05 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/command_docs.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.command_docs +description: Documentation for trestle.core.commands.command_docs module +--- + +::: trestle.core.commands.command_docs +handler: python diff --git a/docs/reference/API/trestle/core/commands/common/cmd_utils.md b/docs/reference/API/trestle/core/commands/common/cmd_utils.md new file mode 100644 index 000000000..ef0d318e3 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/common/cmd_utils.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.common.cmd_utils +description: Documentation for trestle.core.commands.common.cmd_utils module +--- + +::: trestle.core.commands.common.cmd_utils +handler: python diff --git a/docs/reference/API/trestle/core/commands/common/return_codes.md b/docs/reference/API/trestle/core/commands/common/return_codes.md new file mode 100644 index 000000000..8e4707f4f --- /dev/null +++ b/docs/reference/API/trestle/core/commands/common/return_codes.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.common.return_codes +description: Documentation for trestle.core.commands.common.return_codes module +--- + +::: trestle.core.commands.common.return_codes +handler: python diff --git a/docs/reference/API/trestle/core/commands/create.md b/docs/reference/API/trestle/core/commands/create.md new file mode 100644 index 000000000..72d65f5ea --- /dev/null +++ b/docs/reference/API/trestle/core/commands/create.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.create +description: Documentation for trestle.core.commands.create module +--- + +::: trestle.core.commands.create +handler: python diff --git a/docs/reference/API/trestle/core/commands/describe.md b/docs/reference/API/trestle/core/commands/describe.md new file mode 100644 index 000000000..44054c896 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/describe.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.describe +description: Documentation for trestle.core.commands.describe module +--- + +::: trestle.core.commands.describe +handler: python diff --git a/docs/reference/API/trestle/core/commands/href.md b/docs/reference/API/trestle/core/commands/href.md new file mode 100644 index 000000000..04a2c33bd --- /dev/null +++ b/docs/reference/API/trestle/core/commands/href.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.href +description: Documentation for trestle.core.commands.href module +--- + +::: trestle.core.commands.href +handler: python diff --git a/docs/reference/API/trestle/core/commands/import_.md b/docs/reference/API/trestle/core/commands/import_.md new file mode 100644 index 000000000..0b53255cb --- /dev/null +++ b/docs/reference/API/trestle/core/commands/import_.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.import_ +description: Documentation for trestle.core.commands.import_ module +--- + +::: trestle.core.commands.import_ +handler: python diff --git a/docs/reference/API/trestle/core/commands/init.md b/docs/reference/API/trestle/core/commands/init.md new file mode 100644 index 000000000..d726a6124 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/init.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.init +description: Documentation for trestle.core.commands.init module +--- + +::: trestle.core.commands.init +handler: python diff --git a/docs/reference/API/trestle/core/commands/merge.md b/docs/reference/API/trestle/core/commands/merge.md new file mode 100644 index 000000000..a1adfbb14 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/merge.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.merge +description: Documentation for trestle.core.commands.merge module +--- + +::: trestle.core.commands.merge +handler: python diff --git a/docs/reference/API/trestle/core/commands/partial_object_validate.md b/docs/reference/API/trestle/core/commands/partial_object_validate.md new file mode 100644 index 000000000..e34ace028 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/partial_object_validate.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.partial_object_validate +description: Documentation for trestle.core.commands.partial_object_validate module +--- + +::: trestle.core.commands.partial_object_validate +handler: python diff --git a/docs/reference/API/trestle/core/commands/remove.md b/docs/reference/API/trestle/core/commands/remove.md new file mode 100644 index 000000000..3a6c388e5 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/remove.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.remove +description: Documentation for trestle.core.commands.remove module +--- + +::: trestle.core.commands.remove +handler: python diff --git a/docs/reference/API/trestle/core/commands/replicate.md b/docs/reference/API/trestle/core/commands/replicate.md new file mode 100644 index 000000000..dbbab2097 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/replicate.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.replicate +description: Documentation for trestle.core.commands.replicate module +--- + +::: trestle.core.commands.replicate +handler: python diff --git a/docs/reference/API/trestle/core/commands/split.md b/docs/reference/API/trestle/core/commands/split.md new file mode 100644 index 000000000..bbae5e5f8 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/split.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.split +description: Documentation for trestle.core.commands.split module +--- + +::: trestle.core.commands.split +handler: python diff --git a/docs/reference/API/trestle/core/commands/task.md b/docs/reference/API/trestle/core/commands/task.md new file mode 100644 index 000000000..97291b9da --- /dev/null +++ b/docs/reference/API/trestle/core/commands/task.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.task +description: Documentation for trestle.core.commands.task module +--- + +::: trestle.core.commands.task +handler: python diff --git a/docs/reference/API/trestle/core/commands/validate.md b/docs/reference/API/trestle/core/commands/validate.md new file mode 100644 index 000000000..ee61a0556 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/validate.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.validate +description: Documentation for trestle.core.commands.validate module +--- + +::: trestle.core.commands.validate +handler: python diff --git a/docs/reference/API/trestle/core/commands/version.md b/docs/reference/API/trestle/core/commands/version.md new file mode 100644 index 000000000..dd186c010 --- /dev/null +++ b/docs/reference/API/trestle/core/commands/version.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.commands.version +description: Documentation for trestle.core.commands.version module +--- + +::: trestle.core.commands.version +handler: python diff --git a/docs/reference/API/trestle/core/control_context.md b/docs/reference/API/trestle/core/control_context.md new file mode 100644 index 000000000..b38b9e9b9 --- /dev/null +++ b/docs/reference/API/trestle/core/control_context.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.control_context +description: Documentation for trestle.core.control_context module +--- + +::: trestle.core.control_context +handler: python diff --git a/docs/reference/API/trestle/core/control_interface.md b/docs/reference/API/trestle/core/control_interface.md new file mode 100644 index 000000000..2a9bb6f00 --- /dev/null +++ b/docs/reference/API/trestle/core/control_interface.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.control_interface +description: Documentation for trestle.core.control_interface module +--- + +::: trestle.core.control_interface +handler: python diff --git a/docs/reference/API/trestle/core/control_reader.md b/docs/reference/API/trestle/core/control_reader.md new file mode 100644 index 000000000..52d3700d2 --- /dev/null +++ b/docs/reference/API/trestle/core/control_reader.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.control_reader +description: Documentation for trestle.core.control_reader module +--- + +::: trestle.core.control_reader +handler: python diff --git a/docs/reference/API/trestle/core/control_writer.md b/docs/reference/API/trestle/core/control_writer.md new file mode 100644 index 000000000..ba75ce4e3 --- /dev/null +++ b/docs/reference/API/trestle/core/control_writer.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.control_writer +description: Documentation for trestle.core.control_writer module +--- + +::: trestle.core.control_writer +handler: python diff --git a/docs/reference/API/trestle/core/crm/bycomp_interface.md b/docs/reference/API/trestle/core/crm/bycomp_interface.md new file mode 100644 index 000000000..399a75e24 --- /dev/null +++ b/docs/reference/API/trestle/core/crm/bycomp_interface.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.crm.bycomp_interface +description: Documentation for trestle.core.crm.bycomp_interface module +--- + +::: trestle.core.crm.bycomp_interface +handler: python diff --git a/docs/reference/API/trestle/core/crm/export_reader.md b/docs/reference/API/trestle/core/crm/export_reader.md new file mode 100644 index 000000000..dd6cf807f --- /dev/null +++ b/docs/reference/API/trestle/core/crm/export_reader.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.crm.export_reader +description: Documentation for trestle.core.crm.export_reader module +--- + +::: trestle.core.crm.export_reader +handler: python diff --git a/docs/reference/API/trestle/core/crm/export_writer.md b/docs/reference/API/trestle/core/crm/export_writer.md new file mode 100644 index 000000000..4a061b8f6 --- /dev/null +++ b/docs/reference/API/trestle/core/crm/export_writer.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.crm.export_writer +description: Documentation for trestle.core.crm.export_writer module +--- + +::: trestle.core.crm.export_writer +handler: python diff --git a/docs/reference/API/trestle/core/crm/leveraged_statements.md b/docs/reference/API/trestle/core/crm/leveraged_statements.md new file mode 100644 index 000000000..5f1f57a38 --- /dev/null +++ b/docs/reference/API/trestle/core/crm/leveraged_statements.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.crm.leveraged_statements +description: Documentation for trestle.core.crm.leveraged_statements module +--- + +::: trestle.core.crm.leveraged_statements +handler: python diff --git a/docs/reference/API/trestle/core/crm/ssp_inheritance_api.md b/docs/reference/API/trestle/core/crm/ssp_inheritance_api.md new file mode 100644 index 000000000..5af6cc354 --- /dev/null +++ b/docs/reference/API/trestle/core/crm/ssp_inheritance_api.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.crm.ssp_inheritance_api +description: Documentation for trestle.core.crm.ssp_inheritance_api module +--- + +::: trestle.core.crm.ssp_inheritance_api +handler: python diff --git a/docs/reference/API/trestle/core/docs_control_writer.md b/docs/reference/API/trestle/core/docs_control_writer.md new file mode 100644 index 000000000..80f05feac --- /dev/null +++ b/docs/reference/API/trestle/core/docs_control_writer.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.docs_control_writer +description: Documentation for trestle.core.docs_control_writer module +--- + +::: trestle.core.docs_control_writer +handler: python diff --git a/docs/reference/API/trestle/core/draw_io.md b/docs/reference/API/trestle/core/draw_io.md new file mode 100644 index 000000000..749fd2f9e --- /dev/null +++ b/docs/reference/API/trestle/core/draw_io.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.draw_io +description: Documentation for trestle.core.draw_io module +--- + +::: trestle.core.draw_io +handler: python diff --git a/docs/reference/API/trestle/core/duplicates_validator.md b/docs/reference/API/trestle/core/duplicates_validator.md new file mode 100644 index 000000000..44d022032 --- /dev/null +++ b/docs/reference/API/trestle/core/duplicates_validator.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.duplicates_validator +description: Documentation for trestle.core.duplicates_validator module +--- + +::: trestle.core.duplicates_validator +handler: python diff --git a/docs/reference/API/trestle/core/generators.md b/docs/reference/API/trestle/core/generators.md new file mode 100644 index 000000000..858606dfa --- /dev/null +++ b/docs/reference/API/trestle/core/generators.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.generators +description: Documentation for trestle.core.generators module +--- + +::: trestle.core.generators +handler: python diff --git a/docs/reference/API/trestle/core/generic_oscal.md b/docs/reference/API/trestle/core/generic_oscal.md new file mode 100644 index 000000000..d2e45d496 --- /dev/null +++ b/docs/reference/API/trestle/core/generic_oscal.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.generic_oscal +description: Documentation for trestle.core.generic_oscal module +--- + +::: trestle.core.generic_oscal +handler: python diff --git a/docs/reference/API/trestle/core/jinja/base.md b/docs/reference/API/trestle/core/jinja/base.md new file mode 100644 index 000000000..8cb5fbbc6 --- /dev/null +++ b/docs/reference/API/trestle/core/jinja/base.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.jinja.base +description: Documentation for trestle.core.jinja.base module +--- + +::: trestle.core.jinja.base +handler: python diff --git a/docs/reference/API/trestle/core/jinja/ext.md b/docs/reference/API/trestle/core/jinja/ext.md new file mode 100644 index 000000000..82bf4a689 --- /dev/null +++ b/docs/reference/API/trestle/core/jinja/ext.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.jinja.ext +description: Documentation for trestle.core.jinja.ext module +--- + +::: trestle.core.jinja.ext +handler: python diff --git a/docs/reference/API/trestle/core/jinja/filters.md b/docs/reference/API/trestle/core/jinja/filters.md new file mode 100644 index 000000000..0c80bd197 --- /dev/null +++ b/docs/reference/API/trestle/core/jinja/filters.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.jinja.filters +description: Documentation for trestle.core.jinja.filters module +--- + +::: trestle.core.jinja.filters +handler: python diff --git a/docs/reference/API/trestle/core/jinja/tags.md b/docs/reference/API/trestle/core/jinja/tags.md new file mode 100644 index 000000000..a3d7ca0df --- /dev/null +++ b/docs/reference/API/trestle/core/jinja/tags.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.jinja.tags +description: Documentation for trestle.core.jinja.tags module +--- + +::: trestle.core.jinja.tags +handler: python diff --git a/docs/reference/API/trestle/core/links_validator.md b/docs/reference/API/trestle/core/links_validator.md new file mode 100644 index 000000000..9ec13ac58 --- /dev/null +++ b/docs/reference/API/trestle/core/links_validator.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.links_validator +description: Documentation for trestle.core.links_validator module +--- + +::: trestle.core.links_validator +handler: python diff --git a/docs/reference/API/trestle/core/markdown/base_markdown_node.md b/docs/reference/API/trestle/core/markdown/base_markdown_node.md new file mode 100644 index 000000000..1f58a0b71 --- /dev/null +++ b/docs/reference/API/trestle/core/markdown/base_markdown_node.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.markdown.base_markdown_node +description: Documentation for trestle.core.markdown.base_markdown_node module +--- + +::: trestle.core.markdown.base_markdown_node +handler: python diff --git a/docs/reference/API/trestle/core/markdown/control_markdown_node.md b/docs/reference/API/trestle/core/markdown/control_markdown_node.md new file mode 100644 index 000000000..eeaf7c622 --- /dev/null +++ b/docs/reference/API/trestle/core/markdown/control_markdown_node.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.markdown.control_markdown_node +description: Documentation for trestle.core.markdown.control_markdown_node module +--- + +::: trestle.core.markdown.control_markdown_node +handler: python diff --git a/docs/reference/API/trestle/core/markdown/docs_markdown_node.md b/docs/reference/API/trestle/core/markdown/docs_markdown_node.md new file mode 100644 index 000000000..f1b0be681 --- /dev/null +++ b/docs/reference/API/trestle/core/markdown/docs_markdown_node.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.markdown.docs_markdown_node +description: Documentation for trestle.core.markdown.docs_markdown_node module +--- + +::: trestle.core.markdown.docs_markdown_node +handler: python diff --git a/docs/reference/API/trestle/core/markdown/markdown_api.md b/docs/reference/API/trestle/core/markdown/markdown_api.md new file mode 100644 index 000000000..c4ef59ecb --- /dev/null +++ b/docs/reference/API/trestle/core/markdown/markdown_api.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.markdown.markdown_api +description: Documentation for trestle.core.markdown.markdown_api module +--- + +::: trestle.core.markdown.markdown_api +handler: python diff --git a/docs/reference/API/trestle/core/markdown/markdown_const.md b/docs/reference/API/trestle/core/markdown/markdown_const.md new file mode 100644 index 000000000..d3b90f8a9 --- /dev/null +++ b/docs/reference/API/trestle/core/markdown/markdown_const.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.markdown.markdown_const +description: Documentation for trestle.core.markdown.markdown_const module +--- + +::: trestle.core.markdown.markdown_const +handler: python diff --git a/docs/reference/API/trestle/core/markdown/markdown_processor.md b/docs/reference/API/trestle/core/markdown/markdown_processor.md new file mode 100644 index 000000000..a6dfc0d17 --- /dev/null +++ b/docs/reference/API/trestle/core/markdown/markdown_processor.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.markdown.markdown_processor +description: Documentation for trestle.core.markdown.markdown_processor module +--- + +::: trestle.core.markdown.markdown_processor +handler: python diff --git a/docs/reference/API/trestle/core/markdown/markdown_validator.md b/docs/reference/API/trestle/core/markdown/markdown_validator.md new file mode 100644 index 000000000..4a0d61f7d --- /dev/null +++ b/docs/reference/API/trestle/core/markdown/markdown_validator.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.markdown.markdown_validator +description: Documentation for trestle.core.markdown.markdown_validator module +--- + +::: trestle.core.markdown.markdown_validator +handler: python diff --git a/docs/reference/API/trestle/core/markdown/md_writer.md b/docs/reference/API/trestle/core/markdown/md_writer.md new file mode 100644 index 000000000..04fa48286 --- /dev/null +++ b/docs/reference/API/trestle/core/markdown/md_writer.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.markdown.md_writer +description: Documentation for trestle.core.markdown.md_writer module +--- + +::: trestle.core.markdown.md_writer +handler: python diff --git a/docs/reference/API/trestle/core/models/actions.md b/docs/reference/API/trestle/core/models/actions.md new file mode 100644 index 000000000..9217933c9 --- /dev/null +++ b/docs/reference/API/trestle/core/models/actions.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.models.actions +description: Documentation for trestle.core.models.actions module +--- + +::: trestle.core.models.actions +handler: python diff --git a/docs/reference/API/trestle/core/models/elements.md b/docs/reference/API/trestle/core/models/elements.md new file mode 100644 index 000000000..ef313bb12 --- /dev/null +++ b/docs/reference/API/trestle/core/models/elements.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.models.elements +description: Documentation for trestle.core.models.elements module +--- + +::: trestle.core.models.elements +handler: python diff --git a/docs/reference/API/trestle/core/models/file_content_type.md b/docs/reference/API/trestle/core/models/file_content_type.md new file mode 100644 index 000000000..5224671ea --- /dev/null +++ b/docs/reference/API/trestle/core/models/file_content_type.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.models.file_content_type +description: Documentation for trestle.core.models.file_content_type module +--- + +::: trestle.core.models.file_content_type +handler: python diff --git a/docs/reference/API/trestle/core/models/interfaces.md b/docs/reference/API/trestle/core/models/interfaces.md new file mode 100644 index 000000000..b75612fa0 --- /dev/null +++ b/docs/reference/API/trestle/core/models/interfaces.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.models.interfaces +description: Documentation for trestle.core.models.interfaces module +--- + +::: trestle.core.models.interfaces +handler: python diff --git a/docs/reference/API/trestle/core/models/plans.md b/docs/reference/API/trestle/core/models/plans.md new file mode 100644 index 000000000..8e642b7f9 --- /dev/null +++ b/docs/reference/API/trestle/core/models/plans.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.models.plans +description: Documentation for trestle.core.models.plans module +--- + +::: trestle.core.models.plans +handler: python diff --git a/docs/reference/API/trestle/core/object_factory.md b/docs/reference/API/trestle/core/object_factory.md new file mode 100644 index 000000000..b6cc6e2d1 --- /dev/null +++ b/docs/reference/API/trestle/core/object_factory.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.object_factory +description: Documentation for trestle.core.object_factory module +--- + +::: trestle.core.object_factory +handler: python diff --git a/docs/reference/API/trestle/core/parser.md b/docs/reference/API/trestle/core/parser.md new file mode 100644 index 000000000..ee3edbacd --- /dev/null +++ b/docs/reference/API/trestle/core/parser.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.parser +description: Documentation for trestle.core.parser module +--- + +::: trestle.core.parser +handler: python diff --git a/docs/reference/API/trestle/core/pipeline.md b/docs/reference/API/trestle/core/pipeline.md new file mode 100644 index 000000000..e927a3092 --- /dev/null +++ b/docs/reference/API/trestle/core/pipeline.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.pipeline +description: Documentation for trestle.core.pipeline module +--- + +::: trestle.core.pipeline +handler: python diff --git a/docs/reference/API/trestle/core/plugins.md b/docs/reference/API/trestle/core/plugins.md new file mode 100644 index 000000000..83e8d87c3 --- /dev/null +++ b/docs/reference/API/trestle/core/plugins.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.plugins +description: Documentation for trestle.core.plugins module +--- + +::: trestle.core.plugins +handler: python diff --git a/docs/reference/API/trestle/core/profile_resolver.md b/docs/reference/API/trestle/core/profile_resolver.md new file mode 100644 index 000000000..ed1433861 --- /dev/null +++ b/docs/reference/API/trestle/core/profile_resolver.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.profile_resolver +description: Documentation for trestle.core.profile_resolver module +--- + +::: trestle.core.profile_resolver +handler: python diff --git a/docs/reference/API/trestle/core/refs_validator.md b/docs/reference/API/trestle/core/refs_validator.md new file mode 100644 index 000000000..b33b24e2f --- /dev/null +++ b/docs/reference/API/trestle/core/refs_validator.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.refs_validator +description: Documentation for trestle.core.refs_validator module +--- + +::: trestle.core.refs_validator +handler: python diff --git a/docs/reference/API/trestle/core/remote/cache.md b/docs/reference/API/trestle/core/remote/cache.md new file mode 100644 index 000000000..6448e33f3 --- /dev/null +++ b/docs/reference/API/trestle/core/remote/cache.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.remote.cache +description: Documentation for trestle.core.remote.cache module +--- + +::: trestle.core.remote.cache +handler: python diff --git a/docs/reference/API/trestle/core/repository.md b/docs/reference/API/trestle/core/repository.md new file mode 100644 index 000000000..3ae3c0864 --- /dev/null +++ b/docs/reference/API/trestle/core/repository.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.repository +description: Documentation for trestle.core.repository module +--- + +::: trestle.core.repository +handler: python diff --git a/docs/reference/API/trestle/core/resolver/merge.md b/docs/reference/API/trestle/core/resolver/merge.md new file mode 100644 index 000000000..634b5bb22 --- /dev/null +++ b/docs/reference/API/trestle/core/resolver/merge.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.resolver.merge +description: Documentation for trestle.core.resolver.merge module +--- + +::: trestle.core.resolver.merge +handler: python diff --git a/docs/reference/API/trestle/core/resolver/modify.md b/docs/reference/API/trestle/core/resolver/modify.md new file mode 100644 index 000000000..912888772 --- /dev/null +++ b/docs/reference/API/trestle/core/resolver/modify.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.resolver.modify +description: Documentation for trestle.core.resolver.modify module +--- + +::: trestle.core.resolver.modify +handler: python diff --git a/docs/reference/API/trestle/core/resolver/prune.md b/docs/reference/API/trestle/core/resolver/prune.md new file mode 100644 index 000000000..01280d6ea --- /dev/null +++ b/docs/reference/API/trestle/core/resolver/prune.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.resolver.prune +description: Documentation for trestle.core.resolver.prune module +--- + +::: trestle.core.resolver.prune +handler: python diff --git a/docs/reference/API/trestle/core/rule_parameters_validator.md b/docs/reference/API/trestle/core/rule_parameters_validator.md new file mode 100644 index 000000000..a27ea98d7 --- /dev/null +++ b/docs/reference/API/trestle/core/rule_parameters_validator.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.rule_parameters_validator +description: Documentation for trestle.core.rule_parameters_validator module +--- + +::: trestle.core.rule_parameters_validator +handler: python diff --git a/docs/reference/API/trestle/core/ssp_io.md b/docs/reference/API/trestle/core/ssp_io.md new file mode 100644 index 000000000..3670e2e3a --- /dev/null +++ b/docs/reference/API/trestle/core/ssp_io.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.ssp_io +description: Documentation for trestle.core.ssp_io module +--- + +::: trestle.core.ssp_io +handler: python diff --git a/docs/reference/API/trestle/core/trestle_base_model.md b/docs/reference/API/trestle/core/trestle_base_model.md new file mode 100644 index 000000000..a9e985612 --- /dev/null +++ b/docs/reference/API/trestle/core/trestle_base_model.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.trestle_base_model +description: Documentation for trestle.core.trestle_base_model module +--- + +::: trestle.core.trestle_base_model +handler: python diff --git a/docs/reference/API/trestle/core/validator.md b/docs/reference/API/trestle/core/validator.md new file mode 100644 index 000000000..9f20deebe --- /dev/null +++ b/docs/reference/API/trestle/core/validator.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.validator +description: Documentation for trestle.core.validator module +--- + +::: trestle.core.validator +handler: python diff --git a/docs/reference/API/trestle/core/validator_factory.md b/docs/reference/API/trestle/core/validator_factory.md new file mode 100644 index 000000000..72ce90658 --- /dev/null +++ b/docs/reference/API/trestle/core/validator_factory.md @@ -0,0 +1,7 @@ +--- +title: trestle.core.validator_factory +description: Documentation for trestle.core.validator_factory module +--- + +::: trestle.core.validator_factory +handler: python diff --git a/docs/reference/API/trestle/oscal/assessment_plan.md b/docs/reference/API/trestle/oscal/assessment_plan.md new file mode 100644 index 000000000..a22aa3f0c --- /dev/null +++ b/docs/reference/API/trestle/oscal/assessment_plan.md @@ -0,0 +1,7 @@ +--- +title: trestle.oscal.assessment_plan +description: Documentation for trestle.oscal.assessment_plan module +--- + +::: trestle.oscal.assessment_plan +handler: python diff --git a/docs/reference/API/trestle/oscal/assessment_results.md b/docs/reference/API/trestle/oscal/assessment_results.md new file mode 100644 index 000000000..a90b6a95d --- /dev/null +++ b/docs/reference/API/trestle/oscal/assessment_results.md @@ -0,0 +1,7 @@ +--- +title: trestle.oscal.assessment_results +description: Documentation for trestle.oscal.assessment_results module +--- + +::: trestle.oscal.assessment_results +handler: python diff --git a/docs/reference/API/trestle/oscal/catalog.md b/docs/reference/API/trestle/oscal/catalog.md new file mode 100644 index 000000000..663ce269b --- /dev/null +++ b/docs/reference/API/trestle/oscal/catalog.md @@ -0,0 +1,7 @@ +--- +title: trestle.oscal.catalog +description: Documentation for trestle.oscal.catalog module +--- + +::: trestle.oscal.catalog +handler: python diff --git a/docs/reference/API/trestle/oscal/common.md b/docs/reference/API/trestle/oscal/common.md new file mode 100644 index 000000000..4ea6093bd --- /dev/null +++ b/docs/reference/API/trestle/oscal/common.md @@ -0,0 +1,7 @@ +--- +title: trestle.oscal.common +description: Documentation for trestle.oscal.common module +--- + +::: trestle.oscal.common +handler: python diff --git a/docs/reference/API/trestle/oscal/component.md b/docs/reference/API/trestle/oscal/component.md new file mode 100644 index 000000000..f07d571a8 --- /dev/null +++ b/docs/reference/API/trestle/oscal/component.md @@ -0,0 +1,7 @@ +--- +title: trestle.oscal.component +description: Documentation for trestle.oscal.component module +--- + +::: trestle.oscal.component +handler: python diff --git a/docs/reference/API/trestle/oscal/poam.md b/docs/reference/API/trestle/oscal/poam.md new file mode 100644 index 000000000..385c3e7d0 --- /dev/null +++ b/docs/reference/API/trestle/oscal/poam.md @@ -0,0 +1,7 @@ +--- +title: trestle.oscal.poam +description: Documentation for trestle.oscal.poam module +--- + +::: trestle.oscal.poam +handler: python diff --git a/docs/reference/API/trestle/oscal/profile.md b/docs/reference/API/trestle/oscal/profile.md new file mode 100644 index 000000000..22e07a01f --- /dev/null +++ b/docs/reference/API/trestle/oscal/profile.md @@ -0,0 +1,7 @@ +--- +title: trestle.oscal.profile +description: Documentation for trestle.oscal.profile module +--- + +::: trestle.oscal.profile +handler: python diff --git a/docs/reference/API/trestle/oscal/ssp.md b/docs/reference/API/trestle/oscal/ssp.md new file mode 100644 index 000000000..f0d3eebcb --- /dev/null +++ b/docs/reference/API/trestle/oscal/ssp.md @@ -0,0 +1,7 @@ +--- +title: trestle.oscal.ssp +description: Documentation for trestle.oscal.ssp module +--- + +::: trestle.oscal.ssp +handler: python diff --git a/docs/reference/API/trestle/tasks/base_task.md b/docs/reference/API/trestle/tasks/base_task.md new file mode 100644 index 000000000..4dfde48b5 --- /dev/null +++ b/docs/reference/API/trestle/tasks/base_task.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.base_task +description: Documentation for trestle.tasks.base_task module +--- + +::: trestle.tasks.base_task +handler: python diff --git a/docs/reference/API/trestle/tasks/cis_xlsx_to_oscal_catalog.md b/docs/reference/API/trestle/tasks/cis_xlsx_to_oscal_catalog.md new file mode 100644 index 000000000..0d432b2f9 --- /dev/null +++ b/docs/reference/API/trestle/tasks/cis_xlsx_to_oscal_catalog.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.cis_xlsx_to_oscal_catalog +description: Documentation for trestle.tasks.cis_xlsx_to_oscal_catalog module +--- + +::: trestle.tasks.cis_xlsx_to_oscal_catalog +handler: python diff --git a/docs/reference/API/trestle/tasks/csv_to_oscal_cd.md b/docs/reference/API/trestle/tasks/csv_to_oscal_cd.md new file mode 100644 index 000000000..9c8b3ee56 --- /dev/null +++ b/docs/reference/API/trestle/tasks/csv_to_oscal_cd.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.csv_to_oscal_cd +description: Documentation for trestle.tasks.csv_to_oscal_cd module +--- + +::: trestle.tasks.csv_to_oscal_cd +handler: python diff --git a/docs/reference/API/trestle/tasks/ocp4_cis_profile_to_oscal_catalog.md b/docs/reference/API/trestle/tasks/ocp4_cis_profile_to_oscal_catalog.md new file mode 100644 index 000000000..da53a4c93 --- /dev/null +++ b/docs/reference/API/trestle/tasks/ocp4_cis_profile_to_oscal_catalog.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.ocp4_cis_profile_to_oscal_catalog +description: Documentation for trestle.tasks.ocp4_cis_profile_to_oscal_catalog module +--- + +::: trestle.tasks.ocp4_cis_profile_to_oscal_catalog +handler: python diff --git a/docs/reference/API/trestle/tasks/ocp4_cis_profile_to_oscal_cd.md b/docs/reference/API/trestle/tasks/ocp4_cis_profile_to_oscal_cd.md new file mode 100644 index 000000000..75cbee5f7 --- /dev/null +++ b/docs/reference/API/trestle/tasks/ocp4_cis_profile_to_oscal_cd.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.ocp4_cis_profile_to_oscal_cd +description: Documentation for trestle.tasks.ocp4_cis_profile_to_oscal_cd module +--- + +::: trestle.tasks.ocp4_cis_profile_to_oscal_cd +handler: python diff --git a/docs/reference/API/trestle/tasks/oscal_catalog_to_csv.md b/docs/reference/API/trestle/tasks/oscal_catalog_to_csv.md new file mode 100644 index 000000000..e055609d3 --- /dev/null +++ b/docs/reference/API/trestle/tasks/oscal_catalog_to_csv.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.oscal_catalog_to_csv +description: Documentation for trestle.tasks.oscal_catalog_to_csv module +--- + +::: trestle.tasks.oscal_catalog_to_csv +handler: python diff --git a/docs/reference/API/trestle/tasks/oscal_profile_to_osco_profile.md b/docs/reference/API/trestle/tasks/oscal_profile_to_osco_profile.md new file mode 100644 index 000000000..0f4c529e4 --- /dev/null +++ b/docs/reference/API/trestle/tasks/oscal_profile_to_osco_profile.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.oscal_profile_to_osco_profile +description: Documentation for trestle.tasks.oscal_profile_to_osco_profile module +--- + +::: trestle.tasks.oscal_profile_to_osco_profile +handler: python diff --git a/docs/reference/API/trestle/tasks/osco_result_to_oscal_ar.md b/docs/reference/API/trestle/tasks/osco_result_to_oscal_ar.md new file mode 100644 index 000000000..355d80dde --- /dev/null +++ b/docs/reference/API/trestle/tasks/osco_result_to_oscal_ar.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.osco_result_to_oscal_ar +description: Documentation for trestle.tasks.osco_result_to_oscal_ar module +--- + +::: trestle.tasks.osco_result_to_oscal_ar +handler: python diff --git a/docs/reference/API/trestle/tasks/tanium_result_to_oscal_ar.md b/docs/reference/API/trestle/tasks/tanium_result_to_oscal_ar.md new file mode 100644 index 000000000..d15e63ac2 --- /dev/null +++ b/docs/reference/API/trestle/tasks/tanium_result_to_oscal_ar.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.tanium_result_to_oscal_ar +description: Documentation for trestle.tasks.tanium_result_to_oscal_ar module +--- + +::: trestle.tasks.tanium_result_to_oscal_ar +handler: python diff --git a/docs/reference/API/trestle/tasks/transform.md b/docs/reference/API/trestle/tasks/transform.md new file mode 100644 index 000000000..4e0a0576b --- /dev/null +++ b/docs/reference/API/trestle/tasks/transform.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.transform +description: Documentation for trestle.tasks.transform module +--- + +::: trestle.tasks.transform +handler: python diff --git a/docs/reference/API/trestle/tasks/xccdf_result_to_oscal_ar.md b/docs/reference/API/trestle/tasks/xccdf_result_to_oscal_ar.md new file mode 100644 index 000000000..7bf1edf6f --- /dev/null +++ b/docs/reference/API/trestle/tasks/xccdf_result_to_oscal_ar.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.xccdf_result_to_oscal_ar +description: Documentation for trestle.tasks.xccdf_result_to_oscal_ar module +--- + +::: trestle.tasks.xccdf_result_to_oscal_ar +handler: python diff --git a/docs/reference/API/trestle/tasks/xlsx_helper.md b/docs/reference/API/trestle/tasks/xlsx_helper.md new file mode 100644 index 000000000..94bdff7b2 --- /dev/null +++ b/docs/reference/API/trestle/tasks/xlsx_helper.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.xlsx_helper +description: Documentation for trestle.tasks.xlsx_helper module +--- + +::: trestle.tasks.xlsx_helper +handler: python diff --git a/docs/reference/API/trestle/tasks/xlsx_to_oscal_cd.md b/docs/reference/API/trestle/tasks/xlsx_to_oscal_cd.md new file mode 100644 index 000000000..10ac4202d --- /dev/null +++ b/docs/reference/API/trestle/tasks/xlsx_to_oscal_cd.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.xlsx_to_oscal_cd +description: Documentation for trestle.tasks.xlsx_to_oscal_cd module +--- + +::: trestle.tasks.xlsx_to_oscal_cd +handler: python diff --git a/docs/reference/API/trestle/tasks/xlsx_to_oscal_profile.md b/docs/reference/API/trestle/tasks/xlsx_to_oscal_profile.md new file mode 100644 index 000000000..4302b2ff5 --- /dev/null +++ b/docs/reference/API/trestle/tasks/xlsx_to_oscal_profile.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.xlsx_to_oscal_profile +description: Documentation for trestle.tasks.xlsx_to_oscal_profile module +--- + +::: trestle.tasks.xlsx_to_oscal_profile +handler: python diff --git a/docs/reference/API/trestle/transforms/implementations/osco.md b/docs/reference/API/trestle/transforms/implementations/osco.md new file mode 100644 index 000000000..8406ece5d --- /dev/null +++ b/docs/reference/API/trestle/transforms/implementations/osco.md @@ -0,0 +1,7 @@ +--- +title: trestle.transforms.implementations.osco +description: Documentation for trestle.transforms.implementations.osco module +--- + +::: trestle.transforms.implementations.osco +handler: python diff --git a/docs/reference/API/trestle/transforms/implementations/tanium.md b/docs/reference/API/trestle/transforms/implementations/tanium.md new file mode 100644 index 000000000..1d57cf2da --- /dev/null +++ b/docs/reference/API/trestle/transforms/implementations/tanium.md @@ -0,0 +1,7 @@ +--- +title: trestle.transforms.implementations.tanium +description: Documentation for trestle.transforms.implementations.tanium module +--- + +::: trestle.transforms.implementations.tanium +handler: python diff --git a/docs/reference/API/trestle/transforms/implementations/xccdf.md b/docs/reference/API/trestle/transforms/implementations/xccdf.md new file mode 100644 index 000000000..5b44401d5 --- /dev/null +++ b/docs/reference/API/trestle/transforms/implementations/xccdf.md @@ -0,0 +1,7 @@ +--- +title: trestle.transforms.implementations.xccdf +description: Documentation for trestle.transforms.implementations.xccdf module +--- + +::: trestle.transforms.implementations.xccdf +handler: python diff --git a/docs/reference/API/trestle/transforms/results.md b/docs/reference/API/trestle/transforms/results.md new file mode 100644 index 000000000..44bdf4e19 --- /dev/null +++ b/docs/reference/API/trestle/transforms/results.md @@ -0,0 +1,7 @@ +--- +title: trestle.transforms.results +description: Documentation for trestle.transforms.results module +--- + +::: trestle.transforms.results +handler: python diff --git a/docs/reference/API/trestle/transforms/transformer_factory.md b/docs/reference/API/trestle/transforms/transformer_factory.md new file mode 100644 index 000000000..dce05f599 --- /dev/null +++ b/docs/reference/API/trestle/transforms/transformer_factory.md @@ -0,0 +1,7 @@ +--- +title: trestle.transforms.transformer_factory +description: Documentation for trestle.transforms.transformer_factory module +--- + +::: trestle.transforms.transformer_factory +handler: python diff --git a/docs/reference/API/trestle/transforms/transformer_helper.md b/docs/reference/API/trestle/transforms/transformer_helper.md new file mode 100644 index 000000000..6d2565feb --- /dev/null +++ b/docs/reference/API/trestle/transforms/transformer_helper.md @@ -0,0 +1,7 @@ +--- +title: trestle.transforms.transformer_helper +description: Documentation for trestle.transforms.transformer_helper module +--- + +::: trestle.transforms.transformer_helper +handler: python diff --git a/docs/reference/API/trestle/transforms/transformer_singleton.md b/docs/reference/API/trestle/transforms/transformer_singleton.md new file mode 100644 index 000000000..f06c63a0c --- /dev/null +++ b/docs/reference/API/trestle/transforms/transformer_singleton.md @@ -0,0 +1,7 @@ +--- +title: trestle.transforms.transformer_singleton +description: Documentation for trestle.transforms.transformer_singleton module +--- + +::: trestle.transforms.transformer_singleton +handler: python diff --git a/docs/reference/third-party-result-schema-SCC.md b/docs/reference/third-party-result-schema-IBM-SCC.md similarity index 98% rename from docs/reference/third-party-result-schema-SCC.md rename to docs/reference/third-party-result-schema-IBM-SCC.md index 57dddbaac..5224103f4 100644 --- a/docs/reference/third-party-result-schema-SCC.md +++ b/docs/reference/third-party-result-schema-IBM-SCC.md @@ -1,3 +1,8 @@ +--- +title: IBM SCC assessment results integration +description: Description of how to use trestle to interchange results with IBM Cloud Security and Compliance Center +--- + # 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. diff --git a/docs/tutorials/task.ocp4-cis-profile-to-oscal-catalog/transformation.md b/docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_catalog.md similarity index 98% rename from docs/tutorials/task.ocp4-cis-profile-to-oscal-catalog/transformation.md rename to docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_catalog.md index 00a669a2e..13852b49b 100644 --- a/docs/tutorials/task.ocp4-cis-profile-to-oscal-catalog/transformation.md +++ b/docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_catalog.md @@ -1,8 +1,13 @@ +--- +title: ComplianceAsCode profiles to OSCAL catalog +description: Converting compliance as code profiles into an OSCAL catalog with compliance-trestle +--- + # 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. -## *Objective* +## Objective How to transform one or more `.profile` compliance files into a standardized `OSCAL.json` file. @@ -10,11 +15,11 @@ There are 2 short steps shown below. The first is a one-time check/set-up of your environment. The second is a one-command transformation from `.profile` to `OSCAL.json`. -## *Step 1: Install trestle in a Python virtual environment* +## Step 1: Install trestle in a Python virtual environment -Follow the instructions [here](../../python_trestle_setup.md) to install trestle in a virtual environment. +Follow the instructions [here](../../installation.md) to install trestle in a virtual environment. -## *Step 2: Transform profile data (CIS benchmarks)* +## Step 2: Transform profile data (CIS benchmarks) Linux, Mac diff --git a/docs/tutorials/task.ocp4-cis-profile-to-oscal-catalog/demo-ocp4-cis-profile-to-oscal-catalog.config b/docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_catalog/demo-ocp4-cis-profile-to-oscal-catalog.config similarity index 100% rename from docs/tutorials/task.ocp4-cis-profile-to-oscal-catalog/demo-ocp4-cis-profile-to-oscal-catalog.config rename to docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_catalog/demo-ocp4-cis-profile-to-oscal-catalog.config diff --git a/docs/tutorials/task.ocp4-cis-profile-to-oscal-cd/transformation.md b/docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd.md similarity index 98% rename from docs/tutorials/task.ocp4-cis-profile-to-oscal-cd/transformation.md rename to docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd.md index 58dcef079..119647497 100644 --- a/docs/tutorials/task.ocp4-cis-profile-to-oscal-cd/transformation.md +++ b/docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd.md @@ -1,8 +1,13 @@ +--- +title: Converting ComplianceAsCode profiles to component definitions +description: Tutorial on converting ComplianceAsCode profiles to OSCAL component definitions +--- + # 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. -## *Objective* +## Objective How to transform one or more `.profile` compliance files into a standardized `OSCAL.json` file. @@ -10,11 +15,11 @@ There are 2 short steps shown below. The first is a one-time check/set-up of your environment. The second is a one-command transformation from `.profile` to `OSCAL.json`. -## *Step 1: Install trestle in a Python virtual environment* +## Step 1: Install trestle in a Python virtual environment Follow the instructions [here](https://oscal-compass.github.io/compliance-trestle/python_trestle_setup/) to install trestle in a virtual environment. -## *Step 2: Transform profile data (CIS benchmarks)* +## Step 2: Transform profile data (CIS benchmarks) Linux, Mac diff --git a/docs/tutorials/task.ocp4-cis-profile-to-oscal-cd/demo-ocp4-cis-profile-to-oscal-cd.config b/docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd/demo-ocp4-cis-profile-to-oscal-cd.config similarity index 100% rename from docs/tutorials/task.ocp4-cis-profile-to-oscal-cd/demo-ocp4-cis-profile-to-oscal-cd.config rename to docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd/demo-ocp4-cis-profile-to-oscal-cd.config diff --git a/docs/tutorials/task.ocp4-cis-profile-to-oscal-cd/enabled_rules.json b/docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd/enabled_rules.json similarity index 100% rename from docs/tutorials/task.ocp4-cis-profile-to-oscal-cd/enabled_rules.json rename to docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd/enabled_rules.json diff --git a/docs/tutorials/task.ocp4-cis-profile-to-oscal-cd/selected_rules.json b/docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd/selected_rules.json similarity index 100% rename from docs/tutorials/task.ocp4-cis-profile-to-oscal-cd/selected_rules.json rename to docs/tutorials/Transformers_and_Tasks/OCP4_CIS_profile_to_oscal_cd/selected_rules.json diff --git a/docs/tutorials/task.tanium-result-to-oscal-ar/transformation.md b/docs/tutorials/Transformers_and_Tasks/Tanium_result_to_oscal_ar.md similarity index 98% rename from docs/tutorials/task.tanium-result-to-oscal-ar/transformation.md rename to docs/tutorials/Transformers_and_Tasks/Tanium_result_to_oscal_ar.md index 844984619..2497bcab4 100644 --- a/docs/tutorials/task.tanium-result-to-oscal-ar/transformation.md +++ b/docs/tutorials/Transformers_and_Tasks/Tanium_result_to_oscal_ar.md @@ -1,8 +1,13 @@ +--- +title: Coverting Tanium results to OSCAL +description: Tutorial on how to use compliance trestle to convert Tanium results output to OSCAL assessment results +--- + # 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. -## *Objective* +## Objective How to transform a `Tanium.results` compliance file into a standardized `OSCAL.json` file. @@ -10,7 +15,7 @@ There are 2 short steps shown below. The first is a one-time check/set-up of your environment. The second is a one-command transformation from `Tanium.results` to `OSCAL.json`. -## *Step 1: Environment setup* +## Step 1: Environment setup Linux, Mac @@ -28,7 +33,7 @@ Make these changes: -- Insure you have a modern [Python](https://www.python.org/downloads/) (3.7, 3.8, 3.9). +- Insure you have a modern [Python](https://www.python.org/downloads/) (3.9, 3.10, 3.11). ```bash $ python -V @@ -77,7 +82,7 @@ usage: trestle [-h] {init,create,split,merge,replicate,add,remove,validate,impor Initialized trestle project successfully in /home//trestle.workspace ``` -## *Step 2: Transform sample* +## Step 2: Transform sample - Create Tanium data folders. @@ -900,4 +905,4 @@ Congratulations! You have bridged Tanium data into an OSCAL Assessment Results u Newtown, Victoria -![Australia Scarsdale Nimons Bridge](800px-Australia_scarsdale_nimons_bridge.jpg) +![Australia Scarsdale Nimons Bridge](Tanium_result_to_oscal_ar/800px-Australia_scarsdale_nimons_bridge.jpg) diff --git a/docs/tutorials/task.tanium-result-to-oscal-ar/800px-Australia_scarsdale_nimons_bridge.copyright-info.txt b/docs/tutorials/Transformers_and_Tasks/Tanium_result_to_oscal_ar/800px-Australia_scarsdale_nimons_bridge.copyright-info.txt similarity index 100% rename from docs/tutorials/task.tanium-result-to-oscal-ar/800px-Australia_scarsdale_nimons_bridge.copyright-info.txt rename to docs/tutorials/Transformers_and_Tasks/Tanium_result_to_oscal_ar/800px-Australia_scarsdale_nimons_bridge.copyright-info.txt diff --git a/docs/tutorials/task.tanium-result-to-oscal-ar/800px-Australia_scarsdale_nimons_bridge.jpg b/docs/tutorials/Transformers_and_Tasks/Tanium_result_to_oscal_ar/800px-Australia_scarsdale_nimons_bridge.jpg similarity index 100% rename from docs/tutorials/task.tanium-result-to-oscal-ar/800px-Australia_scarsdale_nimons_bridge.jpg rename to docs/tutorials/Transformers_and_Tasks/Tanium_result_to_oscal_ar/800px-Australia_scarsdale_nimons_bridge.jpg diff --git a/docs/tutorials/task.csv-to-oscal-cd/transformation.md b/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd.md similarity index 95% rename from docs/tutorials/task.csv-to-oscal-cd/transformation.md rename to docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd.md index 304b21abf..00483a942 100644 --- a/docs/tutorials/task.csv-to-oscal-cd/transformation.md +++ b/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd.md @@ -1,6 +1,11 @@ +--- +title: Converting CSVs to component definitions +description: Tutorial on how to setup and convert CSV spreadsheets into OSCAL component definitions +--- + # 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. +Here are step by step instructions for setup and transformation of [trestle standard format csv-file](csv_to_oscal_cd/ocp4-sample-input.csv) into OSCAL Component Definition [json-file](csv_to_oscal_cd/component-definition.json) using the [compliance-trestle](https://oscal-compass.github.io/compliance-trestle/) tool. ## *Objective* @@ -237,14 +242,14 @@ Configuration flags sit under [task.csv-to-oscal-cd]: - Fetch sample csv-file. ``` -(venv.trestle)$ curl 'https://raw.githubusercontent.com/oscal-compass/compliance-trestle/main/docs/tutorials/task.csv-to-oscal-cd/ocp4-sample-input.csv' > adjunct-data/ocp4-sample-input.csv +(venv.trestle)$ curl 'https://raw.githubusercontent.com/oscal-compass/compliance-trestle/main/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/ocp4-sample-input.csv' > adjunct-data/ocp4-sample-input.csv ``` - Fetch trestle task file. ``` -(venv.trestle)$ curl 'https://raw.githubusercontent.com/oscal-compass/compliance-trestle/main/docs/tutorials/task.csv-to-oscal-cd/demo-csv-to-oscal-cd.config' > adjunct-data/task-files/demo-csv-to-oscal-cd.config +(venv.trestle)$ curl 'https://raw.githubusercontent.com/oscal-compass/compliance-trestle/main/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/demo-csv-to-oscal-cd.config' > adjunct-data/task-files/demo-csv-to-oscal-cd.config ```
diff --git a/docs/tutorials/task.csv-to-oscal-cd/component-definition.json b/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/component-definition.json similarity index 100% rename from docs/tutorials/task.csv-to-oscal-cd/component-definition.json rename to docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/component-definition.json diff --git a/docs/tutorials/task.csv-to-oscal-cd/demo-csv-to-oscal-cd.config b/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/demo-csv-to-oscal-cd.config similarity index 100% rename from docs/tutorials/task.csv-to-oscal-cd/demo-csv-to-oscal-cd.config rename to docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/demo-csv-to-oscal-cd.config diff --git a/docs/tutorials/task.csv-to-oscal-cd/ocp4-sample-input.csv b/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/ocp4-sample-input.csv similarity index 100% rename from docs/tutorials/task.csv-to-oscal-cd/ocp4-sample-input.csv rename to docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/ocp4-sample-input.csv diff --git a/docs/tutorials/task.transformer-construction/transformer-construction.md b/docs/tutorials/Transformers_and_Tasks/transformer_construction.md similarity index 97% rename from docs/tutorials/task.transformer-construction/transformer-construction.md rename to docs/tutorials/Transformers_and_Tasks/transformer_construction.md index e5573cd5e..de123fb48 100644 --- a/docs/tutorials/task.transformer-construction/transformer-construction.md +++ b/docs/tutorials/Transformers_and_Tasks/transformer_construction.md @@ -1,9 +1,14 @@ +--- +title: Posture format with OSCAL assesment results +description: Tutorial on how to build a lite verision of Oscal Assessment Results with Trestle SDK from your posture result format +--- + # 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. Discussed below are some best practices for automated bridging to NIST OSCAL. -## *Why NIST OSCAL?* +## Why NIST OSCAL? The Open Security Controls Assessment Language [OSCAL](https://pages.nist.gov/OSCAL) is a set of formats expressed in XML, JSON, and YAML that provide machine-readable representations of control catalogs, control baselines, system security plans, and assessment plans and results as adopted by the @@ -11,7 +16,7 @@ National Institute of Standards and Technology [NIST](https://pages.nist.gov/). Standardizing to OSCAL facilitates data interchange and understandability. -## *Objective* +## Objective The objective here is to transform your compliance data into valid OSCAL, in particular System Assessment Results [SAR](https://pages.nist.gov/OSCAL/documentation/schema/assessment-results-layer/). @@ -20,13 +25,13 @@ Examples of existing transformers included with trestle are for the OpenShift Compliance Operator [OSCO](https://github.com/oscal-compass/compliance-trestle/blob/develop/trestle/tasks/xccdf_result_to_oscal_ar.py) and [Tanium](https://github.com/oscal-compass/compliance-trestle/blob/develop/trestle/tasks/tanium_result_to_oscal_ar.py). -## *Overview* +## Overview You have a source of compliance data that is in non-OSCAL format (spreadsheet, XML, JSON, database, object-store...) and you would like to transform into standardized form in terms of NIST OSCAL. Presumed is an existing method for obtaining the compliance data from the cloud and materializing on disk as one or more files. -![transformer-construction](transformer-construction.jpg) +![transformer-construction](transformer_construction/transformer-construction.jpg) - Source files on disk (pink) is our starting point. - OSCAL files on disk (blue) is our ending point. @@ -43,7 +48,7 @@ auditree-arboretum [harvest](https://github.com/ComplianceAsCode/auditree-harves report (file interface) that employs the trestle xccdf-result-to-oscal-ar transformation (data processing) module. -## *Choose Mapping Strategy* +## Choose Mapping Strategy There are 3 potential levels of OSCAL Assessment Results that can be emitted by your transformer. From most complex to least complex they are: @@ -55,7 +60,7 @@ From most complex to least complex they are: Below is a snippet from the [SAR](https://pages.nist.gov/OSCAL/documentation/schema/assessment-results-layer/) model with these three levels shown. -![assessment-results](assessment-results.jpg) +![assessment-results](transformer_construction/assessment-results.jpg) Although producing a complete SAR is possible, this transformation is not covered here. We focus on partial results, either Observations only or Observations with Findings. @@ -438,7 +443,7 @@ Table of approximate lines of code. ## *Contributing* Consider contributing your transformer to -[trestle](../../contributing/mkdocs_contributing.md) +[trestle](../../contributing/index.md) or [auditree-arboretum](https://github.com/ComplianceAsCode/auditree-arboretum/blob/main/CONTRIBUTING.md) or diff --git a/docs/tutorials/task.transformer-construction/assessment-results-nist.png b/docs/tutorials/Transformers_and_Tasks/transformer_construction/assessment-results-nist.png similarity index 100% rename from docs/tutorials/task.transformer-construction/assessment-results-nist.png rename to docs/tutorials/Transformers_and_Tasks/transformer_construction/assessment-results-nist.png diff --git a/docs/tutorials/task.transformer-construction/assessment-results.drawio b/docs/tutorials/Transformers_and_Tasks/transformer_construction/assessment-results.drawio similarity index 100% rename from docs/tutorials/task.transformer-construction/assessment-results.drawio rename to docs/tutorials/Transformers_and_Tasks/transformer_construction/assessment-results.drawio diff --git a/docs/tutorials/task.transformer-construction/assessment-results.jpg b/docs/tutorials/Transformers_and_Tasks/transformer_construction/assessment-results.jpg similarity index 100% rename from docs/tutorials/task.transformer-construction/assessment-results.jpg rename to docs/tutorials/Transformers_and_Tasks/transformer_construction/assessment-results.jpg diff --git a/docs/tutorials/task.transformer-construction/transformer-construction.drawio b/docs/tutorials/Transformers_and_Tasks/transformer_construction/transformer-construction.drawio similarity index 100% rename from docs/tutorials/task.transformer-construction/transformer-construction.drawio rename to docs/tutorials/Transformers_and_Tasks/transformer_construction/transformer-construction.drawio diff --git a/docs/tutorials/task.transformer-construction/transformer-construction.jpg b/docs/tutorials/Transformers_and_Tasks/transformer_construction/transformer-construction.jpg similarity index 100% rename from docs/tutorials/task.transformer-construction/transformer-construction.jpg rename to docs/tutorials/Transformers_and_Tasks/transformer_construction/transformer-construction.jpg diff --git a/docs/tutorials/ssp_profile_catalog_authoring/ssp_profile_catalog_authoring.md b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring.md similarity index 99% rename from docs/tutorials/ssp_profile_catalog_authoring/ssp_profile_catalog_authoring.md rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring.md index 0286b5d58..3a8881692 100644 --- a/docs/tutorials/ssp_profile_catalog_authoring/ssp_profile_catalog_authoring.md +++ b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring.md @@ -61,19 +61,19 @@ First, a *Catalog* is a collection of *Controls*, and a *Profile* imports contro For clarity, here is a simple depicton of a catalog as a collection of controls: -![Simple catalog](simple_catalog.png) +![Simple catalog](ssp_profile_catalog_authoring/simple_catalog.png) Here is a profile pulling controls from a catalog to make a resolved profile catalog: -![Resolved profile catalog](resolved_profile_catalog.png) +![Resolved profile catalog](ssp_profile_catalog_authoring/resolved_profile_catalog.png) And here is a more complex situation where a single profile pulls controls from catalogs and profiles: -![Complex resolved profile catalog](complex_resolved_profile_catalog.png) +![Complex resolved profile catalog](ssp_profile_catalog_authoring/complex_resolved_profile_catalog.png) From the diagram it's clear that the profile is performing many tasks under the covers. This is shown in an expanded view of a profile: -![What a profile does](profile_does.png) +![What a profile does](ssp_profile_catalog_authoring/profile_does.png) It's important to note that each profile is importing a selection of controls from each source, then making its own *suggested* modifications to parameters and other content in those controls. They are suggested in the sense that downstream profiles may override those settings - with priority given to the later profiles in the pipeline. The changes made by upstream profiles may be accepted, or overridden by better choices for a given need. This way the catalogs themselves can remain relatively static, and individual use cases can effectively create a custom catalog based on the original controls plus modifications by other static profiles, and/or the user's custom profile. The authoring tools here provide ways to make those modifications, both to the catalog controls and to the profiles, and to enter the implementation responses that are needed in a System Security Plan. @@ -1222,6 +1222,6 @@ The options shown are fairly consistent across the `-generate` and `-assemble` f `ssp-generate` is special because it starts with a profile rather than an ssp, whereas `catalog-generate` and `profile-generate` both start with a parent model of the same type. Nonetheless, you still have an option during `ssp-assemble` to use a given json file as the template into which new content is inserted, and once again you may overwrite that original json file or direct it to a new one using `--output`. -![Table of authoring tool options](trestle_ssp_author_options.png) +![Table of authoring tool options](ssp_profile_catalog_authoring/trestle_ssp_author_options.png)
diff --git a/docs/tutorials/ssp_profile_catalog_authoring/complex_resolved_profile_catalog.drawio b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/complex_resolved_profile_catalog.drawio similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/complex_resolved_profile_catalog.drawio rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/complex_resolved_profile_catalog.drawio diff --git a/docs/tutorials/ssp_profile_catalog_authoring/complex_resolved_profile_catalog.png b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/complex_resolved_profile_catalog.png similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/complex_resolved_profile_catalog.png rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/complex_resolved_profile_catalog.png diff --git a/docs/tutorials/ssp_profile_catalog_authoring/profile_does.drawio b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/profile_does.drawio similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/profile_does.drawio rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/profile_does.drawio diff --git a/docs/tutorials/ssp_profile_catalog_authoring/profile_does.png b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/profile_does.png similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/profile_does.png rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/profile_does.png diff --git a/docs/tutorials/ssp_profile_catalog_authoring/resolved_profile_catalog.drawio b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/resolved_profile_catalog.drawio similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/resolved_profile_catalog.drawio rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/resolved_profile_catalog.drawio diff --git a/docs/tutorials/ssp_profile_catalog_authoring/resolved_profile_catalog.png b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/resolved_profile_catalog.png similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/resolved_profile_catalog.png rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/resolved_profile_catalog.png diff --git a/docs/tutorials/ssp_profile_catalog_authoring/resolved_profile_diagram.drawio b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/resolved_profile_diagram.drawio similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/resolved_profile_diagram.drawio rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/resolved_profile_diagram.drawio diff --git a/docs/tutorials/ssp_profile_catalog_authoring/resolved_profile_diagram.png b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/resolved_profile_diagram.png similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/resolved_profile_diagram.png rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/resolved_profile_diagram.png diff --git a/docs/tutorials/ssp_profile_catalog_authoring/simple_catalog.drawio b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/simple_catalog.drawio similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/simple_catalog.drawio rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/simple_catalog.drawio diff --git a/docs/tutorials/ssp_profile_catalog_authoring/simple_catalog.png b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/simple_catalog.png similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/simple_catalog.png rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/simple_catalog.png diff --git a/docs/tutorials/ssp_profile_catalog_authoring/ssp_profile_options.docx b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/ssp_profile_options.docx similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/ssp_profile_options.docx rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/ssp_profile_options.docx diff --git a/docs/tutorials/ssp_profile_catalog_authoring/trestle_ssp_author_options.png b/docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/trestle_ssp_author_options.png similarity index 100% rename from docs/tutorials/ssp_profile_catalog_authoring/trestle_ssp_author_options.png rename to docs/tutorials/Trestle_authoring/ssp_profile_catalog_authoring/trestle_ssp_author_options.png diff --git a/docs/trestle_author.md b/docs/tutorials/Trestle_authoring/trestle_author.md similarity index 98% rename from docs/trestle_author.md rename to docs/tutorials/Trestle_authoring/trestle_author.md index e69dfb393..9ddffa333 100644 --- a/docs/trestle_author.md +++ b/docs/tutorials/Trestle_authoring/trestle_author.md @@ -1,3 +1,8 @@ +--- +title: Governance of Authored Documents +description: Tutorial on governing authored documents with trestle +--- + # Trestle CLI for Governance of Authored Documents This document is organized in a multiple collapsable sections for ease of use. @@ -188,11 +193,11 @@ Drawio or [diagrams.net](https://app.diagrams.net/) is a diagramming platform wh Drawio (or `mxgraph`) files have a set of data fields. In a drawio file this is available in the edit menu as *edit data*. The diagram below shows how to access the (meta)data. -![Accessing the drawio data editor](assets/drawio_data_menu.png "Accessing the drawio data editor") +![Accessing the drawio data editor](trestle_author/drawio_data_menu.png "Accessing the drawio data editor") The data presents as a set of key-value pairs which can be edited (see below). The data is bound to each tab in a drawio file. The trestle CLI currently expects that metadata (whether from the template or file to be measured) is in the first tab when editing the draw io file. -![Editing drawio data](assets/drawio_editing_data.png "Editing drawio data") +![Editing drawio data](trestle_author/drawio_editing_data.png "Editing drawio data") @@ -622,7 +627,7 @@ Please follow steps in the section `Setting up the Trestle Workspace` if you don Trestle provides the capability to version the templates and the documents via `x-trestle-template-version` field in the header. Consider an example where we have a governed document called `Decision 1` that we now need to update to contain a new header field `approved-status` and a new required heading `Heading n` at the end, as demonstrated in the Figure below: -![Decision document update](assets/template_versioning.png) +![Decision document update](trestle_author/template_versioning.png) The intended workflow in this scenario is to: diff --git a/docs/assets/drawio_data_menu.png b/docs/tutorials/Trestle_authoring/trestle_author/drawio_data_menu.png similarity index 100% rename from docs/assets/drawio_data_menu.png rename to docs/tutorials/Trestle_authoring/trestle_author/drawio_data_menu.png diff --git a/docs/assets/drawio_editing_data.png b/docs/tutorials/Trestle_authoring/trestle_author/drawio_editing_data.png similarity index 100% rename from docs/assets/drawio_editing_data.png rename to docs/tutorials/Trestle_authoring/trestle_author/drawio_editing_data.png diff --git a/docs/assets/sample_ssp.md.jinja b/docs/tutorials/Trestle_authoring/trestle_author/sample_ssp.md.jinja similarity index 100% rename from docs/assets/sample_ssp.md.jinja rename to docs/tutorials/Trestle_authoring/trestle_author/sample_ssp.md.jinja diff --git a/docs/assets/template_versioning.png b/docs/tutorials/Trestle_authoring/trestle_author/template_versioning.png similarity index 100% rename from docs/assets/template_versioning.png rename to docs/tutorials/Trestle_authoring/trestle_author/template_versioning.png diff --git a/docs/trestle_author_jinja.md b/docs/tutorials/Trestle_authoring/trestle_author_jinja.md similarity index 93% rename from docs/trestle_author_jinja.md rename to docs/tutorials/Trestle_authoring/trestle_author_jinja.md index 9f9df1349..289633883 100644 --- a/docs/trestle_author_jinja.md +++ b/docs/tutorials/Trestle_authoring/trestle_author_jinja.md @@ -1,3 +1,8 @@ +--- +title: Output templating with trestle author jinja +description: Tutorial on how to use jinja for output templating support when converting oscal documents to markdown or word documents +--- + # 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. @@ -36,9 +41,9 @@ Note the examples here use markdown, however, jinja can quite easily target xml Below is a sample jinja template for SSP. -| template | Description | Optional args required | -| ------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| [Simple SSP template](assets/sample_ssp.md.jinja) | Sample ssp jinja template which prints out all control responses and includes a front-matter section | `-ssp` and `-p` for the ssp json and corresponding profile, respectively. Also requires a `frontmatter.md` file | +| template | Description | Optional args required | +| --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| [Simple SSP template](trestle_author/sample_ssp.md.jinja) | Sample ssp jinja template which prints out all control responses and includes a front-matter section | `-ssp` and `-p` for the ssp json and corresponding profile, respectively. Also requires a `frontmatter.md` file | ## Variable availability in the jinja template. diff --git a/docs/cli.md b/docs/tutorials/cli.md similarity index 99% rename from docs/cli.md rename to docs/tutorials/cli.md index bd44ac92e..ae91b4662 100644 --- a/docs/cli.md +++ b/docs/tutorials/cli.md @@ -1,4 +1,9 @@ -# trestle CLI Overview and OSCAL Usecases +--- +title: trestle CLI Overview +description: An introductory tutorial into trestle's CLI and OSCAL use cases +--- + +# trestle CLI Overview and OSCAL usecases The trestle CLI has three primary use cases: diff --git a/docs/tutorials/continuous-compliance/continuous-compliance.md b/docs/tutorials/compliance_posture.md similarity index 75% rename from docs/tutorials/continuous-compliance/continuous-compliance.md rename to docs/tutorials/compliance_posture.md index a8f5b0c8c..9b91a1a94 100644 --- a/docs/tutorials/continuous-compliance/continuous-compliance.md +++ b/docs/tutorials/compliance_posture.md @@ -1,3 +1,8 @@ +--- +title: What's your compliance posture +description: High level tutorial on measuring your compliance posture with compliance-trestle +--- + # Tutorial: What’s your compliance posture? #### Introduction @@ -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 @@ -35,12 +40,12 @@ 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. -Tutorials are available to show you: how to [run a transformer](../task.tanium-result-to-oscal-ar/transformation.md), how to [write a transformer](../task.transformer-construction/transformer-construction.md). +Tutorials are available to show you: how to [run a transformer](Transformers_and_Tasks/Tanium_result_to_oscal_ar.md), how to [write a transformer](Transformers_and_Tasks/transformer_construction.md). #### Step 2 – Reporting -Coming soon is a [trestle](../../index.md) tool to assemble the [OSCAL](https://pages.nist.gov/OSCAL) fragments documents together using [OSCAL](https://pages.nist.gov/OSCAL) compliance configuration data (*System Assessment Plan* and *System Security Plan*) into a complete *System Assessment Results*. +Coming soon is a [trestle](../index.md) tool to assemble the [OSCAL](https://pages.nist.gov/OSCAL) fragments documents together using [OSCAL](https://pages.nist.gov/OSCAL) compliance configuration data (*System Assessment Plan* and *System Security Plan*) into a complete *System Assessment Results*. diff --git a/docs/tutorials/continuous-compliance/ContinuousCompliance.drawio b/docs/tutorials/compliance_posture/ContinuousCompliance.drawio similarity index 100% rename from docs/tutorials/continuous-compliance/ContinuousCompliance.drawio rename to docs/tutorials/compliance_posture/ContinuousCompliance.drawio diff --git a/docs/tutorials/continuous-compliance/ContinuousCompliance.jpg b/docs/tutorials/compliance_posture/ContinuousCompliance.jpg similarity index 100% rename from docs/tutorials/continuous-compliance/ContinuousCompliance.jpg rename to docs/tutorials/compliance_posture/ContinuousCompliance.jpg diff --git a/docs/tutorials/trestle_sample_workflow.md b/docs/tutorials/introduction_to_trestle.md similarity index 99% rename from docs/tutorials/trestle_sample_workflow.md rename to docs/tutorials/introduction_to_trestle.md index 5e9bcfdee..ddaf596f4 100644 --- a/docs/tutorials/trestle_sample_workflow.md +++ b/docs/tutorials/introduction_to_trestle.md @@ -1,3 +1,8 @@ +--- +title: Introduction to trestle workflows +description: Introductory Tutorial to trestle workflows for managing OSCAL objects as code +--- + # 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. @@ -6,7 +11,7 @@ Here are step-by-step instructions to manipulate a [NIST](https://www.nist.gov/) Learn how to split and merge an OSCAL catalog json file using trestle commands and its command line interface (CLI). Trestle simplifies the manipulation and management of large OSCAL documents by allowing controlled deconstruction into smaller components, and later reconstruction after editing those components. And all operations guarantee that the individual files conform to the corresponding OSCAL schema to maintain integrity of the document in the process. -This tutorial assumes you have installed Python and installed trestle in a virtual environment per the directions found [here](../python_trestle_setup.md). +This tutorial assumes you have installed Python and installed trestle in a virtual environment per the directions found [here](../installation.md). The examples shown will work for linux and mac, but Windows will require the following modifications: diff --git a/mkdocs.yml b/mkdocs.yml index 0cbad372e..a404d5fd9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,10 +6,7 @@ extra: consent: title: Cookie consent description: >- - We use cookies to recognize your repeated visits and preferences, as well as - to measure the effectiveness of our documentation and whether users find what - they're searching for. With your consent, you're helping us to make our documentation - better. + We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better. markdown_extensions: - admonition - markdown_include.include @@ -24,190 +21,13 @@ markdown_extensions: - pymdownx.snippets - toc: permalink: ¤ -nav: -- Overview: index.md -- Installation: python_trestle_setup.md -- 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: - - cli: api_reference/trestle.cli.md - - common: - - common_types: api_reference/trestle.common.common_types.md - - const: api_reference/trestle.common.const.md - - err: api_reference/trestle.common.err.md - - file_utils: api_reference/trestle.common.file_utils.md - - list_utils: api_reference/trestle.common.list_utils.md - - load_validate: api_reference/trestle.common.load_validate.md - - log: api_reference/trestle.common.log.md - - model_utils: api_reference/trestle.common.model_utils.md - - str_utils: api_reference/trestle.common.str_utils.md - - trash: api_reference/trestle.common.trash.md - - type_utils: api_reference/trestle.common.type_utils.md - - core: - - all_validator: api_reference/trestle.core.all_validator.md - - base_model: api_reference/trestle.core.base_model.md - - catalog: - - catalog_api: api_reference/trestle.core.catalog.catalog_api.md - - catalog_interface: api_reference/trestle.core.catalog.catalog_interface.md - - catalog_merger: api_reference/trestle.core.catalog.catalog_merger.md - - catalog_reader: api_reference/trestle.core.catalog.catalog_reader.md - - catalog_writer: api_reference/trestle.core.catalog.catalog_writer.md - - catalog_validator: api_reference/trestle.core.catalog_validator.md - - commands: - - add: api_reference/trestle.core.commands.add.md - - assemble: api_reference/trestle.core.commands.assemble.md - - author: - - catalog: api_reference/trestle.core.commands.author.catalog.md - - command: api_reference/trestle.core.commands.author.command.md - - common: api_reference/trestle.core.commands.author.common.md - - component: api_reference/trestle.core.commands.author.component.md - - consts: api_reference/trestle.core.commands.author.consts.md - - docs: api_reference/trestle.core.commands.author.docs.md - - folders: api_reference/trestle.core.commands.author.folders.md - - headers: api_reference/trestle.core.commands.author.headers.md - - jinja: api_reference/trestle.core.commands.author.jinja.md - - prof: api_reference/trestle.core.commands.author.prof.md - - ssp: api_reference/trestle.core.commands.author.ssp.md - - versioning: - - template_versioning: api_reference/trestle.core.commands.author.versioning.template_versioning.md - - command_docs: api_reference/trestle.core.commands.command_docs.md - - common: - - cmd_utils: api_reference/trestle.core.commands.common.cmd_utils.md - - return_codes: api_reference/trestle.core.commands.common.return_codes.md - - create: api_reference/trestle.core.commands.create.md - - describe: api_reference/trestle.core.commands.describe.md - - href: api_reference/trestle.core.commands.href.md - - import_: api_reference/trestle.core.commands.import_.md - - init: api_reference/trestle.core.commands.init.md - - merge: api_reference/trestle.core.commands.merge.md - - partial_object_validate: api_reference/trestle.core.commands.partial_object_validate.md - - remove: api_reference/trestle.core.commands.remove.md - - replicate: api_reference/trestle.core.commands.replicate.md - - split: api_reference/trestle.core.commands.split.md - - task: api_reference/trestle.core.commands.task.md - - validate: api_reference/trestle.core.commands.validate.md - - version: api_reference/trestle.core.commands.version.md - - control_context: api_reference/trestle.core.control_context.md - - control_interface: api_reference/trestle.core.control_interface.md - - control_reader: api_reference/trestle.core.control_reader.md - - control_writer: api_reference/trestle.core.control_writer.md - - crm: - - bycomp_interface: api_reference/trestle.core.crm.bycomp_interface.md - - export_reader: api_reference/trestle.core.crm.export_reader.md - - export_writer: api_reference/trestle.core.crm.export_writer.md - - leveraged_statements: api_reference/trestle.core.crm.leveraged_statements.md - - ssp_inheritance_api: api_reference/trestle.core.crm.ssp_inheritance_api.md - - docs_control_writer: api_reference/trestle.core.docs_control_writer.md - - draw_io: api_reference/trestle.core.draw_io.md - - duplicates_validator: api_reference/trestle.core.duplicates_validator.md - - generators: api_reference/trestle.core.generators.md - - generic_oscal: api_reference/trestle.core.generic_oscal.md - - jinja: - - base: api_reference/trestle.core.jinja.base.md - - ext: api_reference/trestle.core.jinja.ext.md - - filters: api_reference/trestle.core.jinja.filters.md - - tags: api_reference/trestle.core.jinja.tags.md - - links_validator: api_reference/trestle.core.links_validator.md - - markdown: - - base_markdown_node: api_reference/trestle.core.markdown.base_markdown_node.md - - control_markdown_node: api_reference/trestle.core.markdown.control_markdown_node.md - - docs_markdown_node: api_reference/trestle.core.markdown.docs_markdown_node.md - - markdown_api: api_reference/trestle.core.markdown.markdown_api.md - - markdown_const: api_reference/trestle.core.markdown.markdown_const.md - - markdown_processor: api_reference/trestle.core.markdown.markdown_processor.md - - markdown_validator: api_reference/trestle.core.markdown.markdown_validator.md - - md_writer: api_reference/trestle.core.markdown.md_writer.md - - models: - - actions: api_reference/trestle.core.models.actions.md - - elements: api_reference/trestle.core.models.elements.md - - file_content_type: api_reference/trestle.core.models.file_content_type.md - - interfaces: api_reference/trestle.core.models.interfaces.md - - plans: api_reference/trestle.core.models.plans.md - - object_factory: api_reference/trestle.core.object_factory.md - - parser: api_reference/trestle.core.parser.md - - pipeline: api_reference/trestle.core.pipeline.md - - plugins: api_reference/trestle.core.plugins.md - - profile_resolver: api_reference/trestle.core.profile_resolver.md - - refs_validator: api_reference/trestle.core.refs_validator.md - - remote: - - cache: api_reference/trestle.core.remote.cache.md - - repository: api_reference/trestle.core.repository.md - - resolver: - - merge: api_reference/trestle.core.resolver.merge.md - - modify: api_reference/trestle.core.resolver.modify.md - - prune: api_reference/trestle.core.resolver.prune.md - - rule_parameters_validator: api_reference/trestle.core.rule_parameters_validator.md - - ssp_io: api_reference/trestle.core.ssp_io.md - - trestle_base_model: api_reference/trestle.core.trestle_base_model.md - - validator: api_reference/trestle.core.validator.md - - validator_factory: api_reference/trestle.core.validator_factory.md - - oscal: - - assessment_plan: api_reference/trestle.oscal.assessment_plan.md - - assessment_results: api_reference/trestle.oscal.assessment_results.md - - catalog: api_reference/trestle.oscal.catalog.md - - common: api_reference/trestle.oscal.common.md - - component: api_reference/trestle.oscal.component.md - - poam: api_reference/trestle.oscal.poam.md - - profile: api_reference/trestle.oscal.profile.md - - ssp: api_reference/trestle.oscal.ssp.md - - tasks: - - base_task: api_reference/trestle.tasks.base_task.md - - cis_xlsx_to_oscal_catalog: api_reference/trestle.tasks.cis_xlsx_to_oscal_catalog.md - - csv_to_oscal_cd: api_reference/trestle.tasks.csv_to_oscal_cd.md - - ocp4_cis_profile_to_oscal_catalog: api_reference/trestle.tasks.ocp4_cis_profile_to_oscal_catalog.md - - ocp4_cis_profile_to_oscal_cd: api_reference/trestle.tasks.ocp4_cis_profile_to_oscal_cd.md - - oscal_catalog_to_csv: api_reference/trestle.tasks.oscal_catalog_to_csv.md - - oscal_profile_to_osco_profile: api_reference/trestle.tasks.oscal_profile_to_osco_profile.md - - osco_result_to_oscal_ar: api_reference/trestle.tasks.osco_result_to_oscal_ar.md - - tanium_result_to_oscal_ar: api_reference/trestle.tasks.tanium_result_to_oscal_ar.md - - transform: api_reference/trestle.tasks.transform.md - - xccdf_result_to_oscal_ar: api_reference/trestle.tasks.xccdf_result_to_oscal_ar.md - - xlsx_helper: api_reference/trestle.tasks.xlsx_helper.md - - xlsx_to_oscal_cd: api_reference/trestle.tasks.xlsx_to_oscal_cd.md - - xlsx_to_oscal_profile: api_reference/trestle.tasks.xlsx_to_oscal_profile.md - - transforms: - - implementations: - - osco: api_reference/trestle.transforms.implementations.osco.md - - tanium: api_reference/trestle.transforms.implementations.tanium.md - - xccdf: api_reference/trestle.transforms.implementations.xccdf.md - - results: api_reference/trestle.transforms.results.md - - transformer_factory: api_reference/trestle.transforms.transformer_factory.md - - transformer_helper: api_reference/trestle.transforms.transformer_helper.md - - transformer_singleton: api_reference/trestle.transforms.transformer_singleton.md plugins: -# warning don't use `macros` +- awesome-pages +# warning don't use `macros` - yet - search +- social - autorefs +- git-revision-date-localized - htmlproofer: enabled: true validate_rendered_template: false @@ -245,8 +65,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" # Update when have a single color svg + favicon: assets/favicon.ico validation: omitted_files: warn absolute_links: warn # Or 'relative_to_docs' - new in MkDocs 1.6 diff --git a/scripts/website_automation.py b/scripts/website_automation.py index 703366b3f..41a5e36c8 100644 --- a/scripts/website_automation.py +++ b/scripts/website_automation.py @@ -27,33 +27,18 @@ import shutil from typing import Any, Dict, List -from ruamel.yaml import YAML - - -def update_mkdocs_meta(path: pathlib.Path, module_list: List[Any]) -> None: - """Update the mkdocs.yml structure file to represent the latest trestle modules.""" - yaml = YAML() - fh_read = path.open('r', encoding='utf8') - yaml_structure = yaml.load(fh_read) - fh_read.close() - nav = yaml_structure['nav'] - for index in range(len(nav)): - if 'Reference' in nav[index].keys(): - nav[index]['Reference'] = [] - nav[index]['Reference'].append({'Integrating with IBM SCC': 'reference/third-party-result-schema-SCC.md'}) - nav[index]['Reference'].append({'trestle API reference': module_list}) - - yaml_structure['nav'] = nav - fh_write = path.open('w', encoding='utf8') - yaml.dump(yaml_structure, fh_write) - fh_write.close() - def write_module_doc_metafile(dump_location: pathlib.Path, module_name: str) -> None: """Create a markdown file which allows mkdocstrings to index an individual module.""" - write_file = dump_location / (module_name + '.md') + write_file = dump_location / (module_name.replace('.', '/') + '.md') + write_file.parent.mkdir(parents=True, exist_ok=True) fh = write_file.open('w', encoding='utf8') - fh.write(f'::: {module_name}\n') + # yaml header + fh.write('---\n') + fh.write(f'title: {module_name}\n') + fh.write(f'description: Documentation for {module_name} module\n') + fh.write('---\n\n') + fh.write(f'::: {module_name}\n') # noqa: E231 fh.write('handler: python\n') fh.close() @@ -76,7 +61,7 @@ def create_module_markdowns(base_path: pathlib.Path, base_module: str, dump_loca if len(struct) > 0: module_arr.append({path.stem: struct}) elif path.suffix == '.py' and path.stem[0] != '_': - struct = dump_location.stem + '/' + module_full_name + '.md' + struct = dump_location.stem + '/' + module_full_name.replace('.', '/') + '.md' write_module_doc_metafile(dump_location, module_full_name) module_arr.append({path.stem: struct}) module_arr.sort(key=get_key) @@ -106,10 +91,9 @@ def cleanup_directory(dump_location: pathlib.Path): if __name__ == '__main__': # Setup structure automatically for mkdocstrings - api_ref_location = pathlib.Path('docs/api_reference') + api_ref_location = pathlib.Path('docs/reference/API') cleanup_directory(api_ref_location) structer = create_module_markdowns(pathlib.Path('trestle'), 'trestle', api_ref_location) - update_mkdocs_meta(pathlib.Path('mkdocs.yml'), structer) # Ensure single source of truth for license file md_txt(pathlib.Path('LICENSE'), pathlib.Path('docs/license.md')) md_txt(pathlib.Path('DCO1.1.txt'), pathlib.Path('docs/contributing/DCO.md')) diff --git a/setup.cfg b/setup.cfg index c1b26c678..884b5d9ee 100644 --- a/setup.cfg +++ b/setup.cfg @@ -80,12 +80,16 @@ dev = types-setuptools # # Docs website mkdocs>=1.6.0 + mkdocs-awesome-pages-plugin mkdocstrings[python]>=0.25.2 mkdocs-htmlproofer-plugin mkdocs-material markdown-include + mkdocs-git-revision-date-localized-plugin pymdown-extensions livereload + pillow + cairosvg ## Constrain system pylint # Checking repo after docs generation. From 67196dbe8177f44803fee2d36d9f7cdee57cce1d Mon Sep 17 00:00:00 2001 From: Chris Butler Date: Fri, 1 Nov 2024 01:29:02 +1100 Subject: [PATCH 02/16] chore: fix broken URL (#1741) Signed-off-by: Chris Butler --- docs/demos.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/demos.md b/docs/demos.md index df5fa3ed3..310e35c58 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -12,7 +12,7 @@ content. If you are interested in contributing a demonstration / content open a PR to the demonstration repo and a PR to -[this page](https://github.com/oscal-compass/compliance-trestle/blob/develop/docs/demonstrations-content.md). +[this page](https://github.com/oscal-compass/compliance-trestle/blob/develop/docs/demos.md). Demonstrations, where practical, should include instructions on how they were created. From 324121f11f6673e6a0a2868b4dde66520529a0e6 Mon Sep 17 00:00:00 2001 From: Chris Butler Date: Fri, 8 Nov 2024 09:20:11 +0900 Subject: [PATCH 03/16] fix: minimize website html during build (#1744) Signed-off-by: Chris Butler --- mkdocs.yml | 8 ++++++++ setup.cfg | 1 + 2 files changed, 9 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index a404d5fd9..51c762f3e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -53,6 +53,14 @@ plugins: - '!^__json' - '!^__config__' new_path_syntax: true +- minify: + minify_html: true + minify_js: false + minify_css: true + css_files: + - css/mkdocstrings.css + htmlmin_opts: + remove_comments: true repo_name: oscal-compass/compliance-trestle repo_url: https://github.com/oscal-compass/compliance-trestle site_description: Documentation for compliance-trestle package. diff --git a/setup.cfg b/setup.cfg index 884b5d9ee..d965db771 100644 --- a/setup.cfg +++ b/setup.cfg @@ -85,6 +85,7 @@ dev = mkdocs-htmlproofer-plugin mkdocs-material markdown-include + mkdocs-minify-plugin mkdocs-git-revision-date-localized-plugin pymdown-extensions livereload From f06f0919b8b496a01bb9543af1133d038bc6e2c9 Mon Sep 17 00:00:00 2001 From: Lou DeGenaro Date: Mon, 11 Nov 2024 07:15:01 -0500 Subject: [PATCH 04/16] fix: add example csv for multiple rules and checks (#1745) * add example csv for multiple rules and checks Signed-off-by: Lou DeGenaro * mdformat Signed-off-by: Lou DeGenaro * fix csv and markdown text Signed-off-by: Lou DeGenaro --------- Signed-off-by: Lou DeGenaro --- .../Transformers_and_Tasks/csv_to_oscal_cd.md | 73 +++++++++++++------ .../csv_to_oscal_cd/rule-name-overlap.csv | 7 ++ 2 files changed, 56 insertions(+), 24 deletions(-) create mode 100644 docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/rule-name-overlap.csv diff --git a/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd.md b/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd.md index 00483a942..13aa4898d 100644 --- a/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd.md +++ b/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd.md @@ -202,34 +202,45 @@ Make these changes: trestle.core.commands.task:101 WARNING: Config file was not configured with the appropriate section for the task: "[task.csv-to-oscal-cd]" Help information for csv-to-oscal-cd task. +Help information for csv-to-oscal-cd task. + Purpose: From csv produce OSCAL component_definition file. Configuration flags sit under [task.csv-to-oscal-cd]: - title = (required) the component definition title. - version = (required) the component definition version. - csv-file = (required) the path of the csv file. - required columns: Rule_Id - Rule_Description - Profile_Reference_URL - Profile_Description - Component_Type - Control_Mappings - Resource - optional columns: Parameter_Id - Parameter_Description - Parameter_Default_Value - Parameter_Value_Alternatives - Check_Id - Check_Description - Fetcher - Fetcher_Description - Resource_Instance_Type - output-dir = (required) the path of the output directory for synthesized OSCAL .json files. - namespace = (optional) the namespace for properties, e.g. https://oscal-compass.github.io/compliance-trestle/schemas/oscal/cd - user-namespace = (optional) the user-namespace for properties, e.g. https://oscal-compass.github.io/compliance-trestle/schemas/oscal/cd/user-defined - class.column-name = (optional) the class to associate with the specified column name, e.g. class.Rule_Id = scc_class - output-overwrite = (optional) true [default] or false; replace existing output when true. + title = (required) the component definition title. + version = (required) the component definition version. + csv-file = (required) the path of the csv file. [1st row are column headings; 2nd row are column descriptions; 3rd row and beyond is data] + required columns: $$Component_Title + $$Component_Description + $$Component_Type + $$Rule_Id + $$Rule_Description (see note 1) + $$Profile_Source (see note 1) + $$Profile_Description (see note 1) + $$Control_Id_List (see note 1) + $$Namespace + optional columns: $Check_Id (see note 2) + $Check_Description (see note 2) + $Target_Component (see note 3) + $Original_Risk_Rating (see note 1) + $Adjusted_Risk_Rating (see note 1) + $Risk_Adjustment (see note 1) + $Parameter_Id (see notes 1, 5) + $Parameter_Description (see notes 1, 5) + $Parameter_Value_Alternatives (see notes 1, 5) + comment columns: #Informational (see note 4) + output-dir = (required) the path of the output directory for synthesized OSCAL .json files. + component-definition = (optional) the path of the existing component-definition OSCAL .json file. + class.column-name = (optional) the class to associate with the specified column name, e.g. class.Rule_Id = scc_class + output-overwrite = (optional) true [default] or false; replace existing output when true. + validate-controls = (optional) on, warn, or off [default]; validate controls exist in resolved profile. + +Notes: [1] column is ignored for validation component type + [2] column is required for validation component type + [3] column is optional for validation component type, but may be needed to prevent Rule_Id collisions + [4] column name starting with # causes column to be ignored + [5] additional parameters are specified by adding a common suffix per set, for example: Parameter_Id_1, Parameter_Description_1, ...Parameter_Id_2... ``` @@ -456,3 +467,17 @@ Congratulations! You have completed this tutorial.

+----- + +# Examples: csv files suitable for csv-to-oscsl-cd transformation + +The examples given here comprise csv files that can be transformed into OSCAL Component Definitions. +The csv files comprise required headings and values expected by the trestle task transformer, and may present optional ones as well. + +1. OCP4 sample input + +This is a simple example csv that has just one rule per control and one check per rule: [ocp4-sample-input.csv](csv_to_oscal_cd/ocp4-sample-input.csv) + +2. Multiple occurrence sample input + +This is a simple example csv that has multiple checks per rule and multiple target-components per rule: [rule-name-overlap.csv](csv_to_oscal_cd/rule-name-overlap.csv) diff --git a/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/rule-name-overlap.csv b/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/rule-name-overlap.csv new file mode 100644 index 000000000..7a4140dcc --- /dev/null +++ b/docs/tutorials/Transformers_and_Tasks/csv_to_oscal_cd/rule-name-overlap.csv @@ -0,0 +1,7 @@ +$$Component_Title,$$Component_Description,$$Component_Type,$$Rule_Id,$$Rule_Description,Check_Id,Check_Description,$$Namespace,Target_Component,$$Control_Id_List,$$Profile_Source,$$Profile_Description +OSCO,OSCO,validation,RULE-1.1,RULE1.1,Check.1,Check.1,http://oscal-compass/compliance-trestle/schemas/oscal/cd,Target-A,,, +OSCO,OSCO,validation,RULE-1.1,RULE1.1,Check.2,Check.2,http://oscal-compass/compliance-trestle/schemas/oscal/cd,Target-A,,, +OSCO,OSCO,validation,RULE-1.1,RULE1.1,Check.3,Check.3,http://oscal-compass/compliance-trestle/schemas/oscal/cd,Target-A,,, +OSCO,OSCO,validation,RULE-1.1,RULE1.1,Check.1,Check.1,http://oscal-compass/compliance-trestle/schemas/oscal/cd,Target-B,,, +OSCO,OSCO,validation,RULE-1.1,RULE1.1,Check.2,Check.2,http://oscal-compass/compliance-trestle/schemas/oscal/cd,Target-B,,, +OSCO,OSCO,validation,RULE-1.1,RULE1.1,Check.3,Check.3,http://oscal-compass/compliance-trestle/schemas/oscal/cd,Target-B,,, From 7f18be2dab14be9b86bebe225716e486372f5da1 Mon Sep 17 00:00:00 2001 From: Lou DeGenaro Date: Mon, 11 Nov 2024 07:37:35 -0500 Subject: [PATCH 05/16] fix: explain code quality checks in contribution guide (#1748) Signed-off-by: Lou DeGenaro --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3082c31f1..7b9622fde 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -61,7 +61,7 @@ In trestle's CI environment this results in the following rules: 1. Trestle will release on demand the default approach for a hot fix should be to merge into `develop`, followed by releasing to `main`, unless this will release functionality that is not ready. 1. Each feature/fix/chore (PR into develop) be represented by a single commit into develop / main with a coherent title (in the PR). 1. The trestle preference for doing this is to use squash merge functionality when merging a PR into develop. -1. Developers *MUST* pass the required CI checks for each PR. +1. Developers *MUST* pass the required CI checks for each PR. The checks enforce code quality with a format checker (yapf) and linter (flake8). 1. Developers are encouraged to use GitHub's automated merge process where possible to keep the number of active PR's low. ### Merge details for committers: From 0bd1b7006b93c976a2275bab1343a027679fde84 Mon Sep 17 00:00:00 2001 From: Chris Butler Date: Tue, 19 Nov 2024 14:57:58 +1100 Subject: [PATCH 06/16] feat: decouple docs release and introduce versioning (#1752) * fix: decouple docs Signed-off-by: Chris Butler * feat: add support for mike Signed-off-by: Chris Butler --------- Signed-off-by: Chris Butler --- .github/workflows/docs-update.yml | 75 +++++++++++++++++++++++++++++++ .github/workflows/python-push.yml | 35 --------------- docs/js/.keep | 0 mkdocs.yml | 11 ++++- setup.cfg | 1 + 5 files changed, 86 insertions(+), 36 deletions(-) create mode 100644 .github/workflows/docs-update.yml create mode 100644 docs/js/.keep diff --git a/.github/workflows/docs-update.yml b/.github/workflows/docs-update.yml new file mode 100644 index 000000000..8e4d0951c --- /dev/null +++ b/.github/workflows/docs-update.yml @@ -0,0 +1,75 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions +name: Trestle Docs update +on: + push: + branches: + - develop + tags: + - v* + +jobs: + set-versions: + runs-on: ubuntu-latest + outputs: + min: ${{ steps.versions.outputs.min }} + max: ${{ steps.versions.outputs.max }} + steps: + - uses: actions/checkout@v4 + - id: versions + run: | + min_version=$(jq '.PYTHON_MIN' -r version.json) + max_version=$(jq '.PYTHON_MAX' -r version.json) + echo "min=$min_version" + echo "max=$max_version" + echo "min=$min_version" >> $GITHUB_OUTPUT + echo "max=$max_version" >> $GITHUB_OUTPUT + mike-version: + runs-on: ubuntu-latest + needs: [ set-versions] + outputs: + mver: ${{ steps.versions.mver }} + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ needs.set-versions.outputs.max }} + uses: actions/setup-python@v5 + # This is deliberately not using a custom credential as it relies on native github actions token to have push rights. + with: + python-version: ${{ needs.set-versions.outputs.max }} + - id: versions + run: | + mike_version=$(python ./scripts/check-version.py ${{ env.GITHUB_REF }}) + echo "mver=$mike_version" >> $GITHUB_OUTPUT + deploy-docs: + runs-on: ubuntu-latest + needs: [ mike-version ] + steps: + - uses: actions/create-github-app-token@v1 + id: app-token + with: + app-id: ${{ secrets.APP_ID }} + private-key: ${{ secrets.PRIVATE_KEY }} + - uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 0 + token: ${{ steps.app-token.outputs.token }} + - name: Set up Python ${{ needs.set-versions.outputs.max }} + uses: actions/setup-python@v5 + # This is deliberately not using a custom credential as it relies on native github actions token to have push rights. + with: + python-version: ${{ needs.set-versions.outputs.max }} + - name: Install build tools + run: | + make develop + - name: Install documenation dependencies + run: | + make docs-ubuntu-deps + - name: Create release + shell: bash + run: | + mike deploy ${{ needs.mike-version.outputs.mver }} + - name: Ensure latest is latest + shell: bash + run: | + mike set-default latest \ No newline at end of file diff --git a/.github/workflows/python-push.yml b/.github/workflows/python-push.yml index 9d5909115..2ef301f4b 100644 --- a/.github/workflows/python-push.yml +++ b/.github/workflows/python-push.yml @@ -153,41 +153,6 @@ jobs: with: github_token: ${{ steps.app-token.outputs.token }} - deploy-docs: - runs-on: ubuntu-latest - needs: [ deploy, set-versions ] - concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.job }}-docs - cancel-in-progress: true - # Temporary hack: allow develop as well as master to deploy docs. - if: github.ref == 'refs/heads/main' - steps: - - uses: actions/create-github-app-token@v1 - id: app-token - with: - app-id: ${{ secrets.APP_ID }} - private-key: ${{ secrets.PRIVATE_KEY }} - - uses: actions/checkout@v4 - with: - submodules: true - fetch-depth: 0 - token: ${{ steps.app-token.outputs.token }} - - name: Set up Python ${{ needs.set-versions.outputs.max }} - uses: actions/setup-python@v5 - # This is deliberately not using a custom credential as it relies on native github actions token to have push rights. - with: - python-version: ${{ needs.set-versions.outputs.max }} - - name: Install build tools - run: | - make develop - - name: Install documenation dependencies - run: | - make docs-ubuntu-deps - - name: Create release - shell: bash - run: | - mkdocs gh-deploy - merge-main-to-develop: name: Merge main -> develop runs-on: ubuntu-latest diff --git a/docs/js/.keep b/docs/js/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/mkdocs.yml b/mkdocs.yml index 51c762f3e..5f808ec26 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -36,7 +36,7 @@ plugins: raise_error_excludes: # This is to remove some false positives for links which work. # Anchors are validated again by core mkdocs - 404: ['#trestle.*'] + 404: [ '#trestle.*' ] - mkdocstrings: default_handler: python handlers: @@ -61,6 +61,15 @@ plugins: - css/mkdocstrings.css htmlmin_opts: remove_comments: true +- mike: + # These fields are all optional; the defaults are as below... + alias_type: symlink + redirect_template: null + deploy_prefix: '' + canonical_version: latest + version_selector: true + css_dir: css + javascript_dir: js repo_name: oscal-compass/compliance-trestle repo_url: https://github.com/oscal-compass/compliance-trestle site_description: Documentation for compliance-trestle package. diff --git a/setup.cfg b/setup.cfg index d965db771..9627497da 100644 --- a/setup.cfg +++ b/setup.cfg @@ -79,6 +79,7 @@ dev = types-requests types-setuptools # # Docs website + mike mkdocs>=1.6.0 mkdocs-awesome-pages-plugin mkdocstrings[python]>=0.25.2 From 3591851a48e309199ca123fc122c614541fc2b42 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Nov 2024 10:44:01 -0500 Subject: [PATCH 07/16] build(deps): bump cryptography from 42.0.4 to 43.0.3 (#1734) Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.4 to 43.0.3. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/42.0.4...43.0.3) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Vikas Agarwal <75295756+vikas-agarwal76@users.noreply.github.com> Co-authored-by: Jennifer Power --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 9627497da..882f204a8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -28,7 +28,7 @@ include_package_data = True install_requires = attrs ilcli - cryptography==42.0.4 + cryptography==43.0.3 paramiko==3.4.0 ruamel.yaml furl From 65d7dce9c4d0287dbe7611c0c19198cc3aadaacb Mon Sep 17 00:00:00 2001 From: Jennifer Power Date: Tue, 19 Nov 2024 15:56:56 -0500 Subject: [PATCH 08/16] chore: add initial CODEOWNERS file (#1753) * chore: add initial CODEOWNERS file Signed-off-by: Jennifer Power * docs: updates contributing guide with CODEOWNERS requirement Signed-off-by: Jennifer Power * docs: remove relative link in contributing document Signed-off-by: Jennifer Power --------- Signed-off-by: Jennifer Power --- .github/CODEOWNERS | 3 +++ CONTRIBUTING.md | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000..58eca65fd --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,3 @@ +# These owners will be the default owners for everything in +# the repo. +* @oscal-compass/compliance-trestle-maintainers \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7b9622fde..fdd4c9759 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,9 +28,11 @@ pull request so it can be tracked. ### Merge approval The project maintainers use LGTM (Looks Good To Me) in comments on the code -review to indicate acceptance. A change requires LGTMs from one of the maintainers. +review to indicate acceptance. -For a list of the maintainers, see the [maintainers](https://oscal-compass.github.io/compliance-trestle/maintainers/) page. +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). + +For a list of the maintainers (also codeowners), see the [maintainers](https://oscal-compass.github.io/compliance-trestle/maintainers/) page. ### Trestle updating, testing and release logistics From 9f1edcfbf2e286f4ac8d771272821db4de3fcbab Mon Sep 17 00:00:00 2001 From: d10n Date: Tue, 19 Nov 2024 16:50:43 -0500 Subject: [PATCH 09/16] fix: merge control markdown with json (#1528) (#1740) * bug: add test for #1528 Signed-off-by: d10n * fix: merge control markdown with json (#1528) Function cleanup / unit tests to follow Signed-off-by: d10n * Reuse existing merge_dicts_deep Signed-off-by: d10n * Fix SyntaxWarning: invalid escape sequence '\[' Signed-off-by: d10n * Fix lint errors Signed-off-by: d10n --------- Signed-off-by: d10n Co-authored-by: Jennifer Power --- tests/trestle/core/control_io_test.py | 48 ++++++++++++++++++-- trestle/core/catalog/catalog_interface.py | 2 +- trestle/core/control_interface.py | 6 ++- trestle/core/control_writer.py | 6 ++- trestle/transforms/implementations/tanium.py | 4 +- 5 files changed, 55 insertions(+), 11 deletions(-) diff --git a/tests/trestle/core/control_io_test.py b/tests/trestle/core/control_io_test.py index 1ecf96985..5a6744863 100644 --- a/tests/trestle/core/control_io_test.py +++ b/tests/trestle/core/control_io_test.py @@ -30,7 +30,7 @@ from trestle.common.model_utils import ModelUtils from trestle.core.catalog.catalog_interface import CatalogInterface from trestle.core.control_context import ContextPurpose, ControlContext -from trestle.core.control_interface import ControlInterface, ParameterRep +from trestle.core.control_interface import ComponentImpInfo, ControlInterface, ParameterRep from trestle.core.control_reader import ControlReader from trestle.core.control_writer import ControlWriter from trestle.core.markdown.control_markdown_node import ControlMarkdownNode, tree_context @@ -45,7 +45,7 @@ case_3 = 'indent end abrupt' case_4 = 'no items' -control_text = """--- +control_text = r"""--- x-trestle-global: sort-id: xy-09 --- @@ -131,7 +131,7 @@ def test_read_write_controls( part_b3 = common.Part(id='ac-1_smt.b.3', name='item', prose='b.3 prose', props=[prop]) prop.value = 'c' part_c = common.Part(id='ac-1_smt.c', name='item', prose='c prose', props=[prop]) - sec_1_text = """ + sec_1_text = r""" General comment on separate lines @@ -395,7 +395,47 @@ def test_write_control_header_params(overwrite_header_values, tmp_path: pathlib. assert test_utils.controls_equivalent(orig_control_read, new_control_read) -statement_text = """ +def test_merge_control_update(tmp_path: pathlib.Path, testdata_dir: pathlib.Path) -> None: + """Test merging of control header params after spec update.""" + src_control_path = pathlib.Path(testdata_dir / 'author/controls/control_with_components.md') + control_path = tmp_path / 'ac-1.md' + shutil.copyfile(src_control_path, control_path) + orig_control_read, group_title = ControlReader.read_control(control_path, False) + assert group_title == 'Access Control' + context = ControlContext.generate(ContextPurpose.COMPONENT, True, tmp_path, tmp_path, True) + # Given updated template comp_dict from the component definition json + context.comp_dict = { + 'This System': { + '': ComponentImpInfo( + prose='', rules=[], props=[], status=common.ImplementationStatus(state='planned', remarks=None) + ), + 'a.': ComponentImpInfo( + prose='Text for fancy thing component', + rules=[], + props=[], + status=common.ImplementationStatus(state='planned', remarks=None) + ), + 'c.': ComponentImpInfo( + prose='Just for the default component', + rules=[], + props=[], + status=common.ImplementationStatus(state='planned', remarks=None) + ), + 'd.': ComponentImpInfo( + prose='Example extra component', + rules=[], + props=[], + status=common.ImplementationStatus(state='planned', remarks=None) + ) + } + } + control_writer = ControlWriter() + control_writer.write_control_for_editing(context, orig_control_read, tmp_path, group_title, {}, []) + assert context.comp_dict['This System']['c.'].status.state == 'operational', 'State must be merged' + assert context.comp_dict['This System']['d.'].status.state == 'planned', 'New template state must be merged' + + +statement_text = r""" # xy-9 - \[My Group Title\] Fancy Control diff --git a/trestle/core/catalog/catalog_interface.py b/trestle/core/catalog/catalog_interface.py index 2278ddbf4..da8c5929b 100644 --- a/trestle/core/catalog/catalog_interface.py +++ b/trestle/core/catalog/catalog_interface.py @@ -904,5 +904,5 @@ def generate_control_rule_info(self, part_id_map: Dict[str, Dict[str, str]], con if len(dup_comp_uuids) > 0: # throw an exception if there are repeated component uuids for comp_uuid in dup_comp_uuids: - logger.error(f'Component uuid { comp_uuid } is duplicated') + logger.error(f'Component uuid {comp_uuid} is duplicated') raise TrestleError('Component uuids cannot be duplicated between different component definitions') diff --git a/trestle/core/control_interface.py b/trestle/core/control_interface.py index 1a2642d20..ab3c4c95e 100644 --- a/trestle/core/control_interface.py +++ b/trestle/core/control_interface.py @@ -109,8 +109,8 @@ class ControlInterface: @staticmethod def _wrap_label(label: str): - l_side = '\[' - r_side = '\]' + l_side = r'\[' + r_side = r'\]' wrapped = '' if label == '' else f'{l_side}{label}{r_side}' return wrapped @@ -591,6 +591,8 @@ def merge_dicts_deep( New items are always added from src to dest. Items present in both will be overriden dest if overwrite_header_values is True. """ + if src is None: + return for key in src.keys(): if key in dest: if depth and level == depth: diff --git a/trestle/core/control_writer.py b/trestle/core/control_writer.py index 62703bd5f..00bd5ccc3 100644 --- a/trestle/core/control_writer.py +++ b/trestle/core/control_writer.py @@ -66,7 +66,7 @@ def _add_control_statement(self, control: cat.Control, group_title: str, print_g control_title = control.title if print_group_title: - group_name = ' \[' + group_title + '\]' + group_name = r' \[' + group_title + r'\]' title = f'{control_id} -{group_name} {control_title}' @@ -516,8 +516,10 @@ def write_control_for_editing( control_file = dest_path / (control.id + const.MARKDOWN_FILE_EXT) # read the existing markdown header and content if it exists md_header, comp_dict = ControlReader.read_control_info_from_md(control_file, context) - # replace the memory comp_dict with the md one if control exists + # Merge the memory comp_dict with the md one if control exists if comp_dict: + template_comp_dict = context.comp_dict + ControlInterface.merge_dicts_deep(comp_dict, template_comp_dict, False) context.comp_dict = comp_dict header_comment_dict = {const.TRESTLE_ADD_PROPS_TAG: const.YAML_PROPS_COMMENT} diff --git a/trestle/transforms/implementations/tanium.py b/trestle/transforms/implementations/tanium.py index 33d108137..e76f21ced 100644 --- a/trestle/transforms/implementations/tanium.py +++ b/trestle/transforms/implementations/tanium.py @@ -110,7 +110,7 @@ def transform(self, blob: str) -> Results: results.__root__ = tanium_oscal_factory.results ts1 = datetime.datetime.now() self._analysis = tanium_oscal_factory.analysis - self._analysis.append(f'transform time: {ts1-ts0}') + self._analysis.append(f'transform time: {ts1 - ts0}') return results @@ -455,7 +455,7 @@ def _batch_observations(self, index: int) -> Dict[str, List[Observation]]: start = index * batch_size end = (index + 1) * batch_size end = min(end, len(self._rule_use_list)) - logger.debug(f'start: {start} end: {end-1}') + logger.debug(f'start: {start} end: {end - 1}') # process just the one chunk for i in range(start, end): rule_use = self._rule_use_list[i] From 4a7c1235f0cdb0f199684eef0196c187b0380f14 Mon Sep 17 00:00:00 2001 From: Lou DeGenaro Date: Tue, 26 Nov 2024 10:00:42 -0500 Subject: [PATCH 10/16] fix: display openssf best practices badge (#1751) * fix: display openssf best practices badge Signed-off-by: Lou DeGenaro * Move badge location as suggested in PR review Signed-off-by: Lou DeGenaro * mdformat Signed-off-by: Lou DeGenaro * add to docs/index.md Signed-off-by: Lou DeGenaro --------- Signed-off-by: Lou DeGenaro --- README.md | 1 + docs/index.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index e9b28a9e6..731f01d18 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ ![[Quality gate](https://sonarcloud.io/dashboard?id=compliance-trestle)](https://sonarcloud.io/api/project_badges/measure?project=compliance-trestle&metric=alert_status) ![[Pypi](https://pypi.org/project/compliance-trestle/)](https://img.shields.io/pypi/dm/compliance-trestle) ![GitHub Actions status](https://github.com/oscal-compass/compliance-trestle/actions/workflows/python-test.yml/badge.svg?branch=develop) +![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9408/badge) Trestle is an ensemble of tools that enable the creation, validation, and governance of documentation artifacts for compliance needs. It leverages NIST's [OSCAL](https://pages.nist.gov/OSCAL/) as a standard data format for interchange between tools and people, and provides an opinionated approach to OSCAL adoption. diff --git a/docs/index.md b/docs/index.md index 62b14bdc2..b76cd62bc 100644 --- a/docs/index.md +++ b/docs/index.md @@ -12,6 +12,7 @@ description: Trestle is an ensemble of tools that enable the creation, validatio ![[Quality gate](https://sonarcloud.io/dashboard?id=compliance-trestle)](https://sonarcloud.io/api/project_badges/measure?project=compliance-trestle&metric=alert_status) ![[Pypi](https://pypi.org/project/compliance-trestle/)](https://img.shields.io/pypi/dm/compliance-trestle) ![GitHub Actions status](https://github.com/oscal-compass/compliance-trestle/actions/workflows/python-test.yml/badge.svg?branch=develop) +![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9408/badge) Trestle is an ensemble of tools that enable the creation, validation, and governance of documentation artifacts for compliance needs. It leverages NIST's [OSCAL](https://pages.nist.gov/OSCAL/documentation/) as a standard data format for interchange between tools and people, and provides an opinionated approach to OSCAL adoption. From 605c04400f66ca9ac76787d3ffb8a934cf42f690 Mon Sep 17 00:00:00 2001 From: Chris Butler Date: Mon, 2 Dec 2024 23:58:34 +1000 Subject: [PATCH 11/16] fix: correct missing script (#1754) Signed-off-by: Chris Butler --- .github/workflows/docs-update.yml | 2 +- scripts/mike_version_parse.py | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 scripts/mike_version_parse.py diff --git a/.github/workflows/docs-update.yml b/.github/workflows/docs-update.yml index 8e4d0951c..11a660bb7 100644 --- a/.github/workflows/docs-update.yml +++ b/.github/workflows/docs-update.yml @@ -38,7 +38,7 @@ jobs: python-version: ${{ needs.set-versions.outputs.max }} - id: versions run: | - mike_version=$(python ./scripts/check-version.py ${{ env.GITHUB_REF }}) + mike_version=$(python ./scripts/mike_version_parse.py ${{ env.GITHUB_REF }}) echo "mver=$mike_version" >> $GITHUB_OUTPUT deploy-docs: runs-on: ubuntu-latest diff --git a/scripts/mike_version_parse.py b/scripts/mike_version_parse.py new file mode 100644 index 000000000..5ca088f87 --- /dev/null +++ b/scripts/mike_version_parse.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Parsing of tags for mike.""" +import sys + +if __name__ == '__main__': + assert len(sys.argv) == 2 + revision = sys.argv[1] + + components = revision.split('/') + assert len(components) == 3 + if components[1] == 'heads' and components[2] == 'develop': + print('latest') # noqa: T201 + sys.exit(0) + elif components[1] == 'tags' and components[2][0] == 'v': + versions = components[2][1:].split('.') + if 'rc' in components[2][1:]: + print(components[2][1:]) # noqa: T201 + else: + print(f'{versions[0]}.{versions[1]}') # noqa: T201 + sys.exit(0) + +sys.exit(1) From a1bc938f263a0a67df9080336c08eedb3fbff8ee Mon Sep 17 00:00:00 2001 From: Jennifer Power Date: Tue, 3 Dec 2024 07:19:00 -0500 Subject: [PATCH 12/16] ci: fixes pipeline failures in docs (#1763) * docs: updates python semantic release link The existing link is no longer reachable and returns a 404 Signed-off-by: Jennifer Power * ci: updates github variable reference to use github.event.ref GITHUB_REF can't be used with the env context Signed-off-by: Jennifer Power * fix: updates python test to only check the mike script on PRs Signed-off-by: Jennifer Power * chore: removes the mike version check in python-test Testing locally would be simpler in this case. Signed-off-by: Jennifer Power --------- Signed-off-by: Jennifer Power --- .github/workflows/docs-update.yml | 4 +++- CONTRIBUTING.md | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs-update.yml b/.github/workflows/docs-update.yml index 11a660bb7..415d4bc72 100644 --- a/.github/workflows/docs-update.yml +++ b/.github/workflows/docs-update.yml @@ -37,8 +37,10 @@ jobs: with: python-version: ${{ needs.set-versions.outputs.max }} - id: versions + env: + REF: ${{ github.event.ref }} run: | - mike_version=$(python ./scripts/mike_version_parse.py ${{ env.GITHUB_REF }}) + mike_version=$(python ./scripts/mike_version_parse.py "$REF") echo "mver=$mike_version" >> $GITHUB_OUTPUT deploy-docs: runs-on: ubuntu-latest diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fdd4c9759..049d30103 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,7 +43,7 @@ Upon approval from reviewer(s), the working copy is squashed and merged into the Upon a cadence established by the maintainers, the develop branch is merged into the main branch and a new release is uniquely numbered and pushed to [pypi](https://pypi.org/project/compliance-trestle/). `trestle` employs `semantic release` to automatically control release numbering. -Code deliveries should be tagged with prefix `fix:` for changes that are bug fixes or `feat:` for changes that are new features. See [allowed_tags](https://python-semantic-release.readthedocs.io/en/latest/commit-parsing.html#:~:text=The%20default%20configuration%20options%20for%20semantic_release.commit_parser.AngularCommitParser%20are%3A) for a list of supported tags. +Code deliveries should be tagged with prefix `fix:` for changes that are bug fixes or `feat:` for changes that are new features. See [allowed_tags](https://python-semantic-release.readthedocs.io/en/latest/commit_parsing.html#commit-parser-builtin-angular) for a list of supported tags. ### Trestle merging and release workflow From 82aa27d12aca3c34314842db364835d8fdc1a064 Mon Sep 17 00:00:00 2001 From: Chris Butler Date: Wed, 4 Dec 2024 02:20:54 +1000 Subject: [PATCH 13/16] fix: needs are explicit (#1766) Signed-off-by: Chris Butler --- .github/workflows/docs-update.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs-update.yml b/.github/workflows/docs-update.yml index 415d4bc72..51276f4b5 100644 --- a/.github/workflows/docs-update.yml +++ b/.github/workflows/docs-update.yml @@ -26,7 +26,7 @@ jobs: echo "max=$max_version" >> $GITHUB_OUTPUT mike-version: runs-on: ubuntu-latest - needs: [ set-versions] + needs: [ set-versions ] outputs: mver: ${{ steps.versions.mver }} steps: @@ -44,7 +44,7 @@ jobs: echo "mver=$mike_version" >> $GITHUB_OUTPUT deploy-docs: runs-on: ubuntu-latest - needs: [ mike-version ] + needs: [ mike-version, set-versions ] steps: - uses: actions/create-github-app-token@v1 id: app-token From 700aef4a8f88d8b9ed9f4934acb4d1fc72975f2e Mon Sep 17 00:00:00 2001 From: Vikas Agarwal <75295756+vikas-agarwal76@users.noreply.github.com> Date: Tue, 3 Dec 2024 22:24:32 +0530 Subject: [PATCH 14/16] fix: Update setup.cfg to change author and email (#1767) --- setup.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.cfg b/setup.cfg index 882f204a8..4d32d3ba8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -2,8 +2,8 @@ name = compliance-trestle version = attr: trestle.__version__ description = Tools to manage & autogenerate python objects representing the OSCAL layers/models -author = IBM -author_email = avikas@in.ibm.com +author = OSCAL Compass +author_email = oscal-compass-oversight@googlegroups.com license = Apache Software License v2 url = https://oscal-compass.github.io/compliance-trestle classifiers = From 9f4919b81017018dbcdc714cf800ee6597e4ea26 Mon Sep 17 00:00:00 2001 From: Jennifer Power Date: Tue, 3 Dec 2024 19:29:38 -0500 Subject: [PATCH 15/16] fix: adds outputs context to mike-version output (#1768) Signed-off-by: Jennifer Power --- .github/workflows/docs-update.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs-update.yml b/.github/workflows/docs-update.yml index 51276f4b5..fae05bee0 100644 --- a/.github/workflows/docs-update.yml +++ b/.github/workflows/docs-update.yml @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-latest needs: [ set-versions ] outputs: - mver: ${{ steps.versions.mver }} + mver: ${{ steps.versions.outputs.mver }} steps: - uses: actions/checkout@v4 - name: Set up Python ${{ needs.set-versions.outputs.max }} From 6f5154931f366cd0eda27ed566df062c28878b30 Mon Sep 17 00:00:00 2001 From: Chris Butler Date: Fri, 6 Dec 2024 00:42:04 +1000 Subject: [PATCH 16/16] fix: set user id for doco pipeline (#1769) * fix: set user id for doco pipeline Signed-off-by: Chris Butler * fix: adds --push to mike deploy (#1773) Ensures changes are pushed to the gh-pages branch Signed-off-by: Jennifer Power --------- Signed-off-by: Chris Butler Signed-off-by: Jennifer Power Co-authored-by: Jennifer Power --- .github/workflows/docs-update.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docs-update.yml b/.github/workflows/docs-update.yml index fae05bee0..64eb7ee93 100644 --- a/.github/workflows/docs-update.yml +++ b/.github/workflows/docs-update.yml @@ -67,10 +67,24 @@ jobs: - name: Install documenation dependencies run: | make docs-ubuntu-deps + + - name: Get GitHub App User ID + id: get-user-id + run: echo "user-id=$(gh api "/users/${{ env.SLUG }}[bot]" --jq .id)" >> "$GITHUB_OUTPUT" + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + SLUG: ${{ steps.app-token.outputs.app-slug }} + - name: Configure Git + run: | + git config --global user.name '${{ env.SLUG }}[bot]' + git config --global user.email '${{ env.ID }}+${{ env.SLUG }}[bot]@users.noreply.github.com' + env: + SLUG: ${{ steps.app-token.outputs.app-slug }} + ID: ${{ steps.get-user-id.outputs.user-id }} - name: Create release shell: bash run: | - mike deploy ${{ needs.mike-version.outputs.mver }} + mike deploy --push ${{ needs.mike-version.outputs.mver }} - name: Ensure latest is latest shell: bash run: |