Lint .lagoon.yml
for validity.
lagoon-linter
has the concept of profiles for validating .lagoon.yml
files.
Different profiles apply different linting checks.
Name | Description |
---|---|
required | Checks for invalid or restricted content in .lagoon.yml . These will fail a Lagoon build. |
deprecated | Checks for deprecated content in .lagoon.yml . These will print a warning in a Lagoon build. |
If no profile is specified, the required
profile will run by default.
Currently implemented linters.
Name | Profile | Description |
---|---|---|
RouteAnnotation | required | Validates Lagoon Route / Kubernetes Ingress annotations. See the documentation here for details. |
Cronjobs | required | Validates environment cron jobs. |
MonitoringURLs | deprecated | Checks for the presence of monitoring_urls . |
Run lagoon-linter
in the directory containing your .lagoon.yml
.
See lagoon-linter --help
for options.
lagoon-linter validate-config-map-json
allows you to validate a dump of configmaps from an existing kubernetes cluster containing Lagoon environments.
This is helpful when making changes to the linter where you want to check if it will cause build failures on existing Lagoon environments.
First get a dump of configmaps:
for cluster in abc1 xyz2; do
# assuming kconfig switches kubectl contexts
kconfig myname-$cluster && kubectl get configmap --field-selector metadata.name=lagoon-yaml -Ao json > ~/download/lagoon-yml-audit/amazeeio-$cluster.cm.json;
done
Then run the linter over them.
It will automatically detect and validate .lagoon.yml
configmaps only.
for file in ~/download/lagoon-yml-audit/*.json; do
echo $file; ./lagoon-linter validate-config-map-json --config-map-json $file;
done