terraform
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 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 }}"
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
- Libvirt (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 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
Testing with Vagrant and Libvirt
# 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 windows
License
Apache 2
Author Information
This role was created in 2019 by diodonfrost.
About
Ansible role for install the latest version of Terraform
Install
ansible-galaxy install diodonfrost/ansible-role-terraform
License
apache-2.0
Downloads
72796
Owner