This repository has been archived by the owner on Dec 12, 2023. It is now read-only.
forked from GSA/fedramp-automation
-
Notifications
You must be signed in to change notification settings - Fork 8
Architectural Overview
Mark Shellenberger edited this page Sep 9, 2022
·
13 revisions
This document will outline:
-
core architectural choices made by the project team
- General Project Architectural Decisions
- Architectural Decisions will be recorded
- No specific release strategy was recorded Unofficially the project attempted to release on a bi-weekly basis. However, the updated code was always available after merge to the 18F main repo.
- Spock versioning was chosen as the versioning strategy.
- [Project followed GSA TTS Recommendations on GitHub team organization](https://github.com/18F/fedramp-automation/blob/master/documents/adr/0003-github-management-teams.md.
- Operational docs were stored in GitHub Wiki.
- Collection of Usage Metrics was via DAP and Google Forms at various points in the project.
- Code Specific Architectural Decisions
- XML and Schematron - XML was originally chosen as basis of validations due to familiarity of NIST developers with XML technologies. This was continued throughout the project after review by 10X. This allowed easier integration with NIST toolchain.
- The choice of Schematron for validation meant the requirement of an XSLT processor for transpilation. Several processors were evaluated. Saxon HE was chosen for widest usage and ease of itegration.
- XSLT integration within Schematron was supported. This allowed for reduced learning curve by developers already familiar with XSLT and a reduce reliance on duplicated code within the Schematron.
- General Project Architectural Decisions
-
high-level rationale with links to appropriate ADRs
-
potential considerations for future changes