finos / finos/architecture-as-code
Standards Validation for Externally Generated Architectures
- Dominant language
- TypeScript
- Stars
- 399
- Forks
- 138
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 38
Description
When using Patterns, the enforcement of Standards is straightforward. It is easy to constrain `nodes` and `relationships`, etc by using JSON Schema directly and constraining a `node` to be of a more specific type. I think it is fair to say that Standard currently work best when in patterns or in control requirements.
The challenge arises when coming from the other direction, where an architecture is generated from some external system. In that case, the generation would produce nodes that follow a standard FINOS node, but there is no Standards enforcement applied.
**Simple Case**
The first need is some form of validation that is aware of custom Standards and can apply them in place of the default Standards. This would be a straightforward feature: here are my Standards, apply them. I think this would likely sit in the validator.
**Complex Case**
The more complicated approach would be to say that in a specific scenario, for example, connecting to a data store in the EU, a different Standard must apply. This is contextual or conditional Standard enforcement, where the Standard applied depends on the properties of the architecture being validated. These would be more complex "business level" rules for validating architectures.
Originally discussed on #2487 and raised by Vlad Kaipetsky (@vkaipetsky).
Contributor guide
Assessment
This issue has not been assessed yet.