{"id":23637035,"url":"https://github.com/ansibleguy/collection_linuxha","last_synced_at":"2025-04-05T12:13:23.399Z","repository":{"id":150853774,"uuid":"621862011","full_name":"ansibleguy/collection_linuxha","owner":"ansibleguy","description":"Ansible Modules to manage LinuxHA/CoroSync","archived":false,"fork":false,"pushed_at":"2024-08-08T20:13:40.000Z","size":127,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"latest","last_synced_at":"2024-08-08T22:40:35.867Z","etag":null,"topics":["ansible","ansible-module","ansible-modules","cluster","clustering","corosync","ha","high-availability","linuxha","pacemaker"],"latest_commit_sha":null,"homepage":"https://linuxha.ansibleguy.net","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ansibleguy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","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,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"ansible0guy","github":"ansibleguy"}},"created_at":"2023-03-31T14:46:17.000Z","updated_at":"2024-08-08T20:13:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"6e7cf133-6c8d-4d90-b099-e1bfbfe4084c","html_url":"https://github.com/ansibleguy/collection_linuxha","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansibleguy%2Fcollection_linuxha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansibleguy%2Fcollection_linuxha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansibleguy%2Fcollection_linuxha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansibleguy%2Fcollection_linuxha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ansibleguy","download_url":"https://codeload.github.com/ansibleguy/collection_linuxha/tar.gz/refs/heads/latest","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247332604,"owners_count":20921854,"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-module","ansible-modules","cluster","clustering","corosync","ha","high-availability","linuxha","pacemaker"],"created_at":"2024-12-28T06:17:29.809Z","updated_at":"2025-04-05T12:13:23.386Z","avatar_url":"https://github.com/ansibleguy.png","language":"Python","readme":"# Ansible Collection - ansibleguy.linuxha\n\n[![Lint](https://github.com/ansibleguy/collection_linuxha/actions/workflows/lint.yml/badge.svg)](https://github.com/ansibleguy/collection_linuxha/actions/workflows/lint.yml)\n[![Ansible Galaxy](https://badges.ansibleguy.net/galaxy.badge.svg)](https://galaxy.ansible.com/ui/repo/published/ansibleguy/linuxha)\n\n**Functional Tests**: \n\n* Status: [![Functional Test Status](https://badges.ansibleguy.net/linuxha.collection.test.svg)](https://github.com/ansibleguy/collection_linuxha/blob/latest/scripts/test.sh) |\n[![Functional-Tests](https://github.com/ansibleguy/collection_linuxha/actions/workflows/functional_test_result.yml/badge.svg)](https://github.com/ansibleguy/collection_linuxha/actions/workflows/functional_test_result.yml)\n* Logs: [API](https://ci.ansibleguy.net/api/job/ansible-test-collection-linuxha/logs?token=2b7bba30-9a37-4b57-be8a-99e23016ce70\u0026lines=1000) |\n[Daily Archive](https://github.com/ansibleguy/collection_linuxha/actions/workflows/functional_test_result.yml) |\n[Short](https://badges.ansibleguy.net/log/collection_linuxha_test_short.log) | [Full](https://badges.ansibleguy.net/log/collection_linuxha_test.log)\n\nInternal CI: [Tester Role](https://github.com/ansibleguy/_meta_cicd) | [Jobs API](https://github.com/O-X-L/github-self-hosted-jobs-systemd)\n\n----\n\n## Contribute\n\nFeel free to contribute to this project using [pull-requests](https://github.com/ansibleguy/collection_linuxha/pulls), [issues](https://github.com/ansibleguy/collection_linuxha/issues) and [discussions](https://github.com/ansibleguy/collection_linuxha/discussions)!\n\n**What to contribute**:\n\n* add ansible-based [tests](https://github.com/ansibleguy/collection_linuxha/blob/latest/tests) for some error-case(s) you have encountered\n* extend or correct the [documentation](https://github.com/ansibleguy/collection_linuxha/blob/latest/docs)\n* contribute code fixes or optimizations\n* implement additional modules\n* test unstable modules and report bugs/errors\n\n----\n\n## Requirements\n\n### LinuxHA\n\nYou will have to install the LinuxHA packages on the target server:\n* [LinuxHA](https://wiki.clusterlabs.org/wiki/Install) ([corosync](https://github.com/corosync/corosync) and [pacemaker](https://github.com/ClusterLabs/pacemaker))\n* [crm-shell](https://github.com/ClusterLabs/crmsh) (crmsh)\n\nAfter that - configure the basic cluster using the '[corosync.conf](https://linux.die.net/man/5/corosync.conf)' file.\n\nExample config: [documentation](https://linuxha.ansibleguy.net/usage/config.html)\n\n### XML Parsing\n\nThe [xmltodict python module](https://github.com/martinblech/xmltodict) is used to parse config!\n\nIt is only needed on the Ansible controller!\n\n```bash\npython3 -m pip install xmltodict\n```\n\n### Collection\n\nThen - install the collection itself:\n\n```bash\n# latest version:\nansible-galaxy collection install git+https://github.com/ansibleguy/collection_linuxha.git\n\n# stable/tested version:\nansible-galaxy collection install ansibleguy.linuxha\n\n# install to specific directory for easier development\ncd $PLAYBOOK_DIR\nansible-galaxy collection install git+https://github.com/ansibleguy/collection_linuxha.git -p ./collections\n```\n\n----\n\n## Usage\n\nSee: [Docs](https://linuxha.ansibleguy.net)\n\n[![Docs Uptime](https://status.oxl.at/api/v1/endpoints/4--ansibleguy_ansible-collection---linuxha-documentation/uptimes/7d/badge.svg)](https://status.oxl.at/endpoints/4--ansibleguy_ansible-collection---linuxha-documentation)\n\n[Alternative Link](https://ansible-linuxha.readthedocs.io/)\n\n----\n\n## Modules\n\n**Development States**:\n\nnot implemented =\u003e development =\u003e [testing](https://github.com/ansibleguy/collection_linuxha/tree/latest/tests) =\u003e unstable (_practical testing_) =\u003e stable\n\n### Implemented\n\n\n| Function                 | Module                    | Usage                                                                | State    |\n|:-------------------------|:--------------------------|:---------------------------------------------------------------------|:---------|\n| **Execute raw commands** | ansibleguy.linuxha.raw    | [Docs](https://linuxha.ansibleguy.net/modules/raw.html)    | unstable |\n| **Parsed status**        | ansibleguy.linuxha.status | [Docs](https://linuxha.ansibleguy.net/modules/status.html) | unstable |\n| **Parsed config**        | ansibleguy.linuxha.config | [Docs](https://linuxha.ansibleguy.net/modules/config.html) | unstable  |\n\n### Roadmap\n\n- Status\n  - Current config\n  - Cluster status\n  - Cluster health\n- Actions\n  - [Resource Actions](https://crmsh.github.io/man-2.0/#cmdhelp_resource)\n  - [Node Actions](https://crmsh.github.io/man-2.0/#cmdhelp_node)\n- [Configuration](https://crmsh.github.io/man-2.0/#cmdhelp_configure)\n  - [Property](https://crmsh.github.io/man-2.0/#cmdhelp_configure_property)\n  - [Primitives](https://crmsh.github.io/man-2.0/#cmdhelp_configure_primitive)\n  - [Monitor](https://crmsh.github.io/man-2.0/#cmdhelp_configure_monitor)\n  - [Clone](https://crmsh.github.io/man-2.0/#cmdhelp_configure_clone)\n  - [Groups](https://crmsh.github.io/man-2.0/#cmdhelp_configure_group)\n  - [Order](https://crmsh.github.io/man-2.0/#cmdhelp_configure_order)\n  - [Location](https://crmsh.github.io/man-2.0/#cmdhelp_configure_location)\n  - [Co-Location](https://crmsh.github.io/man-2.0/#cmdhelp_configure_colocation)\n  - [Master-Slave](https://crmsh.github.io/man-2.0/#cmdhelp_configure_ms)\n","funding_links":["https://ko-fi.com/ansible0guy","https://github.com/sponsors/ansibleguy"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansibleguy%2Fcollection_linuxha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fansibleguy%2Fcollection_linuxha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansibleguy%2Fcollection_linuxha/lists"}