Skip to content

This project is a demonstration of an integration between Red Hat Ansible Automation Platform and HashiCorp Terraform.

Notifications You must be signed in to change notification settings

Red-Hat-Demo-Use-Cases/demo-aap-terraform-integration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Red Hat - AAP 2.4 & Terraform Integration Demo

This is by no means, a fully functional project and should NOT be used as a whole to address any type of prod or non-prod infrastructure.

📧 For Inquiries

Project summary and motivation

This project is a demonstration of an integration between Red Hat Ansible Automation Platform and HashiCorp Terraform.

In the sake of this demonstration, and based on one of our client use case, we will mimic the need of automating Microsoft Azure Resource Management policies. Terraform will do what it's do best, keep state of our interaction with Azure. Ansible will be used to, provide a user UI, and manage who can do what with the granular RBAC feature.

I won't go over how one product complete the other one, but I'll quote a great few line summary on the subject which you can read the full article here.

Terraform excels as a cloud infrastructure provisioning and deprovisioning tool with an IaC approach. It’s a specific tool with a specific purpose. Ansible offers an all-purpose, cross-domain automation solution. Both have active open source communities and well-supported downstream commercial products. Both solutions have their individual strengths—and when combined, they work well together and create efficiencies for many businesses. Simply put, choosing an automation solution is not always an "either / or" choice— often it’s an "and."

The anatomy of this repo

- The Ansible Automation Platform (AAP) Execution Environment (EE) ansible-exec-env

EE is the new way to run ansible-playbook centrally. It is basically a container image, based on an official UBI Red Hat image containing an Ansible engine. To this basic image we will add the different parts that we need for our automation. Then this image will be used to run a container in OpenShift or any other container engine, which will run any playbook we need.

- The Ansible Playbooks ansible-playbook

...tbd...

- The Terraform Plans and tfvars files terraform-plan

...tbd...

How to build and use this demo

  1. Build the Execution Environment
  2. Add project and template into AAP
  3. Add Machine Credential SSH Key for GitHub access

About

This project is a demonstration of an integration between Red Hat Ansible Automation Platform and HashiCorp Terraform.

Topics

Resources

Stars

Watchers

Forks

Languages