Lints naiserator.yaml files
Project description
naislinter
A simple Python script to validate that your NAIS yaml file adheres to the NAIS specifications.
GitHub Action
To set up this as a GitHub Action, add the following as a step in your workflow:
- name: naislint nais.yaml
uses: nais/naislinter@v1.0.2
env:
RESOURCE: nais.yaml
The action follows the same footprint as nais/deploy
for injecting variables to templates, however some environment variables are not required, such as APIKEY
, CLUSTER
.
Local installation
pip install naislinter
Local usage
naislinter nais.yaml
Will print any path in the config tree that falls outside of the spec and return a non-zero code if any were encountered.
Returns 0 if the file is valid according to the NAIS specifications.
Limitations
This does not validate value types, this is not in scope as nais/deploy
verifies types and rejects
a deployment if the NAIS yaml file is malformed in this fashion.
Additionally, this tool requires a fully formed NAIS yaml file, after any template injections.
A file containing {{ image }}
will therefore fail, unless the variable has been injected.
This is not relevant in the GitHub Action, as template injection happens before naislinter
runs.
Finally, in its current state, the tool is unable to verify objects within lists. For instance:
spec:
env:
- name: KEY
value: value
- name: ANOTHER_KEY
value: another_value
key_outside_of_spec: hello!
key_outside_of_spec
will not be caught as an error since it's in an object within a list.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file naislinter-1.0.3.tar.gz
.
File metadata
- Download URL: naislinter-1.0.3.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f67110405832978df008745508b7ecc66cbe7d3439d2679ad6b10b3d9a2cc033 |
|
MD5 | 1c1122f55e8b80591a6b9fe5b55b5fbe |
|
BLAKE2b-256 | 14e7ea9de7f4344244e90a51810919310845ba9007c731020e3d2bb1741c6516 |