Skip to main content

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 to hostname, then hostname read using socket.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 name
  • RUNNER_NATS_PASSWORD: user password
  • RUNNER_NATS_TOKEN: connection token
  • RUNNER_NATS_USER_CREDENTIALS: user credentials
  • RUNNER_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 name
  • RUNNER_NATS_CLIENT_VERBOSE: enable verbose mode when value is true, yes, y, 1 or on.
  • RUNNER_NATS_ALLOW_RECONNECT: allow reconnect when value is true, yes, y, 1 or on.
  • RUNNER_NATS_CONNECT_TIMEOUT: connection timeout in seconds
  • RUNNER_NATS_RECONNECT_TIME_WAIT: time to wait before reconnecting
  • RUNNER_NATS_MAX_RECONNECT_ATTEMPTS: maximum number of reconnect attempts
  • RUNNER_NATS_PING_INTERVAL: interval between system pings
  • RUNNER_MAX_OUTSTANDING_PINGS: maximum number of outstanding ping before considering connection stale
  • RUNNER_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

ansible-runner-nats-0.4.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

ansible_runner_nats-0.4.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

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

Hashes for ansible-runner-nats-0.4.0.tar.gz
Algorithm Hash digest
SHA256 9ca632b820be1f8cdf2ed5e72081f0abcafa59035fb544bd6377f02a722dabd0
MD5 380624ce42be18d8d82076dcfdd27b28
BLAKE2b-256 1a70dcb741c1273428302a67e28e3e4ca239c65ec2f35de6b3f40e98a6cc8dd3

See more details on using hashes here.

File details

Details for the file ansible_runner_nats-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ansible_runner_nats-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed6e9ded0cd63cbfadc275693589778d45210df921102cfcbb08099fb09d3b3e
MD5 082c05a15cd8d5f5d4b1f8d39add2841
BLAKE2b-256 3d2d01ff0a8f06a581226f145d4758cd4deb105c2038ad34bd1815a80705f2d2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page