From fabe4bfcfb0762593cbbd485dcc54d6cee97cb67 Mon Sep 17 00:00:00 2001 From: Amritanshu Date: Sat, 29 Aug 2026 12:31:09 +0000 Subject: [PATCH] Added nats --- nats/playbook.yml | 31 +++++++++++++++++++++++++++++++ nats/readme.md | 31 +++++++++++++++++++++++++++++++ nats/vars/default.yml | 4 ++++ 3 files changed, 66 insertions(+) create mode 100644 nats/playbook.yml create mode 100644 nats/readme.md create mode 100644 nats/vars/default.yml diff --git a/nats/playbook.yml b/nats/playbook.yml new file mode 100644 index 0000000..77b9d9a --- /dev/null +++ b/nats/playbook.yml @@ -0,0 +1,31 @@ +--- +- hosts: clair + become: true + vars_files: + - vars/default.yml + + tasks: + - name: Pull default nats image + docker_image: + name: "{{ container_image }}" + source: pull + force_source: yes + + - name: Ensure NATS data directory exists + file: + path: "{{ data_location }}" + state: directory + mode: 0755 + + - name: Create nats container with JetStream enabled + docker_container: + name: "{{ container_name }}" + image: "{{ container_image }}" + state: started + restart_policy: "unless-stopped" + command: "--jetstream --store_dir /data --http_port 8222" + volumes: + - "{{ data_location }}:/data" + published_ports: + - "127.0.0.1:4222:4222" + - "127.0.0.1:8222:8222" diff --git a/nats/readme.md b/nats/readme.md new file mode 100644 index 0000000..e0ba125 --- /dev/null +++ b/nats/readme.md @@ -0,0 +1,31 @@ +# NATS with JetStream + +This playbook will set up a NATS server with JetStream enabled using Docker. + +## Settings + +- `container_name`: name of the NATS container. +- `container_image`: image to use for the NATS container. +- `data_location`: host path for persistent data directory (default: `/var/lib/nats`). + +## Running this Playbook + +### 1. Customize Options + +```shell +nano vars/default.yml +``` + +```yml +#vars/default.yml +--- +container_name: nats +container_image: nats:latest +data_location: /var/lib/nats +``` + +### 2. Run the Playbook + +```command +ansible-playbook -l [target] -i [inventory file] -u [remote user] playbook.yml +``` diff --git a/nats/vars/default.yml b/nats/vars/default.yml new file mode 100644 index 0000000..fcac40b --- /dev/null +++ b/nats/vars/default.yml @@ -0,0 +1,4 @@ +--- +container_name: nats +container_image: nats:latest +data_location: /var/lib/nats