From v0.6.0
, RuleSets cans be extended using external rule files, either locally or from a remote URL.
Using local file references
To break RuleSets into local files, use the extends
keyword, and supply a list of files to extend.
extends:
- spectral:oas
- vacuum:owasp
- my-ruleset.yaml
- ../extensions-ruleset.yaml
- /shared/components-rules.yaml
Using remote references
Same design as above, however URLs
can be used:
extends:
- spectral:oas
- vacuum:owasp
- http://some-url.com/my-ruleset.yaml
- https://some-where-out-there/some-shared-rules-for-everyone-to-use.yaml
Chainable RuleSets
RuleSets can be chained together. vacuum will continue loading RuleSets as long as external locations are defined in a RuleSet. Rules are loaded in the order they are defined in each RuleSet.
RuleSets cannot be circular. If a circular reference is detected, vacuum will log the error.