terraform

ansible-role-terraform

molecule Ansible Galaxy

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:

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
GitHub repository
License
apache-2.0
Downloads
72796