{"id":21721476,"url":"https://github.com/informaticsmatters/ansible-gizmos","last_synced_at":"2025-10-13T21:03:14.848Z","repository":{"id":166347819,"uuid":"641823391","full_name":"InformaticsMatters/ansible-gizmos","owner":"InformaticsMatters","description":"Generally useful Ansible playbooks (and roles)","archived":false,"fork":false,"pushed_at":"2023-09-01T17:17:50.000Z","size":133,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-20T21:49:21.900Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jinja","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/InformaticsMatters.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,"publiccode":null,"codemeta":null}},"created_at":"2023-05-17T08:37:31.000Z","updated_at":"2023-08-02T12:18:41.000Z","dependencies_parsed_at":"2025-01-25T18:42:26.626Z","dependency_job_id":"808820a8-928e-41e7-be21-ee95121ec05f","html_url":"https://github.com/InformaticsMatters/ansible-gizmos","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/InformaticsMatters/ansible-gizmos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fansible-gizmos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fansible-gizmos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fansible-gizmos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fansible-gizmos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/InformaticsMatters","download_url":"https://codeload.github.com/InformaticsMatters/ansible-gizmos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fansible-gizmos/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259949682,"owners_count":22936411,"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":[],"created_at":"2024-11-26T02:17:03.425Z","updated_at":"2025-10-13T21:03:09.809Z","avatar_url":"https://github.com/InformaticsMatters.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Gizmos\n\n![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/InformaticsMatters/ansible-gizmos)\n\n[![lint](https://github.com/InformaticsMatters/ansible-gizmos/actions/workflows/lint.yaml/badge.svg?branch=main)](https://github.com/InformaticsMatters/ansible-gizmos/actions/workflows/lint.yaml)\n\n[![CodeFactor](https://www.codefactor.io/repository/github/informaticsmatters/ansible-gizmos/badge)](https://www.codefactor.io/repository/github/informaticsmatters/ansible-gizmos)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![Packaged with Poetry](https://img.shields.io/badge/packaging-poetry-cyan.svg)](https://python-poetry.org/)\n\nGenerally useful Ansible playbooks (and roles), designed to run on localhost\n(without an inventory), that don't fit in any other project. The outer project is\nmanaged by Poetry.\n\nEach **gizmo** is implemented in an Ansible Role and has a supporting project-root-level\nplaybook/site-file, named after the role, e.g. `site-k8s-database-dump.yaml`.\n\n## Getting started\nPrerequisites: -\n\n1.  [Poetry]\n\nSome **gizmos** may have additional prerequisites.\nIf they do the playbook should assert they are satisfied or make the prerequisite clear.\n\nTo get started, use the Poetry shell (environment): -\n\n    poetry shell\n    poetry install\n\nSome **gizmos** depend on [Ansible Galaxy] roles and collections.\nThese can be installed in the normal way using our `requirements.yaml` file: -\n\n    ansible-galaxy install -r requirements.yaml\n\n\u003e   **CAUTION** Some playbooks can install command-line tools that may replace\n    tools you already have. They do not do this automatically, you can install these\n    tools yourself. If you want the gizmo to install the tool you have to set\n    a suitable variable for these potentially destructive actions. One example is\n    `kubectl`, which will be installed in `/usr/local/bin` if you set `ktl_install_kubectl`\n    (see our `k8s_kubectl` role regarding this tool).\n\nOnce you're setup you can run a **gizmo**: -\n\n    ansible-playbook site-k8s-database-dump.yaml\n\nAnd use a `parameters.yaml` file if you need to control the playbook's behaviour,\nwhich is protected from git with our `.gitignore` file: -\n\n    ansible-playbook site-k8s-database-dump.yaml -e @parameters.yaml\n\n\u003e   Parameter files that you want to preserve should be put int the `site-parameter-files`\n    directory, which is monitored by git. If there are sensitive values in the files,\n    remember to encrypt the file with [Ansible Vault], and **ALWAYS** use the\n    extension `.vault`.\n\n## Contributing\nThe project uses: -\n\n- [Pre-commit] to enforce linting of files prior to committing them to the\n  upstream repository\n- [Commitizen] to enforce a [Conventional Commit] commit message format\n\nYou **MUST** comply with these choices in order to  contribute to the project.\n\nTo get started review the pre-commit utility and the conventional commit style\nand then set-up your local clone by following the **Installation** and\n**Quick Start** sections: -\n\n    pre-commit install -t commit-msg -t pre-commit\n\nNow the project's rules will run on every commit, and you can check the\ncurrent health of your clone with: -\n\n    pre-commit run --all-files\n\n---\n\n[ansible galaxy]: https://galaxy.ansible.com/\n[ansible vault]: https://docs.ansible.com/ansible/latest/vault_guide/index.html\n[commitizen]: https://commitizen-tools.github.io/commitizen/\n[conventional commit]: https://www.conventionalcommits.org/en/v1.0.0/\n[pre-commit]: https://pre-commit.com/\n[poetry]: https://python-poetry.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finformaticsmatters%2Fansible-gizmos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finformaticsmatters%2Fansible-gizmos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finformaticsmatters%2Fansible-gizmos/lists"}