https://github.com/terraform-ibm-modules/terraform-ibm-mas
Deploys Maximo Application Suite on an IBM Cloud openshift cluster.
https://github.com/terraform-ibm-modules/terraform-ibm-mas
deployable-architecture mas maximo terraform terraform-module
Last synced: about 1 month ago
JSON representation
Deploys Maximo Application Suite on an IBM Cloud openshift cluster.
- Host: GitHub
- URL: https://github.com/terraform-ibm-modules/terraform-ibm-mas
- Owner: terraform-ibm-modules
- License: apache-2.0
- Created: 2024-01-30T18:10:04.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-06T23:50:50.000Z (about 1 month ago)
- Last Synced: 2025-04-08T20:02:24.899Z (about 1 month ago)
- Topics: deployable-architecture, mas, maximo, terraform, terraform-module
- Language: HCL
- Size: 385 KB
- Stars: 2
- Watchers: 17
- Forks: 1
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Maximo Application Suite on Existing Red Hat OpenShift Cluster module
[-green)](https://terraform-ibm-modules.github.io/documentation/#/badge-status)
[](https://github.com/terraform-ibm-modules/terraform-ibm-mas/releases/latest)
[](https://github.com/pre-commit/pre-commit)
[](https://renovatebot.com/)
[](https://github.com/semantic-release/semantic-release)Use this module to install Maximo Application Suite on your existing Red Hat OpenShift Cluster.
For more information about the Maximo Application Suite refer to the official documentation available [here](https://www.ibm.com/docs/en/mas-cd)
## Overview
* [terraform-ibm-mas](#terraform-ibm-mas)
* [Examples](./examples)
* [Basic example](./examples/basic)
* [Contributing](#contributing)## Reference architectures
[]
## terraform-ibm-mas
### Usage
You can use the modular design of this module to provision Maximo Application Suite Core offering or Maximo Application Suite Core + Manage offering.
```hcl
module "maximo" {
source = "terraform-ibm-modules/mas/ibm"
version = "X.X.X" # Replace "X.X.X" with a release version to lock into a specific release. For example, 1.6.1
cluster_id = var.cluster_id
deployment_flavor = var.deployment_flavor # For example, core
entitlement_key = var.entitlement_key
mas_instance_id = var.mas_instance_id # For example, inst1
mas_license = var.mas_license
contact_email = var.contact_email
contact_firstname = var.contact_firstname
contact_lastname = var.contact_lastname
cluster_config_endpoint_type = var.cluster_config_endpoint_type
mas_workspace_id = var.mas_workspace_id # For example, wrkid1
mas_workspace_name = var.mas_workspace_name # For example, wrkns1
pipeline_storage_class = var.pipeline_storage_class # For example, ibmc-vpc-block-retain-10iops-tier
storage_class_rwo = var.storage_class_rwo # For example, ibmc-vpc-block-retain-10iops-tier
storage_class_rwx = var.storage_class_rwx # For example, ibmc-vpc-file-500-iops (file storage required for db2)}
```
### Required IAM access policiesYou need the following permissions to run this module.
- IAM services
- **Kubernetes Service** service
- `Editor` platform access
- `Manager` service access### Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.0 |
| [helm](#requirement\_helm) | >= 2.8.0, <3.0.0 |
| [ibm](#requirement\_ibm) | >= 1.59.0, < 2.0.0 |
| [local](#requirement\_local) | >= 2.0.0, <2.5.1 |
| [null](#requirement\_null) | >= 3.2.1, < 4.0.0 |### Modules
No modules.
### Resources
| Name | Type |
|------|------|
| [helm_release.maximo_helm_release](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [null_resource.install_verify](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource |
| [null_resource.maximo_admin_url](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource |
| [ibm_container_cluster_config.cluster_config](https://registry.terraform.io/providers/ibm-cloud/ibm/latest/docs/data-sources/container_cluster_config) | data source |
| [local_file.admin_url](https://registry.terraform.io/providers/hashicorp/local/latest/docs/data-sources/file) | data source |### Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [cluster\_config\_endpoint\_type](#input\_cluster\_config\_endpoint\_type) | Specify which type of endpoint to use for for cluster config access: 'default', 'private', 'vpe', 'link'. 'default' value will use the default endpoint of the cluster. | `string` | `"default"` | no |
| [cluster\_id](#input\_cluster\_id) | Enter Id of the target IBM Cloud Red Hat OpenShift cluster. This cluster ID can be found under the Red Hat OpenShift clusters section. | `string` | n/a | yes |
| [contact\_email](#input\_contact\_email) | Enter the email ID for Data Reporter Operator | `string` | n/a | yes |
| [contact\_firstname](#input\_contact\_firstname) | Enter your first name to be used in Data Reporter Operator | `string` | n/a | yes |
| [contact\_lastname](#input\_contact\_lastname) | Enter your last name to be used in Data Reporter Operator | `string` | n/a | yes |
| [deployment\_flavor](#input\_deployment\_flavor) | Select core for Maximo Application Suite Core deployment and select manage for Maximo Application Suite Core+Manage deployment. Maximo Application Suite Core is deployed by using the MongoDB Community edition and Maximo Manage is deployed with internal Db2 on Red Hat OpenShift cluster. | `string` | n/a | yes |
| [entitlement\_key](#input\_entitlement\_key) | Enter entitlement key to access IBM Image registry. For more information, see [Entitlement Keys](https://myibm.ibm.com/products-services/containerlibrary) You can use an existing secret in Secrets Manager or add your entitlement key directly. | `string` | n/a | yes |
| [mas\_instance\_id](#input\_mas\_instance\_id) | Enter the Maximo Application Suite instance Id. It can be any instance name lesser than 8 characters in length such as inst1 | `string` | n/a | yes |
| [mas\_license](#input\_mas\_license) | Enter Maximo Application Suite License file content. For more information, see [IBM Support - Licensing](https://www.ibm.com/support/pages/ibm-support-licensing-start-page) You can use an existing secret in Secrets Manager or add your entitlement key directly. | `string` | n/a | yes |
| [mas\_workspace\_id](#input\_mas\_workspace\_id) | Enter the Maximo Application Suite workspace Id. | `string` | `"wrkid1"` | no |
| [mas\_workspace\_name](#input\_mas\_workspace\_name) | Enter the Maximo Application Suite workspace name | `string` | `"wrkns1"` | no |
| [pipeline\_storage\_class](#input\_pipeline\_storage\_class) | Enter the storage class for pipeline. Default value is ibmc-vpc-block-retain-10iops-tier. Make sure this storage class is present under Storage > StorageClasses section on your Red Hat OpenShift cluster section. | `string` | `"ibmc-vpc-block-retain-10iops-tier"` | no |
| [storage\_class\_rwo](#input\_storage\_class\_rwo) | Enter the storage class (read-write once). Default value is ibmc-vpc-block-retain-10iops-tier. Make sure this storage class is present under Storage > StorageClasses section on your Red Hat OpenShift cluster section. | `string` | `"ibmc-vpc-block-retain-10iops-tier"` | no |
| [storage\_class\_rwx](#input\_storage\_class\_rwx) | Enter the storage class (read-write many). Enter file storage class for DB2. Default value is ibmc-vpc-file-500-iops. Make sure this storage class is present under Storage > StorageClasses section on your Red Hat OpenShift cluster section. | `string` | `"ibmc-vpc-file-500-iops"` | no |### Outputs
| Name | Description |
|------|-------------|
| [maximo\_admin\_url](#output\_maximo\_admin\_url) | Admin URL of MAS/Manage application |## Contributing
You can report issues and request features for this module in GitHub issues in the module repo. See [Report an issue or request a feature](https://github.com/terraform-ibm-modules/.github/blob/main/.github/SUPPORT.md).
To set up your local development environment, see [Local development setup](https://terraform-ibm-modules.github.io/documentation/#/local-dev-setup) in the project documentation.