Giter Club home page Giter Club logo

cloud.terraform_ops's Introduction

cloud.terraform_ops roles to create/configure Cloud providers' resources for Red Hat Ansible Automation Platform Terraform integration

This repository hosts the cloud.terraform_ops Ansible Collection.

The collection includes a variety of Ansible roles, to help automate the management of Cloud providers' resources for Red Hat Ansible Automation Platform Terraform integration.

Ansible version compatibility

This collection has been tested against following Ansible versions: >=2.14.0.

Python version compatibility

This collection requires Python 3.9 or greater.

Included content

Click on the name of a role or playbook to view that content's documentation:

Roles

Name Description
cloud.terraform_ops.aws_s3backend A role to create the necessary AWS infrastructure for an S3 remote backend for Terraform.
cloud.terraform_ops.gcs_backend A role to create the necessary Google Cloud infrastructure for a Google Cloud Storage (GCS) remote backend for Terraform.
cloud.terraform_ops.azurerm_backend A role to create/delete the necessary Azure infrastructure for an Azurerm remote backend for Terraform.
cloud.terraform_ops.plan_stash A role to handle the base64 encoding or decoding of a terraform plan file using cloud.terraform.plan_stash module.

Installation and Usage

Requirements

Installation

To consume this Validated Content from Automation Hub, please ensure that you add the following lines to your ansible.cfg file.

[galaxy]
server_list = automation_hub

[galaxy_server.automation_hub]
url=https://cloud.redhat.com/api/automation-hub/
auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
token=<SuperSecretToken>

The token can be obtained from the Automation Hub Web UI.

Once the above steps are done, you can run the following command to install the collection.

ansible-galaxy collection install cloud.terraform_ops

Using this collection

Once installed, you can reference the cloud.terraform_ops collection content by its fully qualified collection name (FQCN), for example:

  - hosts: all

    roles:
      - role: cloud.terraform_ops.aws_s3backend
        aws_s3backend_bucket_name: sample_bucket_for_tf_backend

See Also

Contributing to this collection

We welcome community contributions to this collection. If you find problems, please open an issue or create a PR against this collection repository.

Testing and Development

The project uses ansible-lint and black. Assuming this repository is checked out in the proper structure, e.g. collections_root/ansible_collections/cloud/terraform_ops/, run:

  tox -e linters -vv

Sanity and unit tests are run as normal:

  ansible-test sanity

If you want to run AWS cloud integration tests, ensure you log in :

# using the "default" profile on AWS
  aws configure set aws_access_key_id     my-access-key
  aws configure set aws_secret_access_key my-secret-key
  aws configure set region                eu-north-1

Once credentials are set up, run all integration tests with ansible-test integration or run a subset of integration tests with ansible-test integration <target>.

This collection is tested using GitHub Actions. To know more about CI, refer to CI.md.

License

GNU General Public License v3.0 or later

See LICENSE to see the full text.

cloud.terraform_ops's People

Contributors

abikouo avatar alinabuzachis avatar mandar242 avatar gomathiselvis avatar djdanielsson avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.