{"id":20994402,"url":"https://github.com/idanhoro/ansible-project","last_synced_at":"2026-04-21T18:37:48.422Z","repository":{"id":39250436,"uuid":"506812976","full_name":"idanhoro/Ansible-project","owner":"idanhoro","description":"Ansible playbooks to configure the servers created by Terraform template","archived":false,"fork":false,"pushed_at":"2022-06-24T09:48:42.000Z","size":561,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T08:49:38.711Z","etag":null,"topics":["ansible","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/idanhoro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-23T22:50:24.000Z","updated_at":"2022-06-24T04:01:21.000Z","dependencies_parsed_at":"2022-08-29T06:44:20.119Z","dependency_job_id":null,"html_url":"https://github.com/idanhoro/Ansible-project","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/idanhoro%2FAnsible-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idanhoro%2FAnsible-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idanhoro%2FAnsible-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idanhoro%2FAnsible-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/idanhoro","download_url":"https://codeload.github.com/idanhoro/Ansible-project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243410230,"owners_count":20286387,"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","terraform"],"created_at":"2024-11-19T07:18:11.395Z","updated_at":"2025-12-24T18:51:18.839Z","avatar_url":"https://github.com/idanhoro.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ANSIBLE PROJECT\n\n\u003cimg src=\"./images/ansible.gif\" width=\"500\"/\u003e\n\n# Introduction\n\nPreviously created a [Terraform template](https://github.com/idanhoro/Terraform-project) that automates the process of provisioning our infrastructure in the Cloud.\nIn this project we are going to use in order to automate the whole configuration of the servers and\ndeploy our NodeWeightTracker application using Configuration Management practices.\n\n# Project Overview\n\nIn this project i wrote  an Ansible playbooks to configure the servers created by [Terraform template](https://github.com/idanhoro/Terraform-project) and then, install the NodeWeightTracker application including all its dependencies.\nIn addition, we are ready to move to production. To achieve this we will need to provision 2 identical environments, one for staging and another for production.\n\n\u003cimg src=\"./images/project_overview.png\" width=\"700\"/\u003e\n\n# Project Goals\n\n- Use Terraform to provision the infrastructure\n- Use Ansible to deploy the NodeWeightTracker application\n- Create two environments: Staging and Production\n- Both environments must be identical except for the size of the vms (production ones must be larger)\n\n# Requirements\n\n- [Terraform template](https://github.com/idanhoro/Terraform-project)\n- Virtual Machine that will be the Ansible Controller.\n- Free Okta developer account for account registration, login\n- .env file for each environment. (Example at ansible\\env_production\\Example_env)\n- Inventory file configure, [INI STYLE](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ini_inventory.html) Example:\n```yaml\n[production]\nProduction-Server-1 \n      .\n      .\n  \n[production:vars]\nansible_ssh_host=[[IP/DNS ADRESS]]\nansible_user=[[The username of ansible VM]]\n\nVM_username=[[Host's username]]\nApp_folder=[[Name of the project directory]]\ngit_repo_url=[[\"https://github.com/idanhoro/bootcamp-app.git\"]]\nController_folder=[[Directory at ansible VM that should run from]]\nenv_level=[[Environment level]]\n\n[staging]\nStaging-Server-1\n      .\n      .\n[staging:vars]\nansible_ssh_host=[[IP/DNS ADRESS]]\nansible_user=[[The username of ansible VM]]\nVM_username=[[Host's username]]\nApp_folder=[[Name of the project directory]]\ngit_repo_url=[[\"https://github.com/idanhoro/bootcamp-app.git\"]]\nController_folder=[[Directory at ansible VM that should run from]]\nenv_level=[[Environment level]]\n```\n\n\n# Running instructions\nRun the follow commands:\n1) ```cd Ansible-project\\setup```\n2) ```terraform init```\n3) ```terraform apply```\n4) ``` cd Ansible-project\\ansible```\n5) ```ansible-playbook -i Inventory playbook.yml``` (Inventory+.env files required )\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidanhoro%2Fansible-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fidanhoro%2Fansible-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidanhoro%2Fansible-project/lists"}