juju lint #0
Description
"Juju model linter with configurable policy. The following config options must be set: controller-endpoint controller-username controller-password controller-cacert * model-uuid"
Overview
Juju Lint - a Juju model linter with configurable policy.
This charm deploys Juju Lint, along with a script to automate its execution,
auto_lint.py
. In addition, a crontab is deployed to run auto_lint.py
, as well
as a Nagios check which analyses Juju Lint output and alerts on errors.
Usage
Deploy this charm with:
juju deploy charm-juju-lint juju-lint
The following model connection config values must be set to allow libjuju to retrieve Juju status output. It is HIGHLY recommended that a new user be created and "read" granted to that user on the model defined:
- controller-endpoint - A controller API endpoint (syntax: "\<hostname>:\<port>")
- controller-username - A controller user's username
- controller-password - The respective controller user's password
- controller-cacert - The controller CA certificate
- model-uuid - The model UUID
When setting controller-cacert, the following command sytax is recommended:
juju config juju-lint controller-cacert='
-----BEGIN CERTIFICATE-----
<certificate body>
-----END CERTIFICATE-----
'
The following Juju Lint options are available:
- lint-config - Juju Lint rules file path
- lint-override - Hash separated subordinate rule overrides (syntax: "\<name>:\<location>#\<name>:\<location>")
- lint-loglevel - Logging level, either "CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", or "NOTSET"
- lint-logfile - Log file path
- lint-frequency - Specifies how often Juju Lint is run, in minutes
Juju Lint (upstream)
- Website: https://launchpad.net/juju-lint
- Bug tracker: https://bugs.launchpad.net/juju-lint
- Maintainers: https://launchpad.net/~juju-linters
Configuration
- controller-cacert
- (string) The controller CA certificate. Value should be base64 encoded.
- controller-endpoint
- (string) 'A controller API endpoint. (Syntax: "<hostname>:<port>")'
- controller-password
- (string) The respective controller user's password.
- controller-username
- (string) A controller user's username.
- lint-config
- (string) Juju Lint rules file path.
- /snap/juju-lint/current/contrib/canonical-rules.yaml
- lint-frequency
- (int) Specifies how often Juju Lint is run, in minutes.
- 30
- lint-logfile
- (string) Log file path.
- lint-loglevel
- (string) 'Logging level, either "CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", or "NOTSET".'
- INFO
- lint-override
- (string) 'Hash separated subordinate rule overrides. (Syntax: "<name>:<location>#<name>:<location>")'
- model-uuid
- (string) The model UUID.
- nagios_context
- (string) A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
- juju