{"id":19259074,"url":"https://github.com/r3drun3/centos_ansible_provisioning","last_synced_at":"2026-04-09T16:12:55.965Z","repository":{"id":137685470,"uuid":"501742393","full_name":"R3DRUN3/centos_ansible_provisioning","owner":"R3DRUN3","description":"Automate Docker testing with Ansible and Vagrant 🔧🦾","archived":true,"fork":false,"pushed_at":"2022-06-27T17:40:44.000Z","size":69,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-15T20:51:56.555Z","etag":null,"topics":["ansible","devops","docker","docker-swarm","iaac","vagrant"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/R3DRUN3.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":"2022-06-09T17:10:20.000Z","updated_at":"2025-02-14T13:43:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"25db2d58-948c-4103-8257-e0c546d1f020","html_url":"https://github.com/R3DRUN3/centos_ansible_provisioning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/R3DRUN3/centos_ansible_provisioning","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R3DRUN3%2Fcentos_ansible_provisioning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R3DRUN3%2Fcentos_ansible_provisioning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R3DRUN3%2Fcentos_ansible_provisioning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R3DRUN3%2Fcentos_ansible_provisioning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/R3DRUN3","download_url":"https://codeload.github.com/R3DRUN3/centos_ansible_provisioning/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R3DRUN3%2Fcentos_ansible_provisioning/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264646609,"owners_count":23643439,"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","devops","docker","docker-swarm","iaac","vagrant"],"created_at":"2024-11-09T19:15:20.364Z","updated_at":"2026-04-09T16:12:55.930Z","avatar_url":"https://github.com/R3DRUN3.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CentOS Ansible provisioning\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\n\u003cp align=\"center\"\u003e\u003cimg width=\"180\" height=\"180\" src=\"https://github.com/yurijserrano/Github-Profile-Readme-Logos/blob/master/cloud/ansible.svg\"\u003e\u003c/p\u003e\n\n## Abstract\nThis repo contains DevOps\\IaC procedures to automate the followings:\n1. Provisioning of 3 CentOS virtual machines (one control node and two worker nodes)\n2. Creation of a 50 GB ext4 partition for Docker\n3. Installation of Docker\n4. Installation of Docker Swarm \n5. Securing of Docker Rest Api via TLS certificate generation\n6. Configure Docker auto-start at boot\n7. Interact and deploy services on the Swarm from the control node.\n\n## Prerequisites\nThis code has been tested on a `windows 11` host with `vagrant` version `2.2.19` and virtual box version `6.1.34`.\n\nBy making use of the `Ansible Local` Vagrant provisioner we are able to provision the guest by executing ansible-playbook directly on the targets machine.\n\nFollowings are the required Vagrant Plugins:\n\n1. `vagrant-disksize (0.1.3, global)`\n2. `vagrant-vbguest (0.21.0, global)`\n\n## Instructions\nClone this repo and start the provisioning:\n\n```console\ngit clone https://github.com/R3DRUN3/centos_ansible_provisioning.git \\\n\u0026\u0026 cd centos_ansible_provisioning \u0026\u0026 Vagrant up\n``` \n## Github Action\nAn [ansible linting](https://ansible-lint.readthedocs.io/en/latest/) GitHub action is associated with push on this repo main branch:\n\n[![Ansible Lint](https://github.com/R3DRUN3/centos_ansible_provisioning/actions/workflows/ansible-lint.yml/badge.svg)](https://github.com/R3DRUN3/centos_ansible_provisioning/actions/workflows/ansible-lint.yml)\n\nNote that it fails because it cannot find some of the roles referenced in the playbook provisioning.yml:\n\n![alt text](https://github.com/R3DRUN3/centos_ansible_provisioning/blob/main/images/github_action.png)\n\nThis is not a real error but rather a false positive given by the fact that the procedure uses the vagrant [ansible_local](https://www.vagrantup.com/docs/provisioning/ansible_local) provisioner, which allows us to run playbooks on target machines.\n\nThis way the ansible galaxy roles do not need to be inside the repo (which could weigh down the code base in case of playbooks that use hundreds of roles) \nbut they are automatically downloaded on targets machine via this line in the Vagrant file:\n\n```hcl\nansible.galaxy_command = \"sudo ansible-galaxy install --role-file=%{role_file} --roles-path=%{roles_path} --force\"\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3drun3%2Fcentos_ansible_provisioning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr3drun3%2Fcentos_ansible_provisioning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3drun3%2Fcentos_ansible_provisioning/lists"}