vacuum
vacuum copied to clipboard
schema function behavior inconsistent with equivalent spectral rule
Attempting to use the schema function to validate an entire input file (non-OAS).
Given
❯ vacuum version
0.9.15
❯ spectral --version
6.11.1
rules.yaml
rules:
check-only-consumers:
description: "Ensure only consumer entities in state files"
given: "$"
severity: error
then:
function: schema
functionOptions:
schema:
type: "object"
properties:
consumers:
type: "array"
additionalProperties: false
consumers.yaml
consumers:
- username: mortgage-consumer-0
custom_id: mortgage-consumer-0
consumers-bad.yaml
consumers:
- username: mortgage-consumer-0
custom_id: mortgage-consumer-0
services:
enabled: true
Spectral lint of consumers.yaml:
No results with a severity of 'error' found!
and for consumers-bad.yaml
1:1 error check-only-consumers Ensure only consumer entities in state files
✖ 1 problem (1 error, 0 warnings, 0 infos, 0 hints)
the vacuum CLI reports no issues on either file:
INFO: Linting file 'consumers.yaml' against 1 rules:
Linting passed, A perfect score! well done!%
or
INFO: Linting file 'consumers-bad.yaml' against 1 rules:
Linting passed, A perfect score! well done!%
This happens in my case as well. I have a similar usecase and I realized discrepancy between spectral and vacuum. Any idea @daveshanley?
Addressed in v0.17.11