{"id":24432697,"url":"https://github.com/davidfischer-ch/ansible-roles","last_synced_at":"2025-04-12T14:07:08.516Z","repository":{"id":69239073,"uuid":"43932139","full_name":"davidfischer-ch/ansible-roles","owner":"davidfischer-ch","description":"Library of Ansible plugins and roles for deploying various services.","archived":false,"fork":false,"pushed_at":"2024-04-03T21:43:37.000Z","size":1429,"stargazers_count":15,"open_issues_count":2,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-03T22:38:56.748Z","etag":null,"topics":["ansible","aws","celery","datadog-agent","devops","django","docker","elk","haproxy","java","jenkins","lamp","memcache","nginx","nodejs","postgresql","python","redis","vagrant","varnish"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidfischer-ch.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.rst","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null}},"created_at":"2015-10-09T04:03:17.000Z","updated_at":"2022-03-27T19:56:38.000Z","dependencies_parsed_at":"2024-04-03T22:47:02.743Z","dependency_job_id":null,"html_url":"https://github.com/davidfischer-ch/ansible-roles","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfischer-ch%2Fansible-roles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfischer-ch%2Fansible-roles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfischer-ch%2Fansible-roles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfischer-ch%2Fansible-roles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidfischer-ch","download_url":"https://codeload.github.com/davidfischer-ch/ansible-roles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234817670,"owners_count":18891446,"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","aws","celery","datadog-agent","devops","django","docker","elk","haproxy","java","jenkins","lamp","memcache","nginx","nodejs","postgresql","python","redis","vagrant","varnish"],"created_at":"2025-01-20T16:01:46.037Z","updated_at":"2025-01-20T16:02:13.359Z","avatar_url":"https://github.com/davidfischer-ch.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Library\n\nLibrary of Ansible plugins and roles for deploying various services.\n\nThis library is covering multiple use-cases:\n\n* Deploying a full Django stack\n* Deploying a full LAMP stack\n* Deploying an ELK stack (work in progress)\n* Deploying an Ampache server\n* Deploying a GitLab server using Omnibus\n* Deploying an ownCloud server or client\n* Deploying a SeaFile server or client\n* Installing a {development, multimedia, ...} computer under Debian/Ubuntu\n* Tweaking an Ubuntu Phone (never install nfs-client!)\n* ...\n\nThe roles are generic enough to be usable as-is.\n\n## Scripts\n\n### Development Tools\n\n- [check-syntax.py](scripts/check-syntax.py) : Check YAML syntax of a whole file tree.\n- [git-init-roles.py](scripts/git-init-roles.py) : Convert roles from \"ansible-galaxy copies\" to proprer \"git clones\". Useful when working on roles.\n- [git-status-roles.py](scripts/git-status-roles.py) : Show the git status of roles when its meaningful (something changed). Useful when working on roles.\n- [git-update-roles.py](scripts/git-update-roles.py) : Iterate over all roles and do `git pull`. Usefull when working on roles.\n- [happy-new-year.py](scripts/happy-new-year.py) : Iterate over all roles and refresh end-year with current year. Usefull or not, that is the question.\n- [refresh-roles.sh](scripts/refresh-roles.sh) : Use ansible-galaxy to install/update roles in roles/ directory. Roles are listed in [requirements.yml](roles/requirements.yml).\n\n### Legacy\n\n- [generate-config.py](scripts/generate-config.py) : Generate `ansible.cfg` with `ansible-config`.\n- [split/](scripts/split/) : Scripts used to split this library in many repositories.\n\n\n## Examples\n\n### An Ubuntu Desktop Computer\n\n#### PlayBook\n\n```\n---\n\n- import_playbook: roles-df/playbooks/devices.yml\n\n- hosts:\n    - seafile-client\n  roles:\n    - seafile-client\n```\n\n#### Inventory\n\n```\n[gaming]\nmy-computer\n\n[laptop]\nmy-computer\n\n[seafile-client]\nmy-computer\n```\n\n#### Variables\n\n```\nansible_connection: local\nansible_host: 127.0.0.1\nansible_port: 22\nansible_user: me\nssh_port: 22\nuser: '{{ ansible_user }}'\ngroup: '{{ ansible_user }}'\ndesktop_package: ubuntu-desktop\njava_packages:\n  - icedtea-8-plugin\n  - openjdk-8-jre\nextra_apt_repositories:\n  - ppa:nilarimogard/webupd8\nextra_packages:\n  - nvidia-prime\n  - prime-indicator\n```\n\n### Django Development Server\n\nSee django-site role's [README](https://github.com/davidfischer-ch/ansible-role-django-site/blob/master/README.md) and [example](examples/django-dev/).\n\n### Mounting a S3 bucket with s3fs\n\nSee s3fs role's [README](https://github.com/davidfischer-ch/ansible-role-s3fs/blob/master/README.md).\n\n### Seafile Professional Server\n\nSee:\n\n* seafile role's [README](https://github.com/davidfischer-ch/ansible-role-seafile/blob/master/README.md) and [example](examples/seafile-vm/).\n\n### Setup a PostgreSQL server with an application DB\n\nSee:\n\n* postgresql role's [README](https://github.com/davidfischer-ch/ansible-role-postgresql/blob/master/README.md).\n* postgresql-databases role's [README](https://github.com/davidfischer-ch/ansible-role-postgresql-databases/blob/master/README.md).\n\n### Installing AWS utilities\n\nSee cloudwatch-logs-agent role's [README](https://github.com/davidfischer-ch/ansible-role-cloudwatch-logs-agent/blob/master/README.md).\n\n## Versioning\n\nConvention: `v\u003cMAJOR\u003e.\u003cMINOR\u003e.\u003cPATCH\u003e`\n\n### MAJOR Upgrade\n\nBreaking change that cannot be applied as-is on hosts setup using a previous version of the role.\nIt may requires a migration procedure or some additional code.\n\nExamples:\n\n- A deprecated feature is now removed\n- More to come\n\n### MINOR Upgrade\n\nNon-breaking change that cannot be applied as-is without updating the automation using the role.\n\nRequires some changes in the code using the role.\n\nExamples:\n\n- A default value defined in the role is changed or removed\n- A variable is renamed or its data scheme is modified\n- More to come\n\n### PATCH Upgrade\n\nAn update that is assumed to be safe to be applied.\n\nExamples:\n\n- Some bug fixes\n- Code or templates refactoring\n- There is a new feature (disabled by default)\n- There is a new action available (you have to call it)\n- Enhanced support of the hundreds Linux distributions\n\n2014-2022 - David Fischer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidfischer-ch%2Fansible-roles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidfischer-ch%2Fansible-roles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidfischer-ch%2Fansible-roles/lists"}