Giter VIP home page Giter VIP logo

terraform-provider-rhcs's Introduction

page_title subcategory description
Red Hat Cloud Services Terraform Provider
Red Hat logo

Red Hat Cloud Services Terraform Provider

Please note that this Terraform provider and its modules are open source and will continue to iterate features, gradually maturing this code. If you encounter any issues, please report them in this repo.

Introduction

The Red Hat Cloud Services Terraform provider allows Terraform to manage Red Hat OpenShift Service on AWS (ROSA) clusters and relevant resources.

For more information about ROSA, see the Red Hat documentation here.

Prerequisites

Provider documentation

See the Terraform Registry documentation for instructions on using this provider.

Limitations of the OCM Terraform provider

The following items are limitations with the current release of the OCM Terraform provider:

  • The latest version is not backward compatible with version 1.0.1.
  • When creating a cluster, the cluster uses AWS credentials configured on your local machine. These credentials provide access to the AWS API for validating your account.
  • When creating a machine pool, you need to specify your replica count. You must define either the replicas= "<count>" variable or provide values for the following variables to build the machine pool:
    • min_replicas = "<count>"
    • max_replicas="<count>"
    • autoscaling_enabled=true
  • The htpasswd identity provider does not support creating the identity provider with multiple users or adding additional users to the existing identity provider.
  • The S3 bucket that is created as part of the OIDC configuration must be created in the same region as your OIDC provider.
  • The Terraform provider does not support auto-generated operator_role_prefix. You must provide your operator_role_prefix when creating the account roles.

Examples

The example Terraform files are all considered in development:

Prior to creating clusters

Cluster creation examples

Post cluster installation

Contributing to the Red Hat Cloud Service Terraform provider

If you want to build a local Red Hat Cloud Services provider to develop improvements for the Red Hat Cloud Services provider, you can run terraform plan against your local build with:

  1. Run make install in the repository root directory. After running make install you will find the rhcs provider binary file in the directory:

    <HOME>/.terraform.d/plugins/terraform.local/local/rhcs/<VERSION>/<TARGET_ARCH>
    

    For example, the following location would contain the terraform-rhcs-provider binary file:

    ~/.terraform.d/plugins/terraform.local/local/rhcs/0.0.1/linux_amd64
    
  2. You now need to update your main.tf to the location of the local provider by pointing the required_providers rhcs to the local terraform directory.

    terraform {
      required_providers {
        rhcs = {
          source  = "terraform.local/local/rhcs"
          version = ">=0.0.1"
        }
      }
    }
    
    provider "rhcs" {
      token = var.token
      url = var.url
    }
    
    

Testing binary

If you want to locally test the provider binary without building from sources, you can pull the latest binary container image and copy the binary file to your local by running make binary or the whole background command if you need to make custom changes:

    podman run --pull=always --rm registry.ci.openshift.org/ci/rhcs-tf-bin:latest cat /root/terraform-provider-rhcs > ~/terraform-provider-rhcs && chmod +x ~/terraform-provider-rhcs

You can also use specific commit images by substituting latest for the desired commit SHA. Binary image only runs on AMD64 architectures up to now.

Developing the Provider

Detailed documentation for developing and contributing to RHCS provider can be found in our contribution guide.

terraform-provider-rhcs's People

Contributors

bardielle avatar nirarg avatar jhernand avatar johnstrunk avatar openshift-merge-robot avatar sagidayan avatar gdbranco avatar amalykhi avatar shellymiron avatar tsorya avatar ashershoshan avatar xueli181114 avatar arendej avatar ericponvelle avatar jneczypor avatar enriquebelarte avatar radtriste avatar vamsinm avatar datianshi avatar tshefi avatar osherdp avatar thatcherhubbard avatar oriadler avatar yuwang-rh avatar jaland avatar marcolan018 avatar sunzhaohua2 avatar robpblake avatar igoihman avatar jameszwang 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.