{"id":15878904,"url":"https://github.com/darkwizard242/ansible-role-speedtest","last_synced_at":"2025-03-16T06:33:04.410Z","repository":{"id":43857663,"uuid":"311183325","full_name":"darkwizard242/ansible-role-speedtest","owner":"darkwizard242","description":" Ansible role for Ookla's Speedtest CLI. Available on Ansible Galaxy. ","archived":false,"fork":false,"pushed_at":"2024-07-01T21:37:52.000Z","size":50,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-07T02:42:10.178Z","etag":null,"topics":["ansible","ansible-galaxy","ansible-role","linux","ooklaserver-speedtest","speedtest"],"latest_commit_sha":null,"homepage":"https://galaxy.ansible.com/darkwizard242/speedtest","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darkwizard242.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-11-09T00:28:11.000Z","updated_at":"2024-07-25T13:03:47.000Z","dependencies_parsed_at":"2024-04-11T03:22:17.742Z","dependency_job_id":"1c9e4304-b68b-4bf4-9b54-544cafb8386d","html_url":"https://github.com/darkwizard242/ansible-role-speedtest","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkwizard242%2Fansible-role-speedtest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkwizard242%2Fansible-role-speedtest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkwizard242%2Fansible-role-speedtest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkwizard242%2Fansible-role-speedtest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darkwizard242","download_url":"https://codeload.github.com/darkwizard242/ansible-role-speedtest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221661154,"owners_count":16859488,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-galaxy","ansible-role","linux","ooklaserver-speedtest","speedtest"],"created_at":"2024-10-06T02:42:16.186Z","updated_at":"2024-10-27T10:03:34.266Z","avatar_url":"https://github.com/darkwizard242.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![build-test](https://github.com/darkwizard242/ansible-role-speedtest/workflows/build-and-test/badge.svg?branch=master)](https://github.com/darkwizard242/ansible-role-speedtest/actions?query=workflow%3Abuild-and-test) [![release](https://github.com/darkwizard242/ansible-role-speedtest/workflows/release/badge.svg)](https://github.com/darkwizard242/ansible-role-speedtest/actions?query=workflow%3Arelease) ![Ansible Role](https://img.shields.io/ansible/role/51713?color=dark%20green%20) ![Ansible Role](https://img.shields.io/ansible/role/d/51713?label=role%20downloads) ![Ansible Quality Score](https://img.shields.io/ansible/quality/51713?label=ansible%20quality%20score) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ansible-role-speedtest\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=ansible-role-speedtest) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=ansible-role-speedtest\u0026metric=sqale_rating)](https://sonarcloud.io/dashboard?id=ansible-role-speedtest) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=ansible-role-speedtest\u0026metric=reliability_rating)](https://sonarcloud.io/dashboard?id=ansible-role-speedtest) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=ansible-role-speedtest\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=ansible-role-speedtest) ![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/darkwizard242/ansible-role-speedtest?label=release) ![GitHub repo size](https://img.shields.io/github/repo-size/darkwizard242/ansible-role-speedtest?color=orange\u0026style=flat-square)\n\n# Ansible Role: speedtest\n\nRole to install (_by default_) [Ookla's Speedtest CLI](https://www.speedtest.net/apps/cli) package or uninstall (_if passed as var_) on Debian based systems and EL based systems. Speedtest CLI can be used for internet connection measurement.\n\n## Requirements\n\nNone.\n\n## Role Variables\n\nAvailable variables are listed below (located in `defaults/main.yml`):\n\n### Variables List:\n\n```yaml\nspeedtest_app: speedtest\nspeedtest_app_desired_state: present\n\n# Debian family based\nspeedtest_debian_pre_reqs:\n  - apt-transport-https\n  - dirmngr\n  - gnupg1\nspeedtest_debian_pre_reqs_desired_state: present\nspeedtest_repo_debian_gpg_key: https://packagecloud.io/ookla/speedtest-cli/gpgkey\nspeedtest_repo_debian: \"deb https://packagecloud.io/ookla/speedtest-cli/{{ ansible_distribution | lower }}/ {{ ansible_lsb['codename'] }} main\"\nspeedtest_repo_debian_filename: \"{{ speedtest_app }}\"\nspeedtest_repo_debian_keyring_filename: \"{{ speedtest_app }}.gpg\"\nspeedtest_repo_debian_keyid: C525F88FCF3A7E56CE2CF59131EB3981E723ACAA\nspeedtest_repo_debian_desired_state: present\n\n# EL family based\nspeedtest_repo_el_name: ookla_speedtest-cli\nspeedtest_repo_el_description: ookla_speedtest-cli\nspeedtest_repo_el_baseurl: \"https://packagecloud.io/ookla/speedtest-cli/el/{{ ansible_distribution_major_version }}/$basearch\"\nspeedtest_repo_el_gpgcheck: no\nspeedtest_repo_el_gpgkey: https://packagecloud.io/ookla/speedtest-cli/gpgkey\nspeedtest_repo_el_filename: \"{{ speedtest_app }}\"\nspeedtest_repo_el_state: present\nspeedtest_repo_el_enabled: yes\nspeedtest_repo_el_filename_owner: root\nspeedtest_repo_el_filename_group: root\nspeedtest_repo_el_filename_mode: '0644'\n```\n\n### Variables table:\n\nVariable                                | Description\n--------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\nspeedtest_app                           | Name of speedtest application package require to be installed i.e. `speedtest`\nspeedtest_app_desired_state             | State of the speedtest_app package. Whether to install, verify if available or to uninstall (i.e. ansible apt module values: `present`, `latest`, or `absent`)\nspeedtest_debian_pre_reqs               | Speedtest recommends the installation of both these packages on Debian family systems and as such, they are considered pre-requisites.\nspeedtest_debian_pre_reqs_desired_state | Desired state for Speedtest pre-requisite apps on Debian family systems.\nspeedtest_repo_debian_gpg_key           | Speedtest GPG key url required on Debian family systems\nspeedtest_repo_debian                   | Speedtest repo URL for Debain family systems.\nspeedtest_repo_debain_filename          | Name of the repository file that will be stored at `/etc/apt/sources.list.d/` on Debian based systems.\nspeedtest_repo_debian_keyring_filename  | Name of the gpg file that will be stored at `/etc/apt/trusted.gpg.d/' on Debian based systems. Should end in `.gpg`\nspeedtest_repo_debian_keyid             | Key ID to import to ensure it hasn't changed. Download the key and use `gpg --show-keys \u003ckeyfile\u003e` to determine the ID.\nspeedtest_repo_debian_desired_state     | `present` indicates creating the repository file if it doesn't exist on Debian based systems. Alternative is `absent` (not recommended as it will prevent from installation of **speedtest** package).\nspeedtest_repo_el_name                  | Repository name for Speedtest on EL based systems.\nspeedtest_repo_el_description           | Description to be added in EL based repository file for Speedtest.\nspeedtest_repo_el_baseurl               | Repository baseurl for Speedtest on EL based systems.\nspeedtest_repo_el_gpgcheck              | Boolean for whether to perform gpg check against Speedtest repository on EL based systems.\nspeedtest_repo_el_gpgkey                | GPG key for Speedtest repository.\nspeedtest_repo_el_state                 | `present` indicates creating the repository file if it doesn't exist on EL based systems. Alternative is absent (not recommended as it will prevent from installation of speedtest packages).\nspeedtest_repo_el_enabled               | Boolean to set so that Speedtest repository is enabled on EL based systems.\nspeedtest_repo_el_filename              | File path for the speedtest repository to be saved as on EL based systems.\nspeedtest_repo_el_filename_owner        | Owner of /etc/yum.repos.d/speedtest.repo on EL based systems.\nspeedtest_repo_el_filename_group        | Group of /etc/yum.repos.d/speedtest.repo on EL based systems.\nspeedtest_repo_el_filename_mode         | Mode of /etc/yum.repos.d/speedtest.repo on EL based systems.\n\n## Dependencies\n\nNone\n\n## Example Playbook\n\nFor default behaviour of role (i.e. installation of **speedtest** package) in ansible playbooks.\n\n```yaml\n- hosts: servers\n  roles:\n    - darkwizard242.speedtest\n```\n\nFor customizing behavior of role (i.e. installing latest verion of **speedtest**) in ansible playbooks.\n\n```yaml\n- hosts: servers\n  roles:\n    - darkwizard242.speedtest\n  vars:\n    speedtest_apps_desired_state: latest\n```\n\nFor customizing behavior of role (i.e. un-installation of **speedtest** packages) in ansible playbooks.\n\n```yaml\n- hosts: servers\n  roles:\n    - darkwizard242.speedtest\n  vars:\n    speedtest_apps_desired_state: absent\n```\n\n## License\n\n[MIT](https://github.com/darkwizard242/ansible-role-speedtest/blob/master/LICENSE)\n\n## Author Information\n\nThis role was created by [Ali Muhammad](https://www.alimuhammad.dev/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkwizard242%2Fansible-role-speedtest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarkwizard242%2Fansible-role-speedtest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkwizard242%2Fansible-role-speedtest/lists"}