ssube dcb211c382 | ||
---|---|---|
config | ||
docs | ||
examples | ||
rules | ||
src | ||
vendor/jsonpath-plus | ||
.gitignore | ||
.npmignore | ||
LICENSE.md | ||
Makefile | ||
README.md | ||
package.json | ||
tsconfig.json | ||
yarn.lock |
README.md
SALTY DOG
JSON schema analysis, linting, and transformation for YAML, featuring defaults, optional fields, and other good stuff.
Build
> git clone git@github.com:ssube/salty-dog.git
> make
Usage
To validate the rules in the rules/
directory:
> make run-rules
...
{"name":"salty-dog","hostname":"cerberus","pid":29403,"level":30,"msg":"all rules passed","time":"2019-06-16T00:56:55.132Z","v":0}
To validate a file:
> cat rules/examples/kubernetes-require-resources-fail.yml |\
salty-dog \
--rules rules/kubernetes.yml \
--source - \
--tag important |\
./node_modules/.bin/bunyan
[2019-06-15T23:56:04.764Z] ERROR: salty-dog/22211 on cerberus: some rules failed (errors=1)
> cat rules/examples/kubernetes-require-resources-pass.yml |\
salty-dog \
--rules rules/kubernetes.yml \
--source - \
--tag important |\
./node_modules/.bin/bunyan
[2019-06-15T23:53:34.223Z] INFO: salty-dog/19839 on cerberus: all rules passed
Options
Count
- Alias:
c
Exit with the error count (max of 255) rather than 0
or 1
.
Exclude
Excludes take priority over includes: a rule matching some of both will be excluded.
Exclude Level
Exclude rules by log level.
Exclude Name
Exclude rules by name.
Exclude Tag
Exclude rules by tag.
Include
Include Level
Include rules by log level.
Include Name
Include rules by name.
Include Tag
- Alias:
t
,tag
Include rules by tag.
Mode
- Alias:
m
- Default:
check
The application mode.
Options:
check
runs each rule and exits with an indicative statusclean
runs each rule and updates the source data with any defaults or other changes before running the next rule
Rules
The path to a file containing some rules
.
Source
- Alias:
s
- Default:
-
The source file to validate.
Defaults to stdin (-
) to work with pipes: cat file.yml | salty --source -