{"id":15576636,"url":"https://github.com/abn/ansible-role-managed-node-bootstrap","last_synced_at":"2026-03-15T21:24:33.898Z","repository":{"id":149541902,"uuid":"110348020","full_name":"abn/ansible-role-managed-node-bootstrap","owner":"abn","description":"Ansible Role: Bootstrap an ansible managed node with minimal dependencies","archived":false,"fork":false,"pushed_at":"2017-11-12T05:21:57.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-19T10:31:30.701Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abn.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":"2017-11-11T13:36:30.000Z","updated_at":"2017-11-11T13:36:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"e54f4b29-0a1d-4a87-a81b-ae91c9e204c3","html_url":"https://github.com/abn/ansible-role-managed-node-bootstrap","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abn%2Fansible-role-managed-node-bootstrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abn%2Fansible-role-managed-node-bootstrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abn%2Fansible-role-managed-node-bootstrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abn%2Fansible-role-managed-node-bootstrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abn","download_url":"https://codeload.github.com/abn/ansible-role-managed-node-bootstrap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243261195,"owners_count":20262799,"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":[],"created_at":"2024-10-02T18:53:27.969Z","updated_at":"2025-12-26T21:49:08.019Z","avatar_url":"https://github.com/abn.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Managed Node Bootstrap\n======================\n[![Build Status](https://travis-ci.org/abn/ansible-role-managed-node-bootstrap.svg?branch=master)](https://travis-ci.org/abn/ansible-role-managed-node-bootstrap) [![Ansible Role](https://img.shields.io/ansible/role/21884.svg)](https://galaxy.ansible.com/abn/managed-node-bootstrap/)\n\nBootstrap an ansible managed node with minimal dependencies. This was originally written to bootstrap instances of distribution base docker images, and hence might require improvements before it becomes stable for non container usage.\n\nCurrent supported distributions are;\n1. Alpine Linux\n2. Debian based distributions using apt-get (Ubuntu)\n3. OpenSUSE\n4. Red Hat based distributions using dnf/yum (Red Hat Enterprise Linux, CentOS, Fedora)\n\nRequirements\n------------\n\nNo additional requirements are enforced other than an Ansbile version that supports the `raw` module. Development was done on Ansible 2.2+.\n\nRole Variables\n--------------\n\nThis role supports the following configurations via variables.\n\n1. `managed_node_bootstrap_use_sudo`: Set this to `yes` if the host in question has `sudo` installed and you are connecting as a non-root user.\n2. `managed_node_bootstrap_cmd_prefix`: This defaults to `sudo` if `managed_node_bootstrap_use_sudo` is set. You can override this to ensure this prefix is added to all executed commands.\n1. `managed_node_bootstrap_done_file`: This specifies which file to use as an indicator if the bootstrap task was successfully executed before.\n2. `managed_node_packages_{alpine,debian,opensuse,redhat}`: This is used to configure the list of packages to install for each of these distribution families.\n\nDependencies\n------------\n\nNo Dependencies rquired other than Ansible itself.\n\nExample Playbook\n----------------\n\nHere is an example play that can be used to bootstrap all your hosts in your inventory. Note that ansible connection method etc. has to be configured external to this. Additionally, note that this requires connecting as a root user, since we assume `sudo` is not available on these instances (docker image assumption). See above for how to alter this behaviour.\n\n    ---\n    - name: bootstrap ansible managed node\n      hosts: all\n      gather_facts: False\n      roles:\n        - abn.molecule-node-bootstrap\n\nTesting\n-------\nBefore testing, you need to ensure that the submodules required have been cloned.\n```sh\ngit submodule update --init --recursive\n```\n\n### Local Environment\nThis role uses [Molecule](https://molecule.readthedocs.io/en/latest/) and docker instances to enable testing. You can run this locally on your development environment provided you have python installed and are running the docker daemon.\n\n```sh\n# install molecule and docker-py requirements\npip install -r test-requirements.txt\nmolecule test\n```\n\nThis will as configured in the default molecule scenario, spin up containers of the supported distributions and execute a sample playbook.\n\n### Tox\nThis project also has [tox](http://tox.readthedocs.io/en/latest/) configured to run against multiple ansible versions with [Molecule](https://molecule.readthedocs.io/en/latest/). This can simply be run using tox.\n\n```sh\ntox\n```\n\nRefer to the [Molecule documentation](https://molecule.readthedocs.io/en/latest/testing.html) and [tox documentation](http://tox.readthedocs.io/en/latest/) for advance usage instructions.\n\n\nLicense\n-------\n\nApache License 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabn%2Fansible-role-managed-node-bootstrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabn%2Fansible-role-managed-node-bootstrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabn%2Fansible-role-managed-node-bootstrap/lists"}