{"id":15869675,"url":"https://github.com/stephrobert/ansible-role-bootstrap","last_synced_at":"2026-03-27T04:59:33.286Z","repository":{"id":113481964,"uuid":"543165846","full_name":"stephrobert/ansible-role-bootstrap","owner":"stephrobert","description":"Prepare your system to be managed by Ansible","archived":false,"fork":false,"pushed_at":"2024-09-26T21:27:27.000Z","size":25,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-27T04:47:45.319Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stephrobert.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-09-29T14:25:06.000Z","updated_at":"2024-10-17T14:40:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"a4649134-ba48-4953-87cf-ee91d15a1acd","html_url":"https://github.com/stephrobert/ansible-role-bootstrap","commit_stats":{"total_commits":15,"total_committers":3,"mean_commits":5.0,"dds":0.4,"last_synced_commit":"98e69bc644ec74352520bb58ec5e02b8f9829a7d"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephrobert%2Fansible-role-bootstrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephrobert%2Fansible-role-bootstrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephrobert%2Fansible-role-bootstrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephrobert%2Fansible-role-bootstrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stephrobert","download_url":"https://codeload.github.com/stephrobert/ansible-role-bootstrap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243801675,"owners_count":20350108,"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-06T00:01:57.392Z","updated_at":"2026-03-27T04:59:33.230Z","avatar_url":"https://github.com/stephrobert.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# stephrobert.bootstrap\n\n[![Maintainer](https://img.shields.io/badge/maintained%20by-stephrobert-e00000?style=flat-square)](https://github.com/stephrobert)\n[![License](https://img.shields.io/github/license/stephrobert/ansible-role-bootstrap?style=flat-square)](https://github.com/stephrobert/ansible-role-bootstrap/blob/main/LICENSE)\n[![Release](https://img.shields.io/github/v/release/stephrobert/ansible-role-bootstrap?style=flat-square)](https://github.com/stephrobert/ansible-role-bootstrap/releases)\n[![Status](https://img.shields.io/github/workflow/status/stephrobert/ansible-role-bootstrap/Ansible%20Molecule?style=flat-square\u0026label=tests)](https://github.com/stephrobert/ansible-role-bootstrap/actions?query=workflow%3A%22Ansible+Molecule%22)\n[![Ansible Galaxy](https://img.shields.io/badge/ansible-galaxy-black.svg?style=flat-square\u0026logo=ansible)](https://galaxy.ansible.com/stephrobert/bootstrap)[![Ansible version](https://img.shields.io/badge/ansible-%3E%3D2.10-black.svg?style=flat-square\u0026logo=ansible)](https://github.com/ansible/ansible)\n\n⭐ Star us on GitHub — it motivates us a lot!\n\nPrepare your system to be managed by Ansible.\n\n**Platforms Supported**:\n\n| Platform | Versions |\n|----------|----------|\n| Fedora | 35, 36 |\n| Ubuntu | jammy |\n| Debian | bullseye |\n\n## ⚠️ Requirements\n\nAnsible \u003e= 2.12.\n\n### Ansible role dependencies\n\nNone.\n\n## ⚡ Installation\n\n### Install with Ansible Galaxy\n\n```shell\nansible-galaxy install stephrobert.bootstrap\n```\n\n### Install with git\n\nIf you do not want a global installation, clone it into your `roles_path`.\n\n```bash\ngit clone git@github.com:stephrobert/ansible-role-bootstrap.git  stephrobert.bootstrap\n```\n\nBut I often add it as a submodule in a given `playbook_dir` repository.\n\n```bash\ngit submodule add git@github.com:stephrobert/ansible-role-bootstrap.git roles/stephrobert.bootstrap\n```\n\nAs the role is not managed by Ansible Galaxy, you do not have to specify the\ngithub user account.\n\n### ✏️ Example Playbook\n\nBasic usage is:\n\n```yaml\n- hosts: all\n  roles:\n    - role: stephrobert.bootstrap\n      vars:\n        bootstrap_timeout: 10\n        \n```\n\n## ⚙️ Role Variables\n\nVariables are divided in three types.\n\nThe **default vars** section shows you which variables you may\noverride in your ansible inventory. As a matter of fact, all variables should\nbe defined there for explicitness, ease of documentation as well as overall\nrole manageability.\n\nThe **context variables** are shown in section below hint you\non how runtime context may affects role execution.\n\n### Default variables\n\n#### main\n\nBootsrap a machine for Ansible.\n\n| Variable Name | Required | Type | Default | Elements | Description |\n|---------------|----------|------|---------|----------|-------------|\n| bootstrap_timeout | False | int | 10 |  | Time (in seconds) to wait for connection. |\n\n### Context variables\n\nThose variables from `vars/*.{yml,json}` are loaded dynamically during task\nruntime using the `include_vars` module.\n\nVariables loaded from `vars/main.yml`.\n\n| Variable Name | Value |\n|---------------|-------|\n| bootstrap_os_family_map | Alpine:\u003cbr\u003e- Alpine\u003cbr\u003eArchlinux:\u003cbr\u003e- Archlinux\u003cbr\u003e- Antergos\u003cbr\u003e- Manjaro\u003cbr\u003eDebian:\u003cbr\u003e- Debian\u003cbr\u003e- Ubuntu\u003cbr\u003e- Raspbian\u003cbr\u003e- Neon\u003cbr\u003e- KDE neon\u003cbr\u003e- Linux Mint\u003cbr\u003e- SteamOS\u003cbr\u003e- Devuan\u003cbr\u003e- Kali\u003cbr\u003e- Cumulus Linux\u003cbr\u003e- Pop!_OS\u003cbr\u003e- Parrot\u003cbr\u003e- Pardus GNU/Linux\u003cbr\u003eGentoo:\u003cbr\u003e- Gentoo\u003cbr\u003e- Funtoo\u003cbr\u003eRedHat:\u003cbr\u003e- RedHat\u003cbr\u003e- Fedora\u003cbr\u003e- CentOS\u003cbr\u003e- Scientific\u003cbr\u003e- SLC\u003cbr\u003e- Ascendos\u003cbr\u003e- CloudLinux\u003cbr\u003e- PSBM\u003cbr\u003e- Rocky\u003cbr\u003e- OracleLinux\u003cbr\u003e- OVS\u003cbr\u003e- OEL\u003cbr\u003e- Amazon\u003cbr\u003e- Virtuozzo\u003cbr\u003e- XenServer\u003cbr\u003e- Alibaba\u003cbr\u003e- EulerOS\u003cbr\u003e- openEuler\u003cbr\u003e- AlmaLinux\u003cbr\u003eSuse:\u003cbr\u003e- SLED\u003cbr\u003e- openSUSE Tumbleweed\u003cbr\u003e- openSUSE Leap\u003cbr\u003e- SLES_SAP\u003cbr\u003e- SUSE_LINUX\u003cbr\u003e- SLES\u003cbr\u003e- openSUSE\u003cbr\u003e- SuSE\u003cbr\u003e |\n| bootstrap_install | {{ _bootstrap_install[bootstrap_distribution ~'_'~ bootstrap_distribution_major_version] \\|default( _bootstrap_install[bootstrap_distribution] ) \\|default( _bootstrap_install[bootstrap_os_family] ) }} |\n| _bootstrap_install | Alpine:\u003cbr\u003e  raw: LANG=C apk update ; apk add {{ bootstrap_packages }}\u003cbr\u003e  stdout_regex: Installing\u003cbr\u003eArchlinux:\u003cbr\u003e  raw: LANG=C pacman -Sy --noconfirm {{ bootstrap_packages }}\u003cbr\u003e  stdout_regex: ' installing python'\u003cbr\u003eDebian:\u003cbr\u003e  raw: LANG=C apt-get update \u0026\u0026 apt-get install -y {{ bootstrap_packages }}\u003cbr\u003e  stdout_regex: ' 0 newly installed'\u003cbr\u003eGentoo:\u003cbr\u003e  raw: LANG=C equery l {{ bootstrap_packages }}  \\| \\| (emaint -a sync ; emerge -qkv {{\u003cbr\u003e    bootstrap_packages }} ; echo 'changed')\u003cbr\u003e  stdout_regex: changed\u003cbr\u003eRedHat:\u003cbr\u003e  raw: LANG=C yum -y install {{ bootstrap_packages }}\u003cbr\u003e  stdout_regex: Nothing\u003cbr\u003eSuse:\u003cbr\u003e  raw: LANG=C zypper -n install {{ bootstrap_packages }}\u003cbr\u003e  stdout_regex: Nothing\u003cbr\u003e |\n| _bootstrap_packages | Alpine: python3 sudo\u003cbr\u003eAmazon: python sudo\u003cbr\u003eArchlinux: python sudo\u003cbr\u003eCentOS_7: python sudo\u003cbr\u003eDebian: python3 sudo gnupg python3-apt\u003cbr\u003eDebian_8: python sudo gnupg\u003cbr\u003eDebian_9: python sudo gnupg\u003cbr\u003eGentoo: python sudo gentoolkit\u003cbr\u003eRedHat: python3 sudo\u003cbr\u003eRedHat_7: python sudo\u003cbr\u003eSuse: python3 python3-xml sudo\u003cbr\u003e |\n| bootstrap_packages | {{ _bootstrap_packages[bootstrap_distribution ~'_'~ bootstrap_distribution_major_version] \\|default( _bootstrap_packages[bootstrap_distribution] ) \\|default( _bootstrap_packages[bootstrap_os_family] ) }} |\n| bootstrap_facts_packages | {{ _bootstrap_packages[ansible_distribution ~'_'~ ansible_distribution_major_version] \\|default( _bootstrap_packages[ansible_distribution] ) \\|default( _bootstrap_packages[ansible_os_family] ) }} |\n\n\n\n## Author Information\n\nnone","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephrobert%2Fansible-role-bootstrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstephrobert%2Fansible-role-bootstrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephrobert%2Fansible-role-bootstrap/lists"}