https://github.com/igosuki/nats_ansible_role
Ansible Galaxy role for NATS server
https://github.com/igosuki/nats_ansible_role
ansible ansible-role nats nats-streaming
Last synced: 7 months ago
JSON representation
Ansible Galaxy role for NATS server
- Host: GitHub
- URL: https://github.com/igosuki/nats_ansible_role
- Owner: Igosuki
- Created: 2021-08-07T14:59:20.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-08-09T10:34:22.000Z (about 4 years ago)
- Last Synced: 2025-01-30T12:15:57.518Z (8 months ago)
- Topics: ansible, ansible-role, nats, nats-streaming
- Language: Jinja
- Homepage:
- Size: 24.4 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Ansible NATS
=========Installs and configures a [NATS server](https://github.com/nats-io/nats-server)
Requirements
------------A running internet connection to download packages
Role Variables
--------------Look up the nats documentation for definitions
### Logging
- nats_debug_logging : enable debug logging
- nats_trace_logging : enable trace logging### Net
- nats_client_port : nats cli port
- nats_monitor_port : monitoring port
- nats_listen_on : bind address### TLS
- nats_tls_enabled : if set, enable tls configuration
- nats_tls_cert_file : tls certificate
- nats_tls_key_file : tls key file
- nats_tls_ca_file : tls ca file
- nats_tls_timeout : timeout for establishing tls connections### Clustering
#### Routes
- nats_route_port : the port used to communicate and route messages within the clusterConfiguring a nats group like so will enable routes between machines
```
[nats]
nats1
nats2
```#### Authorisation
- nats_auth_user : user
- nats_auth_password : password
- nats_auth_timeout : connection timeout### Streaming
- nats_cluster_id : the cluster identifier
- nats_discover_prefix : NATS subject for client server discovery
- nats_store_type : NATS storage type
- nats_dir : NATS file storage, if nats_store_type is 'file'#### Store Limits
These configurations are used to define limits imposed on channels.
- nats_max_channels : max number of channels
- nats_max_msgs : max number of messages in a channel
- nats_max_subs : max number of subscriptions on a channel
- nats_max_bytes : max number of bytes of messages in a channel before space is reclaimed
- nats_max_age : max time to keep a message in a channel
- nats_max_inactivity : max time without messages before the channel is deleted
- nats_channel_overrides : a dictionnary of channel overrides, the key is a NATS subscription expression and the value is a dict with max_msgs, max_bytes, max_age, max_subs, max_inactivity### Jetstream
- nats_jst_enabled : boolean that enables the jetstream configuration### Monitoring
- nats_prometheus_exporter : boolean that enables running the nats prometheus exporterFor other missing variables, check the templates.
Dependencies
------------No dependencies
Example Playbook
----------------The NATS cluster will be created from hosts belonging to the 'nats' group.
License
-------BSD
Author Information
------------------https://github.com/Igosuki
### Contributing
Build the docker image : ```docker build -t ubuntu-python-systemd:20.04 .```
Install the requirements : ```pip install -r test_requirements.txt```
Test : ```molecule --debug test```