The module installs an IBM MQ operator on the existing cluster.
For more information about the IBM MQ operator refer to the official documentation available here
For more information about the IBM MQ refer to the official documentation available here
##############################################################################
# Config providers
##############################################################################
provider "ibm" {
ibmcloud_api_key = var.ibmcloud_api_key # pragma: allowlist secret
region = var.region
}
provider "helm" {
kubernetes {
host = data.ibm_container_cluster_config.cluster_config.host
token = data.ibm_container_cluster_config.cluster_config.token
}
}
provider "kubernetes" {
host = data.ibm_container_cluster_config.cluster_config.host
token = data.ibm_container_cluster_config.cluster_config.token
}
##############################################################################
# IBM MQ operator deployment on the OCP cluster
##############################################################################
data "ibm_container_cluster_config" "cluster_config" {
cluster_name_id = var.cluster_id
config_dir = "${path.module}/kubeconfig"
endpoint_type = var.cluster_config_endpoint_type != "default" ? var.cluster_config_endpoint_type : null # null represents default
}
module "ibm_mq_operator" {
# Replace "master" with a GIT release version to lock into a specific release
source = "https://github.com/terraform-ibm-modules/terraform-ibm-mq-operator.git?ref=master"
cluster_id = var.cluster_id
add_ibm_operator_catalog = true
create_ibm_mq_operator_namespace = false
ibm_mq_operator_namespace = "openshift-operators"
ibm_mq_operator_target_namespace = "ibm-mq-operator"
cluster_config_endpoint_type = "default"
operator_helm_release_namespace = "ibm-mq-operator"
create_ibm_mq_queue_manager_namespace = true
ibm_mq_queue_manager_namespace = "ibm-mq-operator-qm"
create_queue_manager = var.create_queue_manager
queue_manager_name = "ibm-mq-operator-qm"
queue_manager_license = var.queue_manager_license
queue_manager_license_usage = var.queue_manager_license_usage
queue_manager_version = var.queue_manager_version
}
locals {
mq_queue_manager_web_url = var.create_queue_manager ? "https://${module.ibm_mq_operator.ibm_mq_queue_manager_web_url}/ibmmq/console/login.html" : "MQ Queue Manager is not deployed."
}
output "ibm_mq_queue_manager_web_url" {
description = "Queue Manager web URL"
value = local.mq_queue_manager_web_url
}
- IAM Services
- Kubernetes service
Viewer
platform accessManager
service access
- Kubernetes service
Name | Version |
---|---|
terraform | >= 1.3.0 |
external | >=2.2.3, <3.0.0 |
helm | >= 2.8.0, <3.0.0 |
ibm | >= 1.59.0, < 2.0.0 |
kubernetes | >= 2.16.1, <3.0.0 |
null | >= 3.2.1, < 4.0.0 |
time | >= 0.9.1, < 1.0.0 |
No modules.
Name | Type |
---|---|
helm_release.ibm_mq_operator | resource |
helm_release.ibm_mq_operator_group | resource |
helm_release.ibm_mq_queue_manager | resource |
helm_release.ibm_operator_catalog | resource |
kubernetes_namespace.helm_release_operator_namespace | resource |
kubernetes_namespace.ibm_mq_operator_namespace | resource |
kubernetes_namespace.ibm_mq_queue_manager_namespace | resource |
null_resource.confirm_ibm_mq_operator_operational | resource |
time_sleep.wait_catalog | resource |
time_sleep.wait_ibm_mq_operator | resource |
time_sleep.wait_ibm_mq_queue_manager | resource |
external_external.mq_queue_manager_url | data source |
ibm_container_cluster_config.cluster_config | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
add_ibm_operator_catalog | Install the IBM Operator Catalog in the cluster before installing the IBM MQ Operator. Default is true . |
bool |
true |
no |
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 | ID of the target cluster where the IBM MQ operator will be installed. | string |
n/a | yes |
create_ibm_mq_operator_namespace | Set to true to create the namespace where the IBM MQ Operator will be deployed. Default to false . |
bool |
false |
no |
create_ibm_mq_queue_manager_namespace | Set to true to create the namespace where the IBM MQ Queue Manager will be installed. Default to true . |
bool |
true |
no |
create_queue_manager | Set to true to create a Queue Manager for the IBM MQ operator. Default is true . |
bool |
true |
no |
ibm_mq_operator_namespace | Namespace where the IBM MQ operator is deployed. Default is openshift-operators . |
string |
"openshift-operators" |
no |
ibm_mq_operator_target_namespace | Namespace to be watched by the IBM MQ Operator. Default is null , which means that the operator watches all the namespaces. |
string |
null |
no |
ibm_mq_queue_manager_namespace | Namespace where the IBM MQ Queue Manager will be installed. Its only used when var.create_ibm_mq_queue_manager_namespace is set to true. |
string |
null |
no |
operator_helm_release_namespace | Namespace where the helm releases are deployed. Default is ibm-mq-operator . |
string |
"ibm-mq-operator" |
no |
queue_manager_license | IBM MQ Queue Manager license. More info on IBM MQ Queue Manager licenses and its usage can be seen here: https://www.ibm.com/docs/en/ibm-mq/9.3?topic=mqibmcomv1beta1-licensing-reference. | string |
null |
no |
queue_manager_license_usage | IBM MQ Queue Manager license usage. More info on IBM MQ Queue Manager licenses and its usage can be seen here: https://www.ibm.com/docs/en/ibm-mq/9.3?topic=mqibmcomv1beta1-licensing-reference. | string |
null |
no |
queue_manager_name | Name of the IBM MQ Queue Manager. | string |
null |
no |
queue_manager_version | IBM MQ Queue Manager version. Make sure the version is compatible with the IBM MQ Queue Manager license and usage. | string |
"9.3.3.3-r1" |
no |
Name | Description |
---|---|
ibm_mq_operator_namespace | Namespace where the IBM MQ operator is installed. |
ibm_mq_operator_target_namespace | Namespace watched by the IBM MQ operator. |
ibm_mq_queue_manager_web_url | Queue Manager web URL |
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.
To set up your local development environment, see Local development setup in the project documentation.