{"id":14984541,"url":"https://github.com/romantomjak/ansible-roles","last_synced_at":"2025-04-10T21:15:44.642Z","repository":{"id":44958205,"uuid":"131089037","full_name":"romantomjak/ansible-roles","owner":"romantomjak","description":"Ansible roles and example playbooks for debian based hosts","archived":false,"fork":false,"pushed_at":"2024-12-31T21:41:32.000Z","size":412,"stargazers_count":35,"open_issues_count":0,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T21:15:38.397Z","etag":null,"topics":["ansible","ansible-playbooks","ansible-roles","beats","consul","debian","devops","elasticsearch","hashicorp","hashistack","influxdb","kibana","logstash","nomad","playbook","telegraf","tinc","traefik","vault","vpn"],"latest_commit_sha":null,"homepage":"","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/romantomjak.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":"2018-04-26T02:29:14.000Z","updated_at":"2024-12-31T21:41:35.000Z","dependencies_parsed_at":"2024-10-13T07:40:23.376Z","dependency_job_id":"2b116930-e456-4a70-bef3-bcefb77fadf9","html_url":"https://github.com/romantomjak/ansible-roles","commit_stats":{"total_commits":200,"total_committers":3,"mean_commits":66.66666666666667,"dds":"0.030000000000000027","last_synced_commit":"df4cddf0b708067fedfb7bd3ac962408905eacf5"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romantomjak%2Fansible-roles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romantomjak%2Fansible-roles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romantomjak%2Fansible-roles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romantomjak%2Fansible-roles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/romantomjak","download_url":"https://codeload.github.com/romantomjak/ansible-roles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248298311,"owners_count":21080320,"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-playbooks","ansible-roles","beats","consul","debian","devops","elasticsearch","hashicorp","hashistack","influxdb","kibana","logstash","nomad","playbook","telegraf","tinc","traefik","vault","vpn"],"created_at":"2024-09-24T14:09:14.549Z","updated_at":"2025-04-10T21:15:44.627Z","avatar_url":"https://github.com/romantomjak.png","language":"Jinja","funding_links":[],"categories":["Documentation, examples, demos, and awesome lists"],"sub_categories":[],"readme":"# ansible\n\nRoles and playbooks for debian based hosts \n\n---\n\nI'm following the philosophy that each role should *just work* without changing any of the arguments and while it's great for playing around, you shouldn't run this role in production without checking out the `\u003crole\u003e/defaults/main.yml` and `\u003crole\u003e/README.md` as that's where I describe what can be customized and offer advice and sample playbooks.\n\n## How to use this\n\nI usually have a top-level directory named `ansible` in which I initialise this repo as a submodule in a folder named `common`:\n\n```\n.\n├── README.md\n├── ansible/\n│   ├── common/  # submodule\n│   └── roles/   # project specific roles\n├── ansible.cfg\n└── src/\n```\n\nThis way I can have roles that are common to all my projects - like `docker` or `firewall` + project specific roles and playbooks.\n\nIn this setup it's imperative to have the `ansible.cfg` file pointing to our `common` roles:\n\n```\n[defaults]\nroles_path = ansible/common:ansible/roles\n```\n\n## Useful commands\n\n### How to initialise Git submodule\n\nOn recent Git versions it's enough with:\n\n```shell\n$ git submodule add git@github.com:romantomjak/ansible-roles ansible/common\n```\n\nand when the upstream changes and you would like to pull the latest changes:\n\n```shell\n$ git submodule update --remote --merge\n```\n\n### Syntax check\n\n```shell\n$ ansible-playbook --syntax-check helloworld.yml\n```\n\n### Run against a single host\n\nPlay needs to have `hosts: all`, then run:\n\n```shell\n$ ansible-playbook -i \"myhost.com,\" helloworld.yml\n```\n\nNote the comma (,) at the end; this signals that it's a list, not a file.\n\n## Notes\n\n- [Ansible Coding Conventions](https://github.com/appsembler/configuration/wiki/Ansible-Coding-Conventions)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromantomjak%2Fansible-roles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromantomjak%2Fansible-roles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromantomjak%2Fansible-roles/lists"}