mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Implement nats ansible role
This commit is contained in:
committed by
Dan Christian Bogos
parent
9d47eb568a
commit
43128dd3fa
8
data/ansible/roles/nats/defaults/main.yaml
Normal file
8
data/ansible/roles/nats/defaults/main.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
nats_version: 2.9.17
|
||||
|
||||
nats_user: nats
|
||||
nats_group: nats
|
||||
|
||||
service_enabled: true
|
||||
service_state: started
|
||||
39
data/ansible/roles/nats/tasks/main.yaml
Normal file
39
data/ansible/roles/nats/tasks/main.yaml
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
- name: Create user and group for NATS
|
||||
become: yes
|
||||
block:
|
||||
- group:
|
||||
name: "{{ nats_group }}"
|
||||
state: present
|
||||
- user:
|
||||
name: "{{ nats_user }}"
|
||||
group: "{{ nats_group }}"
|
||||
system: yes
|
||||
state: present
|
||||
|
||||
- name: Download NATS server
|
||||
get_url:
|
||||
url: "https://github.com/nats-io/nats-server/releases/download/v{{ nats_version }}/nats-server-v{{ nats_version }}-linux-amd64.tar.gz"
|
||||
dest: "/tmp/nats-server-v{{ nats_version }}-linux-amd64.tar.gz"
|
||||
mode: '0755'
|
||||
|
||||
- name: Extract NATS server archive
|
||||
unarchive:
|
||||
src: "/tmp/nats-server-v{{ nats_version }}-linux-amd64.tar.gz"
|
||||
dest: "/opt/nats"
|
||||
remote_src: yes
|
||||
|
||||
- name: Create systemd service file for NATS
|
||||
template:
|
||||
src: nats.service.j2
|
||||
dest: /etc/systemd/system/nats.service
|
||||
|
||||
- name: Reload systemd daemon
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
|
||||
- name: Set NATS service state
|
||||
systemd:
|
||||
name: nats
|
||||
enabled: "{{ service_enabled }}"
|
||||
state: "{{ service_state }}"
|
||||
12
data/ansible/roles/nats/templates/nats.service.j2
Normal file
12
data/ansible/roles/nats/templates/nats.service.j2
Normal file
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=NATS Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/nats/nats-server-v{{ nats_version }}-linux-amd64/nats-server
|
||||
User={{ nats_user }}
|
||||
Group={{ nats_group }}
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user