Legacy Roles
A list of legacy roles.
GET /api/v1/roles/?format=api&namespace__name__in=ovirt%2Cwillow&page=3750
{ "count": 37669, "next": "http://galaxy.ansible.com/api/v1/roles/?format=api&namespace__name__in=ovirt%2Cwillow&page=3751", "previous": "http://galaxy.ansible.com/api/v1/roles/?format=api&namespace__name__in=ovirt%2Cwillow&page=3749", "results": [ { "id": 43170, "upstream_id": null, "created": "2026-06-25T18:30:43.591748Z", "modified": "2026-06-25T18:30:43.666563Z", "imported": "2026-06-25T18:30:43.589305", "github_user": "bmclaughlin", "username": "bmclaughlin", "github_repo": "ansible-role-supertags", "github_branch": "main", "commit": "c36c1cbf6237f8b1132215ce6c1c8d5be5d977c0", "commit_message": "update test roles to use my namespace\n", "name": "supertags_three", "description": "your role description", "summary_fields": { "dependencies": [], "namespace": { "id": 8315, "name": "bmclaughlin", "avatar_url": "https://galaxy.ansible.com/api/pulp/api/v3/content/ansible/namespaces/018d19fb-7783-70e0-b5b3-ae3b48def5fc/avatar/" }, "provider_namespace": { "id": 13542, "name": "bmclaughlin", "pulp_href": "/api/pulp/api/v3/pulp_ansible/namespaces/13542/" }, "repository": { "name": "ansible-role-supertags", "original_name": "ansible-role-supertags" }, "tags": [], "versions": [] }, "download_count": 2 }, { "id": 43171, "upstream_id": null, "created": "2026-06-26T03:00:04.913011Z", "modified": "2026-06-26T03:00:04.976915Z", "imported": "2026-06-26T03:00:04.909314", "github_user": "xenion1987", "username": "Xenion1987", "github_repo": "ansible-role-ufw", "github_branch": "main", "commit": "4f581d20b509dc3b7eb353a95036c96e24830e10", "commit_message": "major: refactor and release (#1)\n\n* ci: update linting and CI pipeline\n\n- Migrate CI to uv and astral-sh/setup-uv\n- Add release pipeline with semantic versioning\n- Switch pre-commit hooks to local uv-based execution\n- Add pyproject.toml with dependency groups\n- Update exclude paths in linter configs\n\n* feat: update molecule default scenario for podman\n\n- Switch driver from docker to podman\n- Add tmpfs mounts for /run and /tmp\n- Add provisioner and verifier config\n- Add group_vars and host_vars for molecule\n- Use dynamic role path via MOLECULE_PROJECT_DIRECTORY\n\n* refactor: rename ufw_default_rules to ufw_rules\n\n* fix: correct handler notify name and update metadata\n\n- Fix case-sensitive handler notify name in configure.yml\n- Update author casing, license field, and min ansible version\n\n* chore: cleanup deprecated files and add missing role files\n\n- Remove deprecated local_docker and local_podman molecule scenarios\n- Remove obsolete requirements.txt\n- Update .example.envrc for uv-based workflow\n- Add handlers/main.yml and templates/ufw.j2\n- Add uv.lock\n\n* fix: use lowercase boolean values in .ansibledoctor.yml\n\n* tests: prek: rearrange hooks\n\n* fix: resolve ansible-lint findings and role code issues\n\n- Fix argument_specs ufw_enabled default mismatch (false → true)\n- Fix ufw_config_file ansible-doctor annotation (was 'false')\n- Fix example using src/dest instead of from_ip/to_ip\n- Remove unused 'Reset UFW' handler\n- Remove redundant 'is defined' condition in manage.yml\n- Use static template name instead of dynamic basename\n- Remove dead ufw_service_name variable\n- Remove unused is_molecule group var\n\n* fix: add backward compat for ufw_default_rules and modernize loop syntax\n\n- Add fallback from ufw_default_rules to ufw_rules for existing users\n- Replace legacy with_items with modern loop directive\n\n* fix: correct typo 'ispired' → 'inspired'\n\n* refactor: apply Ansible best practices\n\n- Remove unnecessary block nesting in main, configure, and service tasks\n- Add tags to import_tasks for granular control (ufw_install, ufw_config, ufw_rules, ufw_service)\n- Fix SUSE repo URL to use distribution major version for robustness\n\n* docs: enhance ansible-doctor annotations in defaults/main.yml\n\n- Add version_added, elements, and expanded descriptions to all variables\n- Add example for ufw_host_rules and ufw_config\n- Add note about ufw_default_rules fallback on ufw_rules\n\n* fix: replace deprecated top-level facts with ansible_facts dict\n\n- ansible_distribution_file_variety → ansible_facts['distribution_file_variety']\n- ansible_distribution_major_version / ansible_distribution_version → ansible_facts variants\n- Avoids deprecation warning from ansible-core 2.24 removal of INJECT_FACTS_AS_VARS\n\n* fix: install iptables-nft on RedHat and enable UFW before applying rules\n\n- Install iptables-nft package alongside UFW on RedHat-based systems\n for nftables-based iptables/ip6tables binaries\n- Reorder main.yml: service.yml (UFW enable/disable) runs before\n manage.yml (rule application) to prevent 'ERROR: problem running'\n on inactive UFW with nftables backend\n- Enable ufw_config_manage and RFC1918 rules in molecule converge\n scenario to validate the fix\n\n* docs: regenerate README with ansible-doctor for ufw_config changes\n\n* refactor: use root requirements.yml as single source of truth for molecule\n\n* refactor: use root requirements.yml as single source of truth for molecule\n\n* chore: cleanup", "name": "ufw", "description": "Install and configure `ufw` - Uncomplicated Firewall.", "summary_fields": { "dependencies": [], "namespace": { "id": 17585, "name": "Xenion1987", "avatar_url": "https://github.com/Xenion1987.png" }, "provider_namespace": { "id": 27160, "name": "xenion1987", "pulp_href": "/api/pulp/api/v3/pulp_ansible/namespaces/27160/" }, "repository": { "name": "ansible-role-ufw", "original_name": "ansible-role-ufw" }, "tags": [ "system", "package", "firewall" ], "versions": [ { "id": "36d45236-e9e1-4b3f-b194-329b3a383c6c", "name": "v1.0.0", "release_date": "2026-06-26T04:59:44+02:00" } ] }, "download_count": 1 }, { "id": 43172, "upstream_id": null, "created": "2026-06-26T09:00:12.000539Z", "modified": "2026-06-26T13:42:47.264463Z", "imported": "2026-06-26T13:42:47.210062", "github_user": "assumptionsandg", "username": "assumptionsandg", "github_repo": "ansible-role-azerothcore-docker", "github_branch": "v0.1.1", "commit": "1b2980b8835f520d914c5a3f5c729b2c57762ea0", "commit_message": "Merge pull request #2 from assumptionsandg/refactor\n\nRefactor", "name": "azerothcore-docker", "description": "AzerothCore deployment using upstrem acore-compose.", "summary_fields": { "dependencies": [], "namespace": { "id": 18960, "name": "assumptionsandg", "avatar_url": "https://github.com/assumptionsandg.png" }, "provider_namespace": { "id": 28493, "name": "assumptionsandg", "pulp_href": "/api/pulp/api/v3/pulp_ansible/namespaces/28493/" }, "repository": { "name": "ansible-role-azerothcore-docker", "original_name": "ansible-role-azerothcore-docker" }, "tags": [], "versions": [ { "id": "d57ad1a9-57e0-48c5-8b08-a4181e146546", "name": "v0.1.1", "release_date": "2026-06-26T14:40:12+01:00" }, { "id": "d2280e27-751a-4397-bcd5-a0c5371f34d2", "name": "v0.1.0-init", "release_date": "2026-06-26T10:36:49+01:00" } ] }, "download_count": 4 }, { "id": 43173, "upstream_id": null, "created": "2026-06-26T13:25:41.703816Z", "modified": "2026-07-21T08:41:41.552669Z", "imported": "2026-07-21T08:41:41.296495", "github_user": "grzegorzfranus", "username": "grzegorzfranus", "github_repo": "ansible-role-apache-tomcat", "github_branch": "main", "commit": "af381b53c5b5c220f4ee357314d993944db89ffe", "commit_message": "chore(main): release 1.2.2 (#55)\n\nCo-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>", "name": "apache_tomcat", "description": "Ansible role for deploying Apache Tomcat using Split architecture. Features systemd logging redirect, hardened systemd service, HTTPS with PKCS12 keystore, optional CI/CD user, JMX monitoring, and logrotate.\n", "summary_fields": { "dependencies": [], "namespace": { "id": 20540, "name": "grzegorzfranus", "avatar_url": "https://github.com/grzegorzfranus.png" }, "provider_namespace": { "id": 30034, "name": "grzegorzfranus", "pulp_href": "/api/pulp/api/v3/pulp_ansible/namespaces/30034/" }, "repository": { "name": "ansible-role-apache-tomcat", "original_name": "ansible-role-apache-tomcat" }, "tags": [ "tomcat", "java", "web", "applicationserver", "security", "hardening", "ssl", "systemd", "cicd", "jmx" ], "versions": [ { "id": "4c9319fd-4c23-4625-9efa-506fbb57c79a", "name": "v1.2.2", "release_date": "2026-07-21T10:40:49+02:00" }, { "id": "af009779-3894-414d-9c4f-dde2a7cfe2e3", "name": "v1.2.1", "release_date": "2026-07-19T14:33:18+02:00" }, { "id": "bad8b41e-deb2-4440-b644-1fb6571754df", "name": "v1.2.0", "release_date": "2026-07-02T12:57:22+02:00" }, { "id": "e05bbdff-06c4-4a25-9a78-77b2e409430d", "name": "v1.1.1", "release_date": "2026-06-27T18:24:28+02:00" }, { "id": "4e8288a5-0809-4724-8dd9-9ba1be54beb1", "name": "v1.1.0", "release_date": "2026-06-26T15:49:35+02:00" }, { "id": "0ec697bb-32de-486c-9e1e-0199896b5de2", "name": "v0.8.1", "release_date": "2026-06-26T15:24:44+02:00" }, { "id": "72326251-07e2-415d-a5ab-8cd279929a45", "name": "v0.8.0", "release_date": "2026-06-22T23:07:28+02:00" }, { "id": "e0fefcca-802e-4738-9557-ff0ad216c682", "name": "v0.7.0", "release_date": "2026-06-22T17:01:26+02:00" }, { "id": "a86f6899-c8ed-4720-a0be-1140fe76bff0", "name": "v0.6.5", "release_date": "2026-06-22T13:12:09+02:00" }, { "id": "f2d837a4-b9cd-46cb-aa48-ef9c51cd2290", "name": "v0.6.4", "release_date": "2026-06-22T11:56:59+02:00" }, { "id": "5d731cda-700c-4f3c-8ba0-b737a6e47b6f", "name": "v0.6.3", "release_date": "2026-06-19T15:39:04+02:00" } ] }, "download_count": 1 }, { "id": 43174, "upstream_id": null, "created": "2026-06-26T13:46:31.504819Z", "modified": "2026-06-26T13:46:31.570373Z", "imported": "2026-06-26T13:46:31.499152", "github_user": "Siddhartha082", "username": "Siddhartha082", "github_repo": "ansible-role-apache-rhel-9", "github_branch": "main", "commit": "c9129604a78b5089578c1b5a70a9838aa3d22f76", "commit_message": "Update README.md\n\ninternet", "name": "apache-rhel-9", "description": "Apache Web Server Configuration in RHEL-9", "summary_fields": { "dependencies": [], "namespace": { "id": 16315, "name": "Siddhartha082", "avatar_url": "https://github.com/Siddhartha082.png" }, "provider_namespace": { "id": 25922, "name": "siddhartha082", "pulp_href": "/api/pulp/api/v3/pulp_ansible/namespaces/25922/" }, "repository": { "name": "ansible-role-apache-rhel-9", "original_name": "ansible-role-apache-rhel-9" }, "tags": [], "versions": [] }, "download_count": 3 }, { "id": 43175, "upstream_id": null, "created": "2026-06-26T19:58:59.585472Z", "modified": "2026-06-26T19:58:59.631469Z", "imported": "2026-06-26T19:58:59.583039", "github_user": "cornelcristea", "username": "cornelcristea", "github_repo": "ansible-role-opencloud", "github_branch": "1.0.0", "commit": "2dd78cd7c92422b1ad2119af5927f2e02c2d7d6d", "commit_message": "add requirements\n", "name": "opencloud", "description": "Deploy OpenCloud service as docker container", "summary_fields": { "dependencies": [], "namespace": { "id": 25826, "name": "cornelcristea", "avatar_url": "https://github.com/cornelcristea.png" }, "provider_namespace": { "id": 35278, "name": "cornelcristea", "pulp_href": "/api/pulp/api/v3/pulp_ansible/namespaces/35278/" }, "repository": { "name": "ansible-role-opencloud", "original_name": "ansible-role-opencloud" }, "tags": [ "opencloud", "backup", "cloud", "docker", "media", "storage", "media", "photos", "documents", "files" ], "versions": [ { "id": "b282b900-1c6e-4d1f-b990-345a0f3c637d", "name": "1.0.0", "release_date": "2026-06-26T22:52:46+03:00" } ] }, "download_count": 1 }, { "id": 43176, "upstream_id": null, "created": "2026-06-27T03:13:48.107539Z", "modified": "2026-06-27T03:13:48.157617Z", "imported": "2026-06-27T03:13:48.102122", "github_user": "azurekumar2022-crypto", "username": "azurekumar2022-crypto", "github_repo": "ansible-galaxy-kumar_bomman", "github_branch": "main", "commit": "0fd175a8499cd10b696eec20ff06e135b10a64b7", "commit_message": "Update author and description in main.yml", "name": "ansible-galaxy-kumar_bomman", "description": "demo Ansible Galaxy test", "summary_fields": { "dependencies": [], "namespace": { "id": 28118, "name": "azurekumar2022-crypto", "avatar_url": "https://github.com/azurekumar2022-crypto.png" }, "provider_namespace": { "id": 37530, "name": "azurekumar2022_crypto", "pulp_href": "/api/pulp/api/v3/pulp_ansible/namespaces/37530/" }, "repository": { "name": "ansible-galaxy-kumar_bomman", "original_name": "ansible-galaxy-kumar_bomman" }, "tags": [], "versions": [] }, "download_count": 1 }, { "id": 43177, "upstream_id": null, "created": "2026-06-27T13:56:28.422719Z", "modified": "2026-06-28T22:34:22.608444Z", "imported": "2026-06-28T22:34:22.563967", "github_user": "devopsgroupeu", "username": "devopsgroupeu", "github_repo": "ansible-role-hashicorp-vault", "github_branch": "main", "commit": "2b203228e2f81c6f65ba98af49f66d6a4680b1f6", "commit_message": "Fail closed before init; relocate init output; validate thresholds (#9)\n\n- assert the init-encryption password file is set BEFORE 'vault operator init'\n runs, so a fresh cluster is never initialized into an unrecoverable state\n (previously the guard ran after init and aborted before persisting the keys)\n- write the init output under ~/.vault/ (0700) instead of the playbook dir\n- assert key/recovery thresholds do not exceed their share counts\n- map architecture explicitly (amd64/arm64) and fail on unsupported values\n- document HA restart behaviour; drop the non-standard meta collections key", "name": "hashicorp-vault", "description": "Production-ready Ansible role for installing and configuring HashiCorp Vault as a TLS-enabled, Raft-integrated-storage HA cluster with idempotent init/unseal (Shamir + auto-unseal), systemd hardening, audit devices, and Prometheus telemetry.\n", "summary_fields": { "dependencies": [], "namespace": { "id": 28110, "name": "devopsgroupeu", "avatar_url": "https://galaxy.ansible.com/api/pulp/api/v3/content/ansible/namespaces/019f1084-3f6d-7a51-975d-c9b8743b3870/avatar/" }, "provider_namespace": { "id": 37522, "name": "devopsgroupeu", "pulp_href": "/api/pulp/api/v3/pulp_ansible/namespaces/37522/" }, "repository": { "name": "ansible-role-hashicorp-vault", "original_name": "ansible-role-hashicorp-vault" }, "tags": [ "hashicorp", "vault", "secrets", "pki", "raft", "ha", "security", "secretsmanagement", "keymanagement", "encryption", "tls", "unseal", "shamir", "autounseal", "telemetry" ], "versions": [ { "id": "925f8327-a159-49dc-bae1-6f3fcda49fd9", "name": "v1.1.0", "release_date": "2026-06-29T00:32:34+02:00" }, { "id": "7b7678b1-0c7d-4157-bbf2-2388d1fa72e4", "name": "v1.0.1", "release_date": "2026-06-27T15:47:48+02:00" }, { "id": "52888a2e-e96c-4923-9c06-a4eba30ffe78", "name": "v1.0.0", "release_date": "2026-06-23T23:48:38+02:00" } ] }, "download_count": 1 }, { "id": 43178, "upstream_id": null, "created": "2026-06-27T13:56:33.065458Z", "modified": "2026-06-28T22:33:45.372582Z", "imported": "2026-06-28T22:33:45.321352", "github_user": "devopsgroupeu", "username": "devopsgroupeu", "github_repo": "ansible-role-haproxy-keepalived", "github_branch": "main", "commit": "ad6285bbfc703c83867a2f9e5b45b58aa64a4831", "commit_message": "Add source-install test coverage, refresh versions, harden handlers (#10)\n\n- new molecule 'source' scenario covering the compile/install path, plus fixes\n to that path (create conf.d, daemon_reload, libsystemd-dev build dep, treat a\n missing binary as install-required)\n- HAProxy 3.4.1 and keepalived 2.4.1 with download-verified checksums, in both\n defaults/main.yml and meta/argument_specs.yml\n- no_log on the config templates (stats password / VRRP auth_pass); order the\n reload-systemd handler before restart; idempotent make install; require a\n non-empty config when no raw config is supplied; align README OS list", "name": "haproxy-keepalived", "description": "Production-ready Ansible role for installing and configuring HAProxy with Keepalived in high-availability mode. Supports package install (default) or source compilation, internet-connected or air-gapped environments.\n", "summary_fields": { "dependencies": [], "namespace": { "id": 28110, "name": "devopsgroupeu", "avatar_url": "https://galaxy.ansible.com/api/pulp/api/v3/content/ansible/namespaces/019f1084-3f6d-7a51-975d-c9b8743b3870/avatar/" }, "provider_namespace": { "id": 37522, "name": "devopsgroupeu", "pulp_href": "/api/pulp/api/v3/pulp_ansible/namespaces/37522/" }, "repository": { "name": "ansible-role-haproxy-keepalived", "original_name": "ansible-role-haproxy-keepalived" }, "tags": [ "loadbalancer", "haproxy", "keepalived", "highavailability", "ha", "vrrp", "failover", "proxy", "reverseproxy", "networking", "clustering", "vip" ], "versions": [ { "id": "804a2757-c0f4-4963-a7fe-69fbb790995c", "name": "v1.1.0", "release_date": "2026-06-29T00:32:29+02:00" }, { "id": "6cc204e3-985b-4b16-a4c7-81966d88b73a", "name": "v1.0.2", "release_date": "2026-06-27T21:08:52+02:00" }, { "id": "cee7fc89-bf25-4e31-8054-e49b36a672fe", "name": "v1.0.1", "release_date": "2026-06-27T15:47:48+02:00" }, { "id": "12493f1a-99b4-45f0-b757-8023c9e05538", "name": "v1.0.0", "release_date": "2026-06-23T23:48:38+02:00" } ] }, "download_count": 1 }, { "id": 43179, "upstream_id": null, "created": "2026-06-27T13:56:37.712505Z", "modified": "2026-06-28T22:31:32.768375Z", "imported": "2026-06-28T22:31:32.713987", "github_user": "devopsgroupeu", "username": "devopsgroupeu", "github_repo": "ansible-role-rke2", "github_branch": "main", "commit": "5081735a548699c34822bf297a797f725826317f", "commit_message": "Harden secret handling and tidy role internals (#10)\n\n- no_log on CA private-key copies, cluster/node token facts, the VIP failover\n env file, and the agent/server config + private-registry templates so join\n tokens and keys no longer leak under --diff / -v\n- namespace internal facts under _rke2_* to avoid cross-play collisions\n- rename rolling_restart task tags to rke2_rolling_restart for a consistent\n rke2_* tag namespace\n- move cert-rotation cron removal into main.yml; unify the installer temp path", "name": "rke2", "description": "Ansible role for installing RKE2 — single-node and HA with kube-vip and keepalived\n", "summary_fields": { "dependencies": [], "namespace": { "id": 28110, "name": "devopsgroupeu", "avatar_url": "https://galaxy.ansible.com/api/pulp/api/v3/content/ansible/namespaces/019f1084-3f6d-7a51-975d-c9b8743b3870/avatar/" }, "provider_namespace": { "id": 37522, "name": "devopsgroupeu", "pulp_href": "/api/pulp/api/v3/pulp_ansible/namespaces/37522/" }, "repository": { "name": "ansible-role-rke2", "original_name": "ansible-role-rke2" }, "tags": [ "rke2", "k8s", "kubernetes", "suse", "ha", "kubevip", "keepalived", "cluster" ], "versions": [ { "id": "825d9265-1944-44da-b314-34a66a6ad43c", "name": "v1.1.0", "release_date": "2026-06-29T00:30:11+02:00" }, { "id": "d8ad9c20-b2bb-4f20-8ae1-b6f58c3012e9", "name": "v1.0.2", "release_date": "2026-06-27T21:07:16+02:00" }, { "id": "e2a877c4-6fa2-43bd-ae07-8e5c68e17261", "name": "v1.0.1", "release_date": "2026-06-27T15:47:48+02:00" }, { "id": "bcf4ff76-32af-4ded-aeee-84780f4cff2c", "name": "v1.0.0", "release_date": "2026-06-23T23:48:37+02:00" } ] }, "download_count": 1 } ] }