Ansible Runner NATS emitter
Project description
Ansible Runner NATS Event Emitter
This project is a plugin for Ansible Runner that allows emitting Ansible status and events to NATS in the form of published messages. This can allow Runner
to notify other systems as Ansible jobs are run and to deliver key events to that system if it's interested.
For more details and the latest documentation see: https://ansible-runner.readthedocs.io/en/latest
Configuring the emitter
Default behaviour
By default the emitter is disabled.
Enabling the emitter
In order to enable the emitter, subject ID must be configured either as nats_subject_id
variable or as an environment variable:
RUNNER_NATS_SUBJECT_ID
: Subject ID
When subject ID is configured, messages are published to the following subjects:
-
pub.ansible.runner.{subject_id}.{runner_ident}.event
: message contains an event -
pub.ansible.runner.{subject_id}.{runner_ident}.status
: message contains a status update
runner_ident
is an auto-generated UUID assigned to each runner instance.
Special case: if
RUNNER_NATS_SUBJECT_ID
is set tohostname
, then hostname read usingsocket.gethostname()
is used as subject id.
Configuring headers
Headers can be configured to be sent with each message.
They can be provided as comma separated list of keyvalues (using =
).
Example: RUNNER_NATS_HEADERS="producer=ansible-runner,foo=bar"
Configuring NATS client
NATS client options can be provided as nats_options
settings in the runner config settings.
Configuring client authentication
The following environment variables can be set to authenticate the client:
RUNNER_NATS_USERNAME
: user nameRUNNER_NATS_PASSWORD
: user passwordRUNNER_NATS_TOKEN
: connection tokenRUNNER_NATS_USER_CREDENTIALS
: user credentialsRUNNER_NATS_NKEYS_SEED
: user nkey seed
Configuring servers
RUNNER_NATS_SERVERS
: comma separated list of NATS server URLs.
Advanced configuration
RUNNER_NATS_CLIENT_NAME
: client nameRUNNER_NATS_CLIENT_VERBOSE
: enable verbose mode when value istrue
,yes
,y
,1
oron
.RUNNER_NATS_ALLOW_RECONNECT
: allow reconnect when value istrue
,yes
,y
,1
oron
.RUNNER_NATS_CONNECT_TIMEOUT
: connection timeout in secondsRUNNER_NATS_RECONNECT_TIME_WAIT
: time to wait before reconnectingRUNNER_NATS_MAX_RECONNECT_ATTEMPTS
: maximum number of reconnect attemptsRUNNER_NATS_PING_INTERVAL
: interval between system pingsRUNNER_MAX_OUTSTANDING_PINGS
: maximum number of outstanding ping before considering connection staleRUNNER_NATS_FLUSHER_QUEUE_SIZE
: maximum size of flusher queue
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
Built Distribution
File details
Details for the file ansible-runner-nats-0.4.0.tar.gz
.
File metadata
- Download URL: ansible-runner-nats-0.4.0.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ca632b820be1f8cdf2ed5e72081f0abcafa59035fb544bd6377f02a722dabd0 |
|
MD5 | 380624ce42be18d8d82076dcfdd27b28 |
|
BLAKE2b-256 | 1a70dcb741c1273428302a67e28e3e4ca239c65ec2f35de6b3f40e98a6cc8dd3 |
File details
Details for the file ansible_runner_nats-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: ansible_runner_nats-0.4.0-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed6e9ded0cd63cbfadc275693589778d45210df921102cfcbb08099fb09d3b3e |
|
MD5 | 082c05a15cd8d5f5d4b1f8d39add2841 |
|
BLAKE2b-256 | 3d2d01ff0a8f06a581226f145d4758cd4deb105c2038ad34bd1815a80705f2d2 |