"Juju model linter with configurable policy. The following config options must be set: controller-endpoint controller-username controller-password controller-cacert * model-uuid"
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.
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)
- (string) The controller CA certificate. Value should be base64 encoded.
- (string) 'A controller API endpoint. (Syntax: "<hostname>:<port>")'
- (string) The respective controller user's password.
- (string) A controller user's username.
- (string) Juju Lint rules file path.
- (int) Specifies how often Juju Lint is run, in minutes.
- (string) Log file path.
- (string) 'Logging level, either "CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", or "NOTSET".'
- (string) 'Hash separated subordinate rule overrides. (Syntax: "<name>:<location>#<name>:<location>")'
- (string) The model UUID.
- (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.