# bootstrap-os Bootstrap an Ansible host to be able to run Ansible modules. This role will: * configure the package manager (if applicable) to be able to fetch packages * install Python * install the necessary packages to use Ansible's package manager modules * set the hostname of the host to `{{ inventory_hostname }}` when requested ## Requirements A host running an operating system that is supported by Kubespray. See [Supported Linux Distributions](https://github.com/kubernetes-sigs/kubespray#supported-linux-distributions) for a current list. SSH access to the host. ## Role Variables Variables are listed with their default values, if applicable. ### General variables * `http_proxy`/`https_proxy` The role will configure the package manager (if applicable) to download packages via a proxy. * `override_system_hostname: true` The role will set the hostname of the machine to the name it has according to Ansible's inventory (the variable `{{ inventory_hostname }}`). ### Per distribution variables #### Flatcar Container Linux * `coreos_locksmithd_disable: false` Whether `locksmithd` (responsible for rolling restarts) should be disabled or be left alone. #### CentOS/RHEL/AlmaLinux/Rocky Linux * `centos_fastestmirror_enabled: false` Whether the [fastestmirror](https://wiki.centos.org/PackageManagement/Yum/FastestMirror) yum plugin should be enabled. ## Dependencies The `kubespray-defaults` role is expected to be run before this role. ## Example Playbook Remember to disable fact gathering since Python might not be present on hosts. ```yaml - hosts: all gather_facts: false # not all hosts might be able to run modules yet roles: - kubespray-defaults - bootstrap-os ``` ## License Apache 2.0