Merge pull request #52 from corvus-migratorius/fix-role-readmes

Enforce consistency across role READMEs
This commit is contained in:
Fogucoco
2025-12-19 13:44:15 +03:00
committed by GitHub
50 changed files with 112 additions and 236 deletions

View File

@@ -1,4 +1,4 @@
genlab.alertmanager alertmanager
========= =========
The [Alertmanager](https://github.com/prometheus/alertmanager) handles alerts sent by client applications such as the Prometheus server. It takes care of deduplicating, grouping, and routing them to the correct receiver integration such as email, PagerDuty, or OpsGenie. It also takes care of silencing and inhibition of alerts. The [Alertmanager](https://github.com/prometheus/alertmanager) handles alerts sent by client applications such as the Prometheus server. It takes care of deduplicating, grouping, and routing them to the correct receiver integration such as email, PagerDuty, or OpsGenie. It also takes care of silencing and inhibition of alerts.
@@ -34,13 +34,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.template
config_source_dir: alertmanager
alertmanager_version: 0.28.1
```
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,4 +1,4 @@
ansible-borgmatic borgmatic
========= =========
This is a wrapper around the `borgmatic` role from the `maxhoesel.borgbackup` collection. This is a wrapper around the `borgmatic` role from the `maxhoesel.borgbackup` collection.
@@ -12,7 +12,7 @@ In the case of Borgmatic we are installing it via `pipx`, as recommended by thei
Requirements Requirements
------------ ------------
- `maxhoesel.borgbackup` collection installed (see `requirements.yml`); - `maxhoesel.borgbackup` collection installed;
Role Variables Role Variables
-------------- --------------
@@ -27,7 +27,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
See `molecule/default/converge.yml` See: [converge.yml](molecule/default/converge.yml)
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,2 +0,0 @@
.vscode
.idea

View File

@@ -1,7 +1,7 @@
curl-scheduled curl_scheduled
========= =========
Configure curl to run on schedule by deploying a systemd service + timer. Useful for sending heartbeats. Configure `curl` to run on schedule by deploying a systemd service + timer. Useful for sending heartbeats.
Requirements Requirements
------------ ------------
@@ -12,9 +12,7 @@ Role Variables
-------------- --------------
- `args`: arguments to the curl command - `args`: arguments to the curl command
- `url`: address to be accessed by curl - `url`: address to be accessed by curl
- `schedule`: string compatible with systemd timer `OnSchedule` option (default: `minutely`) - `schedule`: string compatible with systemd timer `OnSchedule` option (default: `minutely`)
@@ -26,7 +24,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
See `molecule/default/converge.yml`. See: [converge.yml](molecule/default/converge.yml)
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,7 +1,7 @@
ansible-dnsmasq dnsmasq
========= =========
Deploy dnsmasq on the target node. For now, supports only DNS functionality (DHCP and TFTP are not configuratble). Deploy `dnsmasq` on the target node. For now, supports only DNS functionality (DHCP and TFTP are not configurable).
Requirements Requirements
------------ ------------
@@ -21,10 +21,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.dnsmasq
```
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -3,10 +3,6 @@ docker_ubuntu
Install Docker ecosystem on Ubuntu. Install Docker ecosystem on Ubuntu.
[![lint](https://github.com/corvus-migratorius/ansible-docker-ubuntu/actions/workflows/lint.yaml/badge.svg)](https://github.com/corvus-migratorius/ansible-docker-ubuntu/actions/workflows/lint.yaml)
[![molecule](https://github.com/corvus-migratorius/ansible-docker-ubuntu/actions/workflows/molecule.yaml/badge.svg)](https://github.com/corvus-migratorius/ansible-docker-ubuntu/actions/workflows/molecule.yaml)
Requirements Requirements
------------ ------------
@@ -25,10 +21,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.common.docker_ubuntu
```
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: ["docker"] galaxy_tags: ["docker"]

View File

@@ -1,4 +1,4 @@
genlab.grafana grafana
========= =========
This ansible role installs [Grafana](https://github.com/grafana/grafana) - the open-source platform for monitoring and observability. It can produce charts, graphs, and alerts for the web when connected to supported data sources. This ansible role installs [Grafana](https://github.com/grafana/grafana) - the open-source platform for monitoring and observability. It can produce charts, graphs, and alerts for the web when connected to supported data sources.
@@ -59,42 +59,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
---
- name: Converge
hosts: all
vars:
grafana_users:
- name: "test"
user_login: "test"
user_password: "test"
user_email: "test@mail.ru"
is_admin: false
grafana_plugins:
version: 2.1.8
- name: aceiot-svg-panel
version: 0.1.5
grafana_public_dashboards:
- name: Node Full Exporter
id: 1860
revision: 36
vars_files:
- secrets/admin_cred.yml
roles:
- role: genlab.grafana
grafana_version: 11.5.0
admin_api_username: "{{ grafana.admin_api_username }}"
admin_api_password: "{{ grafana.admin_api_password }}"
users: "{{ grafana_users }}"
plugins: "{{ grafana_plugins }}"
public_dashboards: "{{ grafana_public_dashboards }}"
dashboard_source_path: "molecule/default/dashboards"
datasource_source_path: "molecule/default/datasources"
grafana_log_dir: "/opt/grafana/data"
grafana_data_dir: "/opt/grafana/lib"
```
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,4 +1,4 @@
genlab.ipmi_exporter ipmi_exporter
========= =========
This Ansible role installs ipmi_exporter on target host. This is a Prometheus exporter for Intelligent Platform Management Interface [metrics](https://github.com/prometheus-community/ipmi_exporter/blob/master/docs/metrics.md) This Ansible role installs ipmi_exporter on target host. This is a Prometheus exporter for Intelligent Platform Management Interface [metrics](https://github.com/prometheus-community/ipmi_exporter/blob/master/docs/metrics.md)
@@ -43,12 +43,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.ipmi_exporter
ipmi_exp_version: "1.10.1"
ipmi_exp_source_dir: "molecule/default/"
```
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,2 +0,0 @@
.vscode
.idea

View File

@@ -1,13 +1,8 @@
genlab.karma karma
========= =========
This is the ansible role to install and configure Karma - alert dashboard for Prometheus Alertmanager (https://github.com/prymitive/karma)
------------ Install and configure Karma - an alert dashboard for Prometheus Alertmanager (https://github.com/prymitive/karma)
⚠️ Do not forget to update:
- `meta/main.yml`
- Conda/Mamba manifests
- this README =) including *the name at the top* and *maintainers*.
Requirements Requirements
------------ ------------
@@ -33,14 +28,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.karma
karma_version: "0.121"
config_source_dir: "karma/"
karma_dir: "/etc/karma"
karma_config_dir: "/etc/karma/config"
```
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [monitoring] galaxy_tags: [monitoring]

View File

@@ -1,5 +1,5 @@
loki loki
========= ====
Installs Loki as a `systemd` service. Installs Loki as a `systemd` service.
@@ -23,11 +23,7 @@ No
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: loki
loki_version: 2.7.3
```
License License

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,5 +1,5 @@
Role Name mkfs
========= ====
Create a filesystem on the target device (thinly wraps `community.general.filesystem` module). Create a filesystem on the target device (thinly wraps `community.general.filesystem` module).

View File

@@ -1,5 +1,5 @@
ansible-mount-device mount_device
========= ============
Mount the given block device. Mount the given block device.

View File

@@ -1,2 +0,0 @@
.vscode
.idea

View File

@@ -1,5 +1,5 @@
ansible-nginx nginx
========= =====
Deploy NGINX with a minimal configuration. Deploy NGINX with a minimal configuration.
@@ -21,10 +21,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.nginx
```
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,5 +1,5 @@
Role Name node_exporter
========= =============
Deploy `prometheus/node_exporter` binary as a systemd unit. Deploy `prometheus/node_exporter` binary as a systemd unit.

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy"] versions: ["jammy", "noble"]
galaxy_tags: ["prometheus"] galaxy_tags: ["prometheus"]

View File

@@ -1,7 +1,9 @@
genlab.prometheus prometheus
========= ==========
This ansible role installs [Prometheus](https://github.com/prometheus/prometheus) from binary distribution. Prometheus is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts when specified conditions are observed. Install [Prometheus](https://github.com/prometheus/prometheus) binary from GitHub.
Prometheus collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts when specified conditions are observed.
Prometheus configuration files and rules should be placed in separate directories in the source. They must have a `*.yml` suffix. You'll need to manually specify the paths to your rule files in the main Prometheus configuration file (prometheus.yml) on the target machine Prometheus configuration files and rules should be placed in separate directories in the source. They must have a `*.yml` suffix. You'll need to manually specify the paths to your rule files in the main Prometheus configuration file (prometheus.yml) on the target machine
@@ -31,13 +33,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.prometheus
prometheus_config_source_dir: mydir/configs
prometheus_alertrules_source_dir: mydir/configs/rules
prometheus_version: 3.2.1
```
License License
------- -------
@@ -48,3 +44,4 @@ Author Information
------------------ ------------------
corvus-migratorius@proton.me corvus-migratorius@proton.me
sayganova@genlab.llc

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,7 +1,7 @@
promtail promtail
========= ========
Installs promtail as systemd service. Installs `promtail` as a systemd service.
Requirements Requirements
------------ ------------
@@ -19,15 +19,12 @@ Role Variables
Dependencies Dependencies
------------ ------------
No None
Example Playbook Example Playbook
---------------- ----------------
- hosts: servers See: [converge.yml](molecule/default/converge.yml)
roles:
- role: promtail
promtail_version: 2.7.3
License License
------- -------
@@ -39,6 +36,4 @@ Author Information
Alexander Gorelyshev and Danilkin Danila (MIPT) Alexander Gorelyshev and Danilkin Danila (MIPT)
Genlab LLC
corvus-migratorius@proton.me corvus-migratorius@proton.me

View File

@@ -9,6 +9,10 @@ galaxy_info:
min_ansible_version: "2.1" min_ansible_version: "2.1"
platforms:
- name: "Ubuntu"
versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []
dependencies: [] dependencies: []

View File

@@ -1,2 +0,0 @@
.vscode
.idea

View File

@@ -1,12 +1,12 @@
Role Name rclone_yandex
========= =============
A brief description of the role goes here. Mount a Yandex Disk share via `rclone`.
Requirements Requirements
------------ ------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required. None
Role Variables Role Variables
-------------- --------------
@@ -18,17 +18,12 @@ Role Variables
Dependencies Dependencies
------------ ------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles. None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: rclone_yandex
rclone_mountpoint: /mnt/yandex-disk
rclone_group: yandex
```
License License
------- -------
@@ -38,4 +33,4 @@ BSD
Author Information Author Information
------------------ ------------------
corvus-migratorius@proton.me corvus-migratorius@proton.me

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,22 +1,22 @@
Rustdesk Server rustdesk
========= ========
Rustdesk server role for ansible Deploy a Rustdesk server
Requirements Requirements
------------ ------------
Ports: Ports:
```
tcp 21115, 21116, 21117, 21118, 21119 - `tcp`: `21115, 21116, 21117, 21118, 21119`
udp 21116 - `udp`: `21116`
``` ```
Role Variables Role Variables
-------------- --------------
``` rustdesk_server_version ``` — contains rustdesk-server version to be installed `rustdesk_server_version`: contains rustdesk-server version to be installed
``` rustdesk_client_version ``` — contains rustdesk-client version for executable to be configured `rustdesk_client_version`: contains rustdesk-client version for executable to be configured
Dependencies Dependencies
------------ ------------
@@ -26,10 +26,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.rustdesk_server
```
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,7 +1,7 @@
SFTP Share Ansible Role sftp_share
========= =========
Creates a user account and directories for secured SFTP data exchange (one user = one share). Creates a user account and directories for a secured SFTP data exchange (one user = one share).
The role creates a dedicated SSH config under `/etc/ssh/sshd_config.d/`, configuring: The role creates a dedicated SSH config under `/etc/ssh/sshd_config.d/`, configuring:
@@ -60,7 +60,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
See `molecule/default/converge.yml` for an example role invocation. See: [converge.yml](molecule/default/converge.yml)
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,2 +0,0 @@
.vscode
.idea

View File

@@ -1,18 +1,18 @@
genlab.smartctl-exporter smartctl_exporter
========= =================
```smartctl``` is a command-line utility used to control and monitor the Self-Monitoring, Analysis and Reporting Technology (SMART) system in hard disk drives (HDDs) and solid-state drives (SSDs). ```smartctl-exporter``` exports ```smartctl``` statistics to Prometheus. `smartctl` is a command-line utility used to control and monitor the Self-Monitoring, Analysis and Reporting Technology (SMART) system in hard disk drives (HDDs) and solid-state drives (SSDs). `smartctl-exporter` exports `smartctl` statistics to Prometheus.
Requirements Requirements
------------ ------------
smartctl - `smartctl`
Role Variables Role Variables
-------------- --------------
The exporter will scan the system for available devices if no ```--smartctl.device``` flags are used. The format of web.config file id described [here](https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md). If ```smartctl_exp_source_web_config_dir``` is defined, role searches for ```web_smartctl.conf``` file and copy it to target host to ```smartctl_exp_web_config_dir``` directory The exporter will scan the system for available devices if no `--smartctl.device` flags are used. The format of web.config file id described [here](https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md). If `smartctl_exp_source_web_config_dir` is defined, role searches for `web_smartctl.conf` file and copy it to target host to `smartctl_exp_web_config_dir` directory
```yaml ```yaml
---
smartctl_exp_port: "localhost:9633" # Addresses on which to expose metrics and web interface. Repeatable for multiple addresses. smartctl_exp_port: "localhost:9633" # Addresses on which to expose metrics and web interface. Repeatable for multiple addresses.
smartctl_exp_version: "0.14.0" # exporter version to install smartctl_exp_version: "0.14.0" # exporter version to install
smartctl_exp_dir: "/etc/exporters" # where to download and unarchive expoter smartctl_exp_dir: "/etc/exporters" # where to download and unarchive expoter
@@ -37,13 +37,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.smartctl_exporter
smartctl_exp_version: "0.14.0"
smartctl_exp_dir: "/etc/exporters"
smartctl_exp_config_dir: "/etc/exporters/config"
```
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,7 +1,7 @@
ansible-sshd sshd
========= ====
Deploy a hardened sshd server Deploy a hardened `sshd` server
Requirements Requirements
------------ ------------
@@ -21,10 +21,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.common.sshd
```
License License
------- -------

View File

@@ -1,5 +1,5 @@
ansible-swapfile swapfile
========= ========
Create/destroy a swapfile and run swapon/-off on it. Create/destroy a swapfile and run swapon/-off on it.
@@ -23,10 +23,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.swapfile
```
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,5 +1,5 @@
template ufw
========= ===
Whitelist network ports with UFW Whitelist network ports with UFW
@@ -21,10 +21,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.ufw
```
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []

View File

@@ -1,9 +1,10 @@
ansible-users users
========= =====
Create user accounts according to a YAML manifest. Create user accounts according to a YAML manifest.
Controls: Controls:
- username and UID - username and UID
- groupname and GID - groupname and GID
- homedir creation - homedir creation
@@ -20,8 +21,8 @@ Requirements
Target node: Target node:
- systemd - `systemd`
- openssh - openssh client library
Controller: Controller:
@@ -58,4 +59,4 @@ Author Information
------------------ ------------------
corvus-migratorius@proton.me corvus-migratorius@proton.me
masayganova@gmail.com sayganova@genlab.llc

View File

@@ -1,13 +1,5 @@
template wg_hub
========= ======
Template for Ansible role monorepos.
⚠️ Do not forget to update:
- `meta/main.yml`
- Conda/Mamba manifests
- this README =)
Requirements Requirements
------------ ------------
@@ -27,10 +19,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
```yaml See: [converge.yml](molecule/default/converge.yml)
roles:
- role: genlab.template
```
License License
------- -------

View File

@@ -1,12 +1,12 @@
wg_spoke wg_spoke
========= =========
Configure the host as a Spoke in Wireguard Spoke&Hub topology. Configure the host as a Spoke in the Wireguard Spoke-and-Hub topology.
Requirements Requirements
------------ ------------
Ubuntu 20.04, 22.04 or 24.04. Ubuntu 22.04 or 24.04.
Role Variables Role Variables
-------------- --------------
@@ -33,7 +33,7 @@ None
Example Playbook Example Playbook
---------------- ----------------
See `molecule/default/converge.yml`. See: [converge.yml](molecule/default/converge.yml)
License License
------- -------

View File

@@ -10,7 +10,7 @@ galaxy_info:
platforms: platforms:
- name: "Ubuntu" - name: "Ubuntu"
versions: ["focal", "jammy", "noble"] versions: ["jammy", "noble"]
galaxy_tags: [] galaxy_tags: []