This repository contains a collection of Terraform modules to be used to install Cloud Paks.
These modules are used by Terraform scripts in this directory.
Name | Description | Source |
---|---|---|
roks | Provisions an IBM OpenShift managed cluster in Classic or VPC infrastructure. An OpenShift cluster is required to install any Cloud Pak module | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/roks |
Db2 | Installs Db2 on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/Db2 |
ldap | Creates an LDAP | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/ldap |
portworx | Installs Portworx on an existing OpenShift 4.6 VPC cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/portworx |
portworx_aws | Installs Portworx on an existing AWS ROSA cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/portworx_aws |
odf | Installs OpenShift Data Platform on an existing OpenShift 4.7 cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/odf |
iaf | Installs the IBM Automation Foundation on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/iaf |
cp4aiops | Installs the Cloud Pak for AIOps on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4aiops |
cp4app | Installs the Cloud Pak for Applications on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4app |
cp4auto | Installs the Cloud Pak for Automation on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4app |
cp4ba | Installs the Cloud Pak for Business Automation 21.0.x on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4ba |
cp4data | Installs the Cloud Pak for Data 3.5 on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4data |
cp4data_4.0 | Installs the Cloud Pak for Data 4.0.5 on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4data_4.0 |
cp4data_3.5_aws | Installs the Cloud Pak for Data 3.5 on an existing AWS ROSA cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4data_3.5_aws |
cp4i | Installs the Cloud Pak for Integration on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4i |
cp4i_aws | Installs the Cloud Pak for Integration on an existing AWS ROSA cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4i_aws |
cp4mcm | Installs the Cloud Pak for MultiCloud Management on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4mcm |
cp4mcm_aws | Installs the Cloud Pak for MultiCloud Management on an existing AWS ROSA cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4mcm_aws |
cp4na | Installs the Cloud Pak for Network Automation on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4na |
cp4s | Installs the Cloud Pak for Security on an existing OpenShift cluster | github.com/ibm-hcbt/terraform-ibm-cloud-pak.git//modules/cp4s |
The use these modules and example, the following is required:
- Have an IBM Cloud account with required privileges
- Install IBM Cloud CLI
- Install the IBM Cloud CLI Plugins
schematics
andkubernetes-service
. - Login to IBM Cloud with the CLI
- Install Terraform version 0.13
- Install IBM Cloud Terraform Provider
- Configure Access to IBM Cloud
- Install some utility tools such as:
Execute these commands to validate some of these requirements:
ibmcloud --version
ibmcloud plugin show schematics | head -3
ibmcloud plugin show kubernetes-service | head -3
ibmcloud target
terraform version
ls ~/.terraform.d/plugins/terraform-provider-ibm_*
If running these modules from your local terminal, you need to set the credentials to access IBM Cloud.
You can define the IBM Cloud credentials in the IBM provider block but it is recommended to pass them in as environment variables.
Go here for details.
NOTE: These credentials are not required if running this Terraform code within an IBM Cloud Schematics workspace. They are automatically set from your account.
Refer to modules/<module>/README.md
for specific details on how to invoke the module from a Terraform Script.
Refer to examples/<module>
for code examples to invoke the module from a Terraform Script.
Some of the modules provide a testing directory. To manually run a module test before committing the code:
- go to the
<module>/testing
subdirectory - following instructions in
<module>/testing/README.md
The testing code provides an example on how to use the module.
Each module has the file OWNER.md
with the collaborators working actively on this module. Although this project and modules are open source, and everyone can and is encourage to contribute, the module owners are responsible for the merging process. Please, contact them for any questions.
For more information about development and contributions to the code read the CONTRIBUTE document.
And ... don't forget to keep the Terraform code format clean and readable.
terraform fmt -recursive