e4fd6a4e85 | ||
---|---|---|
.. | ||
defaults | ||
filter_plugins | ||
tasks | ||
vars | ||
README.md |
README.md
ansible-role-terraform
This role provide a compliance for install terraform on your target host.
Requirements
This role was developed using Ansible 2.5 Backwards compatibility is not guaranteed.
Use ansible-galaxy install diodonfrost.terraform
to install the role on your system.
- Ansible >= 2.8
- Python >= 2.7
Role Variables
This role has multiple variables. The defaults for all these variables are the following:
---
# defaults file for ansible-role-terraform
# Define terraform version to install
# Possible values: https://releases.hashicorp.com/terraform/index.json
# Default: latest
terraform_version: latest
# Define where to install terraform binary
# Default: use local system path defined in Ansible vars/*.yml
terraform_path: "{{ terraform_default_path }}"
Dependencies
None
Example Playbook
This is a sample playbook file for deploying the Ansible Galaxy terraform role in a localhost and installing the latest version of Terraform.
---
- hosts: localhost
become: true
roles:
- role: diodonfrost.terraform
This role can also install a specific version of terraform.
---
- hosts: localhost
become: true
roles:
- role: ansible-role-terraform
vars:
terraform_version: 0.12.0-rc1
Install Terraform 0.11.14
---
- hosts: localhost
become: true
roles:
- role: ansible-role-terraform
vars:
terraform_version: 0.11.14
Local Testing
This project uses Molecule to aid in the development and testing.
To develop or test you'll need to have installed the following:
- Linux (e.g. Ubuntu)
- Docker
- Python (including python-pip)
- Ansible
- Molecule
- Virtualbox (if you test windows system)
- Vagrant (if you test windows system)
Testing with Docker
# Install requirements
pip install -r requirements-dev.txt
# Test ansible role with centos 8
molecule test
# Test ansible role with ubuntu 20.04
image=ansible-ubuntu:20.04 molecule test
# Test ansible role with alpine latest
image=ansible-alpine:latest molecule test
# Create centos 7 instance
image=ansible-centos:7 molecule create
# Apply role on centos 7 instance
image=ansible-centos:7 molecule converge
# Launch tests on centos 7 instance
image=ansible-centos:7 molecule verify
Testing with Vagrant and Virtualbox
# Test ansible role with FreeBSD
molecule test -s freebsd
# Test ansible role with OpenBSD
molecule test -s openbsd
# Test ansible role with Solaris
molecule test -s solaris
# Test ansible role with Windows
molecule test -s windows
License
Apache 2
Author Information
This role was created in 2019 by diodonfrost.