Implement nats ansible role

This commit is contained in:
ionutboangiu
2023-06-02 11:12:51 -04:00
committed by Dan Christian Bogos
parent 9d47eb568a
commit 43128dd3fa
3 changed files with 59 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
---
nats_version: 2.9.17
nats_user: nats
nats_group: nats
service_enabled: true
service_state: started

View 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 }}"

View 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