{"id":15081316,"url":"https://github.com/asnocode/ansible","last_synced_at":"2026-02-27T03:34:35.066Z","repository":{"id":221235508,"uuid":"753825742","full_name":"asnocode/ansible","owner":"asnocode","description":"Ansible IaC","archived":false,"fork":false,"pushed_at":"2024-02-06T21:40:33.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-05T07:37:48.679Z","etag":null,"topics":["ansible","ansible-playbook","ansible-roles","yaml"],"latest_commit_sha":null,"homepage":null,"language":null,"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/asnocode.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,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-06T21:26:57.000Z","updated_at":"2024-02-09T22:31:33.000Z","dependencies_parsed_at":"2024-02-06T22:09:58.342Z","dependency_job_id":null,"html_url":"https://github.com/asnocode/ansible","commit_stats":null,"previous_names":["asnocode/ansible"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asnocode/ansible","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asnocode%2Fansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asnocode%2Fansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asnocode%2Fansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asnocode%2Fansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asnocode","download_url":"https://codeload.github.com/asnocode/ansible/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asnocode%2Fansible/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29883796,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T23:51:21.483Z","status":"online","status_checked_at":"2026-02-27T02:00:06.759Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-playbook","ansible-roles","yaml"],"created_at":"2024-09-25T06:00:28.956Z","updated_at":"2026-02-27T03:34:35.040Z","avatar_url":"https://github.com/asnocode.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# ansible\n\nAnsible IaC\n\n![ansible](https://github.com/asnocode/ansible/assets/33103662/f3f621aa-972e-41b2-b71f-932975e81340)\n\nAnsible concepts\n\nThese concepts are common to all uses of Ansible. You should understand them before using Ansible or reading the documentation.\n\nControl node\n\nManaged nodes\n\nInventory\n\nPlaybooks\n\nPlays\n\nRoles\n\nTasks\n\nHandlers\n\nModules\n\nPlugins\n\nCollections\n\nControl node\n\nThe machine from which you run the Ansible CLI tools (ansible-playbook , ansible, ansible-vault and others). You can use any computer that meets the software requirements as a control node - laptops, shared desktops, and servers can all run Ansible. You can also run Ansible in containers known as Execution Environments.\n\nMultiple control nodes are possible, but Ansible itself does not coordinate across them, see AAP for such features.\n\nManaged nodes\n\nAlso referred to as ‘hosts’, these are the target devices (servers, network appliances or any computer) you aim to manage with Ansible.\n\nAnsible is not normally installed on managed nodes, unless you are using ansible-pull, but this is rare and not the recommended setup.\n\nInventory\n\nA list of managed nodes provided by one or more ‘inventory sources’. Your inventory can specify information specific to each node, like IP address. It is also used for assigning groups, that both allow for node selection in the Play and bulk variable assignment.\n\nTo learn more about inventory, see the Working with Inventory section. Sometimes an inventory source file is also referred to as a ‘hostfile’.\n\nPlaybooks\n\nThey contain Plays (which are the basic unit of Ansible execution). This is both an ‘execution concept’ and how we describe the files on which ansible-playbook operates.\n\nPlaybooks are written in YAML and are easy to read, write, share and understand. \n\nPlays\n\nThe main context for Ansible execution, this playbook object maps managed nodes (hosts) to tasks. The Play contains variables, roles and an ordered lists of tasks and can be run repeatedly. It basically consists of an implicit loop over the mapped hosts and tasks and defines how to iterate over them.\n\nRoles\n\nA limited distribution of reusable Ansible content (tasks, handlers, variables, plugins, templates and files) for use inside of a Play.\n\nTo use any Role resource, the Role itself must be imported into the Play.\n\nTasks\n\nThe definition of an ‘action’ to be applied to the managed host. You can execute a single task once with an ad hoc command using ansible or ansible-console (both create a virtual Play).\n\nHandlers\n\nA special form of a Task, that only executes when notified by a previous task which resulted in a ‘changed’ status.\n\nModules\n\nThe code or binaries that Ansible copies to and executes on each managed node (when needed) to accomplish the action defined in each Task.\n\nEach module has a particular use, from administering users on a specific type of database to managing VLAN interfaces on a specific type of network device.\n\nYou can invoke a single module with a task, or invoke several different modules in a playbook. Ansible modules are grouped in collections. \n\nPlugins\n\nPieces of code that expand Ansible’s core capabilities. Plugins can control how you connect to a managed node (connection plugins), manipulate data (filter plugins) and even control what is displayed in the console (callback plugins).\n\nCollections\n\nA format in which Ansible content is distributed that can contain playbooks, roles, modules, and plugins. Collection resources can be used independently and discretely from each other.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasnocode%2Fansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasnocode%2Fansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasnocode%2Fansible/lists"}