This repository contains a collection of Terraform modules to be used to install Cloud Paks.
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-build-lab/terraform-ibm-cloud-pak.git//modules/roks |
db2 | Installs Db2 on an existing OpenShift cluster | github.com/ibm-build-lab/terraform-ibm-cloud-pak.git//modules/Db2 |
ldap | Creates an LDAP | github.com/ibm-build-lab/terraform-ibm-cloud-pak.git//modules/ldap |
portworx | Installs Portworx on an existing OpenShift VPC cluster | github.com/ibm-build-lab/terraform-ibm-cloud-pak.git//modules/portworx |
odf | Installs OpenShift Data Foundation Platform on an existing 4.7+ OpenShift cluster | github.com/ibm-build-lab/terraform-ibm-cloud-pak.git//modules/odf |
cp4aiops | Installs the Cloud Pak for AIOps on an existing OpenShift cluster | github.com/ibm-build-lab/terraform-ibm-cloud-pak.git//modules/cp4aiops |
cp4ba | Installs the Cloud Pak for Business Automation 21.0.x on an existing OpenShift cluster | github.com/ibm-build-lab/terraform-ibm-cloud-pak.git//modules/cp4ba |
cp4d_4.0 | Installs the Cloud Pak for Data 4.0.5 on an existing OpenShift cluster | github.com/ibm-build-lab/terraform-ibm-cloud-pak.git//modules/cp4d_4.0 |
cp4i | Installs the Cloud Pak for Integration on an existing OpenShift cluster | github.com/ibm-build-lab/terraform-ibm-cloud-pak.git//modules/cp4i |
cp4na | Installs the Cloud Pak for Network Automation on an existing OpenShift cluster | github.com/ibm-build-lab/terraform-ibm-cloud-pak.git//modules/cp4na |
cp4s | Installs the Cloud Pak for Security on an existing OpenShift cluster | github.com/ibm-build-lab/terraform-ibm-cloud-pak.git//modules/cp4s |
The use these examples, 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 1.0
- 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.
This directory contains the Terraform HCL code to execute/apply by Terraform either locally or by remotely, by IBM Cloud Schematics. The code to provision each specific Cloud Pak is located in a separate subdirectory. They each have almost the same design, input and output parameters and very similar basic validation.
Each Cloud Pak subdirectory contains the following files:
main.tf
: contains the code provision the Cloud Pak, you should start here to know what Terraform does.variables.tf
: contains all the input parameters. You can get additional information about them in the README of each directory.outputs.tf
: contains all the output parameters. You can get additional information about them in the README of each directory.versions.tf
: sets up the TF versions
To run these modules, you will need to run the example
we have provided for each module. For links to get to these, go here
For instructions to run these examples using IBM Schematics go here
For more information on IBM Schematics, refer here.
NOTE: LDAP can not be run from Schematics due to manual steps required.
For instructions to run using the local Terraform Client on your local machine go here
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