From e661bbc7dde3936ab74d67126a8a1135a1211d01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian-Samuel=20Geb=C3=BChr?= Date: Wed, 28 Jun 2023 22:41:48 +0200 Subject: [PATCH 1/5] Add rumqttd --- docs/supported-services.md | 1 + group_vars/mash_servers | 21 +++++++++++++++++++++ requirements.yml | 3 +++ setup.yml | 2 ++ 4 files changed, 27 insertions(+) diff --git a/docs/supported-services.md b/docs/supported-services.md index 26222eb..4d81abd 100644 --- a/docs/supported-services.md +++ b/docs/supported-services.md @@ -43,6 +43,7 @@ | [Radicale](https://radicale.org/) | A Free and Open-Source CalDAV and CardDAV Server (solution for hosting contacts and calendars) | [Link](services/radicale.md) | | [Redmine](https://redmine.org/) | A flexible project management web application. | [Link](services/redmine.md) | | [Redis](https://redis.io/) | An in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker. | [Link](services/redis.md) | +| [rumqttd](https://github.com/bytebeamio/rumqtt/tree/main/rumqttd) | A high performance, embeddable [MQTT](https://en.wikipedia.org/wiki/MQTT) broker | [Link](services/rumqttd.md) | | [Soft Serve](https://github.com/charmbracelet/soft-serve) | A tasty, self-hostable [Git](https://git-scm.com/) server for the command line | [Link](services/soft-serve.md) | | [Syncthing](https://syncthing.net/) | A continuous file synchronization program which synchronizes files between two or more computers in real time | [Link](services/syncthing.md) | | [Traefik](https://doc.traefik.io/traefik/) | A container-aware reverse-proxy server | [Link](services/traefik.md) | diff --git a/group_vars/mash_servers b/group_vars/mash_servers index ece9d0b..4c80e07 100644 --- a/group_vars/mash_servers +++ b/group_vars/mash_servers @@ -185,6 +185,8 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': (redis_identifier + '.service'), 'priority': 750, 'groups': ['mash', 'redis']}] if redis_enabled else []) + + ([{'name': (rumqttd_identifier + '.service'), 'priority': 750, 'groups': ['mash', 'rumqttd']}] if rumqttd_enabled else []) + + ([{'name': (soft_serve_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'soft-serve']}] if soft_serve_enabled else []) + ([{'name': (syncthing_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'syncthing']}] if syncthing_enabled else []) @@ -2298,7 +2300,26 @@ redis_gid: "{{ mash_playbook_gid }}" # # ######################################################################## +######################################################################## +# # +# rumqttd # +# # +######################################################################## +rumqttd_enabled: false + +rumqttd_identifier: "{{ mash_playbook_service_identifier_prefix }}rumqttd" + +rumqttd_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}rumqttd" + +rumqttd_uid: "{{ mash_playbook_uid }}" +rumqttd_gid: "{{ mash_playbook_gid }}" + +######################################################################## +# # +# /rumqttd # +# # +######################################################################## ######################################################################## diff --git a/requirements.yml b/requirements.yml index 351cea0..01695aa 100644 --- a/requirements.yml +++ b/requirements.yml @@ -140,6 +140,9 @@ version: v7.0.10-0 - src: git+https://gitlab.com/etke.cc/roles/redmine.git version: v5.0.5-2 +- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-rumqttd.git + version: v0.21.0-0 + name: rumqttd - src: git+https://gitlab.com/etke.cc/roles/soft_serve.git version: v0.4.7-0 - src: git+https://gitlab.com/etke.cc/roles/ssh.git diff --git a/setup.yml b/setup.yml index 21f74ec..670bbe8 100644 --- a/setup.yml +++ b/setup.yml @@ -125,6 +125,8 @@ - role: galaxy/redis + - role: galaxy/rumqttd + - role: galaxy/soft_serve - role: galaxy/syncthing From cfc591709f34ca1af52adb316291ad3a16bf4c4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian-Samuel=20Geb=C3=BChr?= Date: Wed, 28 Jun 2023 22:43:45 +0200 Subject: [PATCH 2/5] Default to 2000 priority --- group_vars/mash_servers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/group_vars/mash_servers b/group_vars/mash_servers index 4c80e07..92dc745 100644 --- a/group_vars/mash_servers +++ b/group_vars/mash_servers @@ -185,7 +185,7 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': (redis_identifier + '.service'), 'priority': 750, 'groups': ['mash', 'redis']}] if redis_enabled else []) + - ([{'name': (rumqttd_identifier + '.service'), 'priority': 750, 'groups': ['mash', 'rumqttd']}] if rumqttd_enabled else []) + ([{'name': (rumqttd_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'rumqttd']}] if rumqttd_enabled else []) + ([{'name': (soft_serve_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'soft-serve']}] if soft_serve_enabled else []) + From 8977d816faa244c74ead69f18aee21cf8b416ffa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian-Samuel=20Geb=C3=BChr?= Date: Wed, 28 Jun 2023 23:55:54 +0200 Subject: [PATCH 3/5] Add docs --- docs/services/rumqttd.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 docs/services/rumqttd.md diff --git a/docs/services/rumqttd.md b/docs/services/rumqttd.md new file mode 100644 index 0000000..7ed18c3 --- /dev/null +++ b/docs/services/rumqttd.md @@ -0,0 +1,37 @@ +# rumqttd + +A high performance, embeddable [MQTT](https://en.wikipedia.org/wiki/MQTT) broker installed via [mother-of-all-self-hosting/ansible-role-rumqttd](https://github.com/mother-of-all-self-hosting/ansible-role-rumqttd). + + +# Configuring this role for your playbook + +## Dependencies + +This service does not require any dependecies. + +## Configuration + +To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process: + +```yaml +######################################################################## +# # +# rumqttd # +# # +######################################################################## + +rumqttd_enabled: true + + +######################################################################## +# # +# /rumqttd # +# # +######################################################################## +``` + + + +## Usage + +You can then start to send MQTT messages to your broker on port 1883 via your From f2859597abd617ebacc303d677b4d2fe351dfb23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian-Samuel=20Geb=C3=BChr?= Date: Fri, 30 Jun 2023 11:48:08 +0200 Subject: [PATCH 4/5] Fix up doc --- docs/services/rumqttd.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/services/rumqttd.md b/docs/services/rumqttd.md index 7ed18c3..b2dbb0e 100644 --- a/docs/services/rumqttd.md +++ b/docs/services/rumqttd.md @@ -1,6 +1,6 @@ # rumqttd -A high performance, embeddable [MQTT](https://en.wikipedia.org/wiki/MQTT) broker installed via [mother-of-all-self-hosting/ansible-role-rumqttd](https://github.com/mother-of-all-self-hosting/ansible-role-rumqttd). +[rumqttd](https://github.com/bytebeamio/rumqtt/tree/main/rumqttd) is a high performance, embeddable [MQTT](https://en.wikipedia.org/wiki/MQTT) broker installed via [mother-of-all-self-hosting/ansible-role-rumqttd](https://github.com/mother-of-all-self-hosting/ansible-role-rumqttd). # Configuring this role for your playbook @@ -20,6 +20,7 @@ To enable this service, add the following configuration to your `vars.yml` file # # ######################################################################## + rumqttd_enabled: true @@ -31,7 +32,6 @@ rumqttd_enabled: true ``` - ## Usage -You can then start to send MQTT messages to your broker on port 1883 via your +You can then start to send and subscribe to MQTT topics. Use port 1883 and the servers IP or any domain you configured to point at this server. From a34288232ee3929d7e245bd023fbedd926e4a418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian-Samuel=20Geb=C3=BChr?= Date: Fri, 30 Jun 2023 12:40:39 +0200 Subject: [PATCH 5/5] Link base repo --- docs/services/rumqttd.md | 2 +- docs/supported-services.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/services/rumqttd.md b/docs/services/rumqttd.md index b2dbb0e..44da4bd 100644 --- a/docs/services/rumqttd.md +++ b/docs/services/rumqttd.md @@ -1,6 +1,6 @@ # rumqttd -[rumqttd](https://github.com/bytebeamio/rumqtt/tree/main/rumqttd) is a high performance, embeddable [MQTT](https://en.wikipedia.org/wiki/MQTT) broker installed via [mother-of-all-self-hosting/ansible-role-rumqttd](https://github.com/mother-of-all-self-hosting/ansible-role-rumqttd). +[rumqttd](https://github.com/bytebeamio/rumqtt) is a high performance, embeddable [MQTT](https://en.wikipedia.org/wiki/MQTT) broker installed via [mother-of-all-self-hosting/ansible-role-rumqttd](https://github.com/mother-of-all-self-hosting/ansible-role-rumqttd). # Configuring this role for your playbook diff --git a/docs/supported-services.md b/docs/supported-services.md index 4d81abd..cb99f3a 100644 --- a/docs/supported-services.md +++ b/docs/supported-services.md @@ -43,7 +43,7 @@ | [Radicale](https://radicale.org/) | A Free and Open-Source CalDAV and CardDAV Server (solution for hosting contacts and calendars) | [Link](services/radicale.md) | | [Redmine](https://redmine.org/) | A flexible project management web application. | [Link](services/redmine.md) | | [Redis](https://redis.io/) | An in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker. | [Link](services/redis.md) | -| [rumqttd](https://github.com/bytebeamio/rumqtt/tree/main/rumqttd) | A high performance, embeddable [MQTT](https://en.wikipedia.org/wiki/MQTT) broker | [Link](services/rumqttd.md) | +| [rumqttd](https://github.com/bytebeamio/rumqtt) | A high performance, embeddable [MQTT](https://en.wikipedia.org/wiki/MQTT) broker | [Link](services/rumqttd.md) | | [Soft Serve](https://github.com/charmbracelet/soft-serve) | A tasty, self-hostable [Git](https://git-scm.com/) server for the command line | [Link](services/soft-serve.md) | | [Syncthing](https://syncthing.net/) | A continuous file synchronization program which synchronizes files between two or more computers in real time | [Link](services/syncthing.md) | | [Traefik](https://doc.traefik.io/traefik/) | A container-aware reverse-proxy server | [Link](services/traefik.md) |