Skip to content

Latest commit

 

History

History
164 lines (134 loc) · 6.03 KB

File metadata and controls

164 lines (134 loc) · 6.03 KB

Deploy ROSA HCP Cluster

Description

This GitHub Action automates the deployment of a ROSA (Red Hat OpenShift Service on AWS) cluster using Terraform. This action will also install oc, awscli, rosa cli. The kube context will be set on the created cluster.

Inputs

name description required default
rh-token

Red Hat Hybrid Cloud Console Token

true ""
cluster-name

Name of the ROSA cluster to deploy

true ""
admin-password

Admin password for the ROSA cluster

true ""
admin-username

Admin username for the ROSA cluster

true kube-admin
aws-region

AWS region where the ROSA cluster will be deployed

true ""
rosa-cli-version

Version of the ROSA CLI to use

true latest
awscli-version

Version of the aws cli to use

true 2.15.52
openshift-version

Version of the OpenShift to install

true 4.17.6
replicas

Number of replicas for the ROSA cluster

true 2
s3-backend-bucket

Name of the S3 bucket to store Terraform state

true ""
s3-bucket-region

Region of the bucket containing the resources states, if not set, will fallback on aws-region

false ""
tf-modules-revision

Git revision of the tf modules to use

true main
tf-modules-path

Path where the tf rosa modules will be cloned

true ./.action-tf-modules/rosa/
login

Authenticate the current kube context on the created cluster

true true
tf-cli-config-credentials-hostname

The hostname of a HCP Terraform/Terraform Enterprise instance to place within the credentials block of the Terraform CLI configuration file. Defaults to app.terraform.io.

false app.terraform.io
tf-cli-config-credentials-token

The API token for a HCP Terraform/Terraform Enterprise instance to place within the credentials block of the Terraform CLI configuration file.

false ""
tf-terraform-version

The version of Terraform CLI to install. Instead of full version string you can also specify constraint string starting with "<" (for example <1.13.0) to install the latest version satisfying the constraint. A value of latest will install the latest version of Terraform CLI. Defaults to latest.

false latest
tf-terraform-wrapper

Whether or not to install a wrapper to wrap subsequent calls of the terraform binary and expose its STDOUT, STDERR, and exit code as outputs named stdout, stderr, and exitcode respectively. Defaults to true.

false true

Outputs

name description
openshift-server-api

The server API URL of the deployed ROSA cluster

openshift-cluster-id

The ID of the deployed ROSA cluster

terraform-state-url

URL of the Terraform state file in the S3 bucket

Runs

This action is a composite action.

Usage

- uses: camunda/camunda-tf-rosa/.github/actions/rosa-create-cluster@main
  with:
    rh-token:
    # Red Hat Hybrid Cloud Console Token
    #
    # Required: true
    # Default: ""

    cluster-name:
    # Name of the ROSA cluster to deploy
    #
    # Required: true
    # Default: ""

    admin-password:
    # Admin password for the ROSA cluster
    #
    # Required: true
    # Default: ""

    admin-username:
    # Admin username for the ROSA cluster
    #
    # Required: true
    # Default: kube-admin

    aws-region:
    # AWS region where the ROSA cluster will be deployed
    #
    # Required: true
    # Default: ""

    rosa-cli-version:
    # Version of the ROSA CLI to use
    #
    # Required: true
    # Default: latest

    awscli-version:
    # Version of the aws cli to use
    #
    # Required: true
    # Default: 2.15.52

    openshift-version:
    # Version of the OpenShift to install
    #
    # Required: true
    # Default: 4.17.6

    replicas:
    # Number of replicas for the ROSA cluster
    #
    # Required: true
    # Default: 2

    s3-backend-bucket:
    # Name of the S3 bucket to store Terraform state
    #
    # Required: true
    # Default: ""

    s3-bucket-region:
    # Region of the bucket containing the resources states, if not set, will fallback on aws-region
    #
    # Required: false
    # Default: ""

    tf-modules-revision:
    # Git revision of the tf modules to use
    #
    # Required: true
    # Default: main

    tf-modules-path:
    # Path where the tf rosa modules will be cloned
    #
    # Required: true
    # Default: ./.action-tf-modules/rosa/

    login:
    # Authenticate the current kube context on the created cluster
    #
    # Required: true
    # Default: true

    tf-cli-config-credentials-hostname:
    # The hostname of a HCP Terraform/Terraform Enterprise instance to place within the credentials block of the Terraform CLI configuration
    # file. Defaults to `app.terraform.io`.
    #
    # Required: false
    # Default: app.terraform.io

    tf-cli-config-credentials-token:
    # The API token for a HCP Terraform/Terraform Enterprise instance to place within the credentials block of the Terraform CLI configuration
    # file.
    #
    # Required: false
    # Default: ""

    tf-terraform-version:
    # The version of Terraform CLI to install. Instead of full version string you can also specify constraint string starting with "<" (for
    # example `<1.13.0`) to install the latest version satisfying the constraint. A value of `latest` will install the latest version of Terraform
    # CLI. Defaults to `latest`.
    #
    # Required: false
    # Default: latest

    tf-terraform-wrapper:
    # Whether or not to install a wrapper to wrap subsequent calls of the `terraform` binary and expose its STDOUT, STDERR, and exit code
    # as outputs named `stdout`, `stderr`, and `exitcode` respectively. Defaults to `true`.
    #
    # Required: false
    # Default: true