This role provide a compliance for install terraform on your target host.
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
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 url where to download terraform package
# Default: use local system path defined in Ansible vars/*.yml
terraform_pkg_url: "{{ _terraform_pkg_url }}"
# Define where to install terraform binary
# Default: use local system path defined in Ansible vars/*.yml
terraform_path: "{{ _terraform_default_path }}"None
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.terraformThis role can also install a specific version of terraform.
---
- hosts: localhost
become: true
roles:
- role: ansible-role-terraform
vars:
terraform_version: 0.12.0-rc1Install Terraform 0.11.14
---
- hosts: localhost
become: true
roles:
- role: ansible-role-terraform
vars:
terraform_version: 0.11.14This 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
- Libvirt (if you test windows system)
- Vagrant (if you test windows system)
# Install requirements
pip install -r requirements-dev.txt
# Test ansible role with ubuntu 22.04
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# Test ansible role with FreeBSD
molecule test -s freebsd
# Test ansible role with OpenBSD
molecule test -s openbsd
# Test ansible role with Windows
molecule test -s windowsApache 2
This role was created in 2019 by diodonfrost.