terrible
cloudboss/terrible/cloudinit
terraform-cloudinit-terrible terrible is a Terraform module to configure cloud-init to run Ansible on first boot. Instead of the typical Ansible model where changes are pushed to machines over ssh, this configures machines to apply Ansible roles to themselves. There is no centralized configuration management, Ansible Tower, or any server needed except for a place to host Ansible roles. The recommended method is to package the roles into versioned tarballs and store them in Artifactory, Nexus, or a cloud storage bucket. Git repositories can also be used. By default, a machine configured with terrible will: Include a playbook generated from roles and variables passed to Terraform. Create a Python virtualenv and install Python dependencies, including Ansible, into it. Download and install the
| Name | Type | Description | Default |
|---|---|---|---|
| ansible_playbook_roles | any | The list of Ansible roles and, optionally, their variables to be included in the | required |
| ansible_directory | string | This is the directory where Ansible is installed. If `create_ansible_directory` | "/opt/ansible" |
| ansible_environment | map(string) | Environment variables to be defined when running `ansible-playbook`. | {} |
| ansible_requirements | list(map(string)) | A list of Ansible roles to be installed into /etc/ansible/roles by the `ansible- | [] |
| ansible_variables | any | Ansible variables to be defined when running `ansible-playbook`. | {} |
| python_requirements | list(string) | Python dependencies, including Ansible, in the format expected by `pip`. It is h | [] |
| ansible_config | any | Variables for configuring Ansible in /etc/ansible/ansible.cfg. | {} |
| create_ansible_directory | bool | Whether or not to create a virtualenv in which to install Ansible. This requires | true |
| python | string | The name of the python command. | "python3" |
| python_repository | string | A private PyPi repository for retrieving Python packages. If left blank, package | "" |
cloud_config