diff --git a/.secrets.baseline b/.secrets.baseline index 39425e73..4ad64b3e 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "go.sum|^.secrets.baseline$", "lines": null }, - "generated_at": "2025-10-04T13:14:02Z", + "generated_at": "2025-10-17T09:01:30Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -116,7 +116,7 @@ "hashed_secret": "9ceaacf8f9b3c35bd235b307d91a5bf7cff2c669", "is_secret": false, "is_verified": false, - "line_number": 81, + "line_number": 82, "type": "Secret Keyword", "verified_result": null } diff --git a/ibm_catalog.json b/ibm_catalog.json index 987c2dd1..360ba7e2 100644 --- a/ibm_catalog.json +++ b/ibm_catalog.json @@ -323,9 +323,6 @@ { "key": "enable_monitoring" }, - { - "key": "existing_monitoring_instance_crn" - }, { "key": "client_to_site_vpn", "custom_config": { @@ -505,7 +502,7 @@ { "diagram": { "caption": "Power Virtual Server with VPC landing zone 'Standard Landscape' variation", - "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v10.1.0/reference-architectures/standard/deploy-arch-ibm-pvs-inf-standard.svg", + "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v10.2.0/reference-architectures/standard/deploy-arch-ibm-pvs-inf-standard.svg", "type": "image/svg+xml" }, "description": "The Power Virtual Server with VPC landing zone as variation 'Create a new architecture' deploys VPC services and a Power Virtual Server workspace and interconnects them.\n \nRequired and optional management components are configured." @@ -972,9 +969,6 @@ { "key": "enable_monitoring" }, - { - "key": "existing_monitoring_instance_crn" - }, { "key": "client_to_site_vpn", "custom_config": { @@ -1154,7 +1148,7 @@ { "diagram": { "caption": "Power Virtual Server with VPC landing zone 'Quickstart' variation", - "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v10.1.0/reference-architectures/standard-plus-vsi/deploy-arch-ibm-pvs-inf-standard-plus-vsi.svg", + "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v10.2.0/reference-architectures/standard-plus-vsi/deploy-arch-ibm-pvs-inf-standard-plus-vsi.svg", "type": "image/svg+xml" }, "description": "The Power Virtual Server with VPC landing zone as 'Quickstart' variation of 'Create a new architecture' option deploys VPC services and a Power Virtual Server workspace and interconnects them. It also creates one Power virtual server instance of chosen t-shirt size or custom configuration.\n \nRequired and optional management components are configured." @@ -1375,9 +1369,6 @@ { "key": "enable_monitoring" }, - { - "key": "existing_monitoring_instance_crn" - }, { "key": "client_to_site_vpn", "custom_config": { @@ -1565,7 +1556,7 @@ { "diagram": { "caption": "Power Virtual Server with VPC landing zone 'Quickstart OpenShift' variation", - "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v10.1.0/reference-architectures/standard-openshift/deploy-arch-ibm-pvs-inf-standard-openshift.svg", + "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v10.2.0/reference-architectures/standard-openshift/deploy-arch-ibm-pvs-inf-standard-openshift.svg", "type": "image/svg+xml" }, "description": "The Power Virtual Server with VPC landing zone as variation 'Quickstart OpenShift' deploys VPC services and an Openshift Cluster on PowerVS and interconnects them.\n \nRequired and optional management components are configured." diff --git a/modules/powervs-vpc-landing-zone/README.md b/modules/powervs-vpc-landing-zone/README.md index e64e4cd8..037e097e 100644 --- a/modules/powervs-vpc-landing-zone/README.md +++ b/modules/powervs-vpc-landing-zone/README.md @@ -76,6 +76,7 @@ module "powervs-vpc-landing-zone" { existing_sm_instance_guid = var.existing_sm_instance_guid #(optional. default null) existing_sm_instance_region = var.existing_sm_instance_region #(optional. default null) enable_monitoring = var.enable_monitoring #(optional. default false) + enable_monitoring_host = var.enable_monitoring_host #(optional. default false) existing_monitoring_instance_crn = var.existing_monitoring_instance_crn #(optional. default null) enable_scc_wp = var.enable_scc_wp #(optional. default false) ansible_vault_password = var.ansible_vault_password #(optional. default null) @@ -147,9 +148,10 @@ Creates VPC Landing Zone | Performs VPC VSI OS Config | Creates PowerVS Infrastr | [configure\_nfs\_server](#input\_configure\_nfs\_server) | Specify if NFS server will be configured. This will allow you easily to share files between PowerVS instances (e.g., SAP installation files). [File storage share and mount target](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-create&interface=ui) in VPC will be created.. If yes, ensure 'nfs\_server\_config' optional variable is set properly below. Default value is '200GB' which will be mounted on specified directory in network-service vsi. | `bool` | `false` | no | | [configure\_ntp\_forwarder](#input\_configure\_ntp\_forwarder) | Specify if NTP forwarder will be configured. This will allow you to synchronize time between IBM PowerVS instances. NTP forwarder will be installed on the network-services vsi. | `bool` | `false` | no | | [dns\_forwarder\_config](#input\_dns\_forwarder\_config) | Configuration for the DNS forwarder to a DNS service that is not reachable directly from PowerVS. |
object({
dns_servers = string
}) | {
"dns_servers": "161.26.0.7; 161.26.0.8; 9.9.9.9;"
} | no |
-| [enable\_monitoring](#input\_enable\_monitoring) | Specify whether Monitoring will be enabled. This includes the creation of an IBM Cloud Monitoring Instance and an Intel Monitoring Instance to host the services. If you already have an existing monitoring instance then specify in optional parameter 'existing\_monitoring\_instance\_crn'. | `bool` | `false` | no |
+| [enable\_monitoring](#input\_enable\_monitoring) | Specify whether Monitoring will be enabled. This includes the creation of an IBM Cloud Monitoring Instance. If you already have an existing monitoring instance, set this to true and specify in optional parameter 'existing\_monitoring\_instance\_crn'. | `bool` | `false` | no |
+| [enable\_monitoring\_host](#input\_enable\_monitoring\_host) | Specify whether to create an additional Intel Instance that can be used to configure additional monitoring services. | `bool` | `false` | no |
| [enable\_scc\_wp](#input\_enable\_scc\_wp) | Set to true to enable SCC Workload Protection and install and configure the SCC Workload Protection agent on all VSIs and PowerVS instances in this deployment. | `bool` | `false` | no |
-| [existing\_monitoring\_instance\_crn](#input\_existing\_monitoring\_instance\_crn) | Existing CRN of IBM Cloud Monitoring Instance. If value is null, then an IBM Cloud Monitoring Instance will not be created but an intel VSI instance will be created if 'enable\_monitoring' is true. | `string` | `null` | no |
+| [existing\_monitoring\_instance\_crn](#input\_existing\_monitoring\_instance\_crn) | Existing CRN of IBM Cloud Monitoring Instance. If value is null, then an IBM Cloud Monitoring Instance will not be created but an intel VSI instance will be created if 'enable\_monitoring\_host' is true. | `string` | `null` | no |
| [existing\_sm\_instance\_guid](#input\_existing\_sm\_instance\_guid) | An existing Secrets Manager GUID. If not provided a new instance will be provisioned. | `string` | `null` | no |
| [existing\_sm\_instance\_region](#input\_existing\_sm\_instance\_region) | Required if value is passed into `var.existing_sm_instance_guid`. | `string` | `null` | no |
| [external\_access\_ip](#input\_external\_access\_ip) | Specify the source IP address or CIDR for login through SSH to the environment after deployment. Access to the environment will be allowed only from this IP address. Can be set to 'null' if you choose to use client to site vpn. | `string` | n/a | yes |
@@ -181,7 +183,7 @@ Creates VPC Landing Zone | Performs VPC VSI OS Config | Creates PowerVS Infrastr
| [ansible\_host\_or\_ip](#output\_ansible\_host\_or\_ip) | Central Ansible node private IP address. |
| [dns\_host\_or\_ip](#output\_dns\_host\_or\_ip) | DNS forwarder host for created PowerVS infrastructure. |
| [kms\_key\_map](#output\_kms\_key\_map) | Map of ids and keys for KMS keys created |
-| [monitoring\_instance](#output\_monitoring\_instance) | Details of the IBM Cloud Monitoring Instance: CRN, location, guid, monitoring\_host\_ip. |
+| [monitoring\_instance](#output\_monitoring\_instance) | Details of the IBM Cloud Monitoring Instance: CRN, location, guid, monitoring\_host\_ip. monitoring\_host\_ip is an empty string if enable\_monitoring\_host is disabled. |
| [network\_load\_balancer](#output\_network\_load\_balancer) | Details of network load balancer. |
| [network\_services\_config](#output\_network\_services\_config) | Complete configuration of network management services. |
| [nfs\_host\_or\_ip\_path](#output\_nfs\_host\_or\_ip\_path) | NFS host for created PowerVS infrastructure. |
diff --git a/modules/powervs-vpc-landing-zone/main.tf b/modules/powervs-vpc-landing-zone/main.tf
index a982f5fe..71de003a 100644
--- a/modules/powervs-vpc-landing-zone/main.tf
+++ b/modules/powervs-vpc-landing-zone/main.tf
@@ -13,7 +13,7 @@ locals {
network_services_vsi_profile = var.network_services_vsi_profile,
user_data = var.user_data != null ? replace(var.user_data, "\n", "\\n") : null
transit_gateway_global = var.transit_gateway_global,
- enable_monitoring = var.enable_monitoring,
+ enable_monitoring_host = var.enable_monitoring_host,
sles_image = var.vpc_intel_images.sles_image,
second_rg_name = local.second_rg_name,
tgw_rg_name = local.tgw_rg_name
diff --git a/modules/powervs-vpc-landing-zone/monitoring.tf b/modules/powervs-vpc-landing-zone/monitoring.tf
index 2afe6ae5..d6de121e 100644
--- a/modules/powervs-vpc-landing-zone/monitoring.tf
+++ b/modules/powervs-vpc-landing-zone/monitoring.tf
@@ -19,7 +19,7 @@ locals {
crn = var.enable_monitoring && var.existing_monitoring_instance_crn == null ? resource.ibm_resource_instance.monitoring_instance[0].crn : var.existing_monitoring_instance_crn != null ? var.existing_monitoring_instance_crn : ""
location = var.enable_monitoring && var.existing_monitoring_instance_crn == null ? resource.ibm_resource_instance.monitoring_instance[0].location : var.existing_monitoring_instance_crn != null ? split(":", var.existing_monitoring_instance_crn)[5] : ""
guid = var.enable_monitoring && var.existing_monitoring_instance_crn == null ? resource.ibm_resource_instance.monitoring_instance[0].guid : var.existing_monitoring_instance_crn != null ? split(":", var.existing_monitoring_instance_crn)[7] : ""
- monitoring_host_ip = local.monitoring_vsi_ip
+ monitoring_host_ip = var.enable_monitoring_host ? local.monitoring_vsi_ip : ""
}
}
@@ -32,7 +32,7 @@ module "configure_monitoring_host" {
source = "./submodules/ansible"
depends_on = [module.configure_network_services]
- count = var.enable_monitoring ? 1 : 0
+ count = var.enable_monitoring_host ? 1 : 0
bastion_host_ip = local.access_host_or_ip
ansible_host_or_ip = local.network_services_vsi_ip
diff --git a/modules/powervs-vpc-landing-zone/outputs.tf b/modules/powervs-vpc-landing-zone/outputs.tf
index d65edcdb..06a0a26f 100644
--- a/modules/powervs-vpc-landing-zone/outputs.tf
+++ b/modules/powervs-vpc-landing-zone/outputs.tf
@@ -156,7 +156,7 @@ output "powervs_images" {
########################################################################
output "monitoring_instance" {
- description = "Details of the IBM Cloud Monitoring Instance: CRN, location, guid, monitoring_host_ip."
+ description = "Details of the IBM Cloud Monitoring Instance: CRN, location, guid, monitoring_host_ip. monitoring_host_ip is an empty string if enable_monitoring_host is disabled."
value = local.monitoring_instance
}
diff --git a/modules/powervs-vpc-landing-zone/presets/slz-preset.json.tftpl b/modules/powervs-vpc-landing-zone/presets/slz-preset.json.tftpl
index a05f03fe..c0bb4a2e 100644
--- a/modules/powervs-vpc-landing-zone/presets/slz-preset.json.tftpl
+++ b/modules/powervs-vpc-landing-zone/presets/slz-preset.json.tftpl
@@ -836,7 +836,7 @@
"user_data" : "${user_data}"
%{ endif }
}
- %{ if "${enable_monitoring}" == true }
+ %{ if "${enable_monitoring_host}" == true }
,
{
"name": "monitoring",
diff --git a/modules/powervs-vpc-landing-zone/variables.tf b/modules/powervs-vpc-landing-zone/variables.tf
index b7d79630..e45bd7d5 100644
--- a/modules/powervs-vpc-landing-zone/variables.tf
+++ b/modules/powervs-vpc-landing-zone/variables.tf
@@ -29,8 +29,8 @@ variable "vpc_intel_images" {
error_message = "The rhel_image attribute of vpc_intel_images must not be empty. Please specify an OS image name to be used for creating management and network services VSI instances."
}
validation {
- condition = var.enable_monitoring ? (var.vpc_intel_images.sles_image != "" ? true : false) : true
- error_message = "The sles_image attribute of var.vpc_intel_images cannot be empty when enable_monitoring is set to true. Please provide a valid SLES OS stock image name to create monitoring VSI."
+ condition = var.enable_monitoring_host ? (var.vpc_intel_images.sles_image != "" ? true : false) : true
+ error_message = "The sles_image attribute of var.vpc_intel_images cannot be empty when enable_monitoring_host is set to true. Please provide a valid SLES OS stock image name to create monitoring VSI."
}
}
@@ -321,13 +321,24 @@ variable "existing_sm_instance_region" {
#####################################################
variable "enable_monitoring" {
- description = "Specify whether Monitoring will be enabled. This includes the creation of an IBM Cloud Monitoring Instance and an Intel Monitoring Instance to host the services. If you already have an existing monitoring instance then specify in optional parameter 'existing_monitoring_instance_crn'."
+ description = "Specify whether Monitoring will be enabled. This includes the creation of an IBM Cloud Monitoring Instance. If you already have an existing monitoring instance, set this to true and specify in optional parameter 'existing_monitoring_instance_crn'."
type = bool
default = false
}
+variable "enable_monitoring_host" {
+ description = "Specify whether to create an additional Intel Instance that can be used to configure additional monitoring services."
+ type = bool
+ default = false
+
+ validation {
+ condition = var.enable_monitoring_host ? var.enable_monitoring && var.enable_monitoring_host : true
+ error_message = "enable_monitoring must be set to true to set enable_monitoring_host to true."
+ }
+}
+
variable "existing_monitoring_instance_crn" {
- description = "Existing CRN of IBM Cloud Monitoring Instance. If value is null, then an IBM Cloud Monitoring Instance will not be created but an intel VSI instance will be created if 'enable_monitoring' is true. "
+ description = "Existing CRN of IBM Cloud Monitoring Instance. If value is null, then an IBM Cloud Monitoring Instance will not be created but an intel VSI instance will be created if 'enable_monitoring_host' is true. "
type = string
default = null
}
diff --git a/reference-architectures/standard-openshift/deploy-arch-ibm-pvs-inf-standard-openshift.md b/reference-architectures/standard-openshift/deploy-arch-ibm-pvs-inf-standard-openshift.md
index 1c5dbc65..05fb9618 100644
--- a/reference-architectures/standard-openshift/deploy-arch-ibm-pvs-inf-standard-openshift.md
+++ b/reference-architectures/standard-openshift/deploy-arch-ibm-pvs-inf-standard-openshift.md
@@ -1,7 +1,7 @@
---
copyright:
years: 2024, 2025
-lastupdated: "2025-10-09"
+lastupdated: "2025-10-17"
keywords:
subcollection: deployable-reference-architectures
authors:
@@ -15,7 +15,7 @@ image_source: https://github.com/terraform-ibm-modules/terraform-ibm-powervs-inf
use-case: ITServiceManagement
industry: Technology
content-type: reference-architecture
-version: v10.1.0
+version: v10.2.0
compliance:
---
@@ -27,7 +27,7 @@ compliance:
{: toc-content-type="reference-architecture"}
{: toc-industry="Technology"}
{: toc-use-case="ITServiceManagement"}
-{: toc-version="v10.1.0"}
+{: toc-version="v10.2.0"}
The Quickstart OpenShift deployment on Power Virtual Server with a VPC landing zone uses the Red Hat IPI installer to set up an OpenShift cluster. Before the deployment begins, it provisions VPC services and creates a Power Virtual Server workspace, which together form the landing zone used to access and manage the cluster.
@@ -64,8 +64,8 @@ IBM Cloud® Power Virtual Servers (PowerVS) is a public cloud offering that an e
|* Create a virtual server instance that can act as an internet proxy server |Network services VPC instance|Create a Linux VPC instance that can host management components. Preconfigure ACL and security group rules to allow traffic over private networks only.|Configure application load balancer to act as proxy server manually, Modify number of virtual server instances and allowed ports in preset or perform the modifications manually|
|* Create DNS Service instance as pre-requisite for IPI installer | DNS Service Instance | Create a DNS Service instance and a custom resolver to internally resolve the cluster domain. | |
|* Ensure financial services compliancy for VPC services \n * Perform network setup of all created services \n * Perform network isolation of all created services \n * Ensure all created services are interconnected |Secure landing zone components|Create a minimum set of required components for a secure landing zone|Create a modified set of required components for a secure landing zone in preset|
-|* Allow customer to optionally enable monitoring in the deployment|IBM Cloud® monitoring instance and Monitoring Host VPC Instance|Optionally, create or import an existing IBM Cloud® monitoring instance (customer provided details) and create and pre-configure the Monitoring Host VPC instance to collect information and send it to the IBM Cloud® monitoring instance.| |
-|* Allow customer to optionally enable [Security and Compliance Center Workload Protection](/docs/workload-protection) in the deployment \n * Collect posture management information, enable vulnerability scanning and threat detection|IBM Cloud® Security and Compliance Center Workload Protection and SCC Workload Protection agent on all VPC instances in the deployment.|Optionally, create an IBM Cloud® Security and Compliance Center Workload Protection instance and install and setup the SCC Workload Protection agent on all VPC instances in the deployment (bastion, network services, monitoring hosts).| |
+|* Allow customer to optionally enable monitoring in the deployment|IBM Cloud® monitoring instance|Optionally, create or import an existing IBM Cloud® monitoring instance (customer provided details).| |
+|* Allow customer to optionally enable [Security and Compliance Center Workload Protection](/docs/workload-protection) in the deployment \n * Collect posture management information, enable vulnerability scanning and threat detection|IBM Cloud® Security and Compliance Center Workload Protection and SCC Workload Protection agent on all VPC instances in the deployment.|Optionally, create an IBM Cloud® Security and Compliance Center Workload Protection instance and install and setup the SCC Workload Protection agent on all VPC instances in the deployment (bastion, network services).| |
{: caption="Table 1. VPC architecture decisions" caption-side="bottom"}
### PowerVS workspace architecture decisions
diff --git a/reference-architectures/standard-openshift/deploy-arch-ibm-pvs-inf-standard-openshift.svg b/reference-architectures/standard-openshift/deploy-arch-ibm-pvs-inf-standard-openshift.svg
index c1bdfb1d..b0df5681 100644
--- a/reference-architectures/standard-openshift/deploy-arch-ibm-pvs-inf-standard-openshift.svg
+++ b/reference-architectures/standard-openshift/deploy-arch-ibm-pvs-inf-standard-openshift.svg
@@ -1,4 +1,4 @@
-
\ No newline at end of file
+object({
cluster_network_cidr = string
cluster_service_network_cidr = string
cluster_machine_network_cidr = string
}) | {
"cluster_machine_network_cidr": "10.72.0.0/24",
"cluster_network_cidr": "10.128.0.0/14",
"cluster_service_network_cidr": "10.67.0.0/16"
} | no |
| [cluster\_worker\_node\_config](#input\_cluster\_worker\_node\_config) | Configuration for the worker nodes of the OpenShift cluster, including CPU, system type, processor type, and replica count. If system\_type is null, it's chosen based on whether it's supported in the region. This can be overwritten by passing a value, e.g. 's1022' or 's922'. Memory is in GB. | object({
processors = number
memory = number
system_type = string
proc_type = string
replicas = number
}) | {
"memory": "32",
"proc_type": "Shared",
"processors": "4",
"replicas": "3",
"system_type": null
} | no |
-| [enable\_monitoring](#input\_enable\_monitoring) | Specify whether Monitoring will be enabled. This includes the creation of an IBM Cloud Monitoring Instance and an Intel Monitoring Instance to host the services. If you already have an existing monitoring instance then specify in optional parameter 'existing\_monitoring\_instance\_crn' and setting this parameter to true. | `bool` | `false` | no |
+| [enable\_monitoring](#input\_enable\_monitoring) | Specify whether Monitoring will be enabled. This creates a new IBM Cloud Monitoring Instance. | `bool` | `false` | no |
| [enable\_scc\_wp](#input\_enable\_scc\_wp) | Enable SCC Workload Protection and install and configure the SCC Workload Protection agent on all intel VSIs in this deployment. | `bool` | `true` | no |
-| [existing\_monitoring\_instance\_crn](#input\_existing\_monitoring\_instance\_crn) | Existing CRN of IBM Cloud Monitoring Instance. If value is null, then an IBM Cloud Monitoring Instance will not be created but an intel VSI instance will be created if 'enable\_monitoring' is true. | `string` | `null` | no |
| [existing\_sm\_instance\_guid](#input\_existing\_sm\_instance\_guid) | An existing Secrets Manager GUID. If not provided a new instance will be provisioned. | `string` | `null` | no |
| [existing\_sm\_instance\_region](#input\_existing\_sm\_instance\_region) | Required if value is passed into `var.existing_sm_instance_guid`. | `string` | `null` | no |
| [external\_access\_ip](#input\_external\_access\_ip) | Specify the source IP address or CIDR for login through SSH to the environment after deployment. Access to the environment will be allowed only from this IP address. Can be set to 'null' if you choose to use client to site vpn. | `string` | `"0.0.0.0/0"` | no |
@@ -110,7 +109,7 @@ Due to technical limitations, the cost estimate Projects gives does not include
| [cluster\_name](#output\_cluster\_name) | The name of the cluster and the prefix that is associated with all resources. |
| [cluster\_resource\_group](#output\_cluster\_resource\_group) | The resource group where all cluster resources, Transit Gateway, VPC, and PowerVS resources reside. |
| [kms\_key\_map](#output\_kms\_key\_map) | Map of ids and keys for KMS keys created |
-| [monitoring\_instance](#output\_monitoring\_instance) | Details of the IBM Cloud Monitoring Instance: CRN, location, guid. |
+| [monitoring\_instance](#output\_monitoring\_instance) | Details of the IBM Cloud Monitoring Instance: CRN, location, guid, monitoring\_host\_ip. monitoring\_host\_ip is an empty string since no additional host is needed for this variation. |
| [network\_load\_balancer](#output\_network\_load\_balancer) | Details of network load balancer. |
| [network\_services\_config](#output\_network\_services\_config) | Complete configuration of network management services. |
| [powervs\_ssh\_public\_key](#output\_powervs\_ssh\_public\_key) | SSH public key name and value in created PowerVS infrastructure. |
diff --git a/solutions/standard-openshift/main.tf b/solutions/standard-openshift/main.tf
index 07e38748..deb57980 100644
--- a/solutions/standard-openshift/main.tf
+++ b/solutions/standard-openshift/main.tf
@@ -31,27 +31,26 @@ module "standard" {
providers = { ibm.ibm-is = ibm.ibm-is, ibm.ibm-pi = ibm.ibm-pi, ibm.ibm-sm = ibm.ibm-sm }
- powervs_zone = var.powervs_zone
- prefix = var.cluster_name
- external_access_ip = var.external_access_ip
- ssh_public_key = var.ssh_public_key
- ssh_private_key = var.ssh_private_key
- client_to_site_vpn = local.client_to_site_vpn
- vpc_intel_images = var.vpc_intel_images
- user_data = var.intel_user_data
- powervs_resource_group_name = null
- powervs_management_network = null
- powervs_backup_network = null
- tags = var.tags
- sm_service_plan = var.sm_service_plan
- existing_sm_instance_guid = var.existing_sm_instance_guid
- existing_sm_instance_region = var.existing_sm_instance_region
- network_services_vsi_profile = var.network_services_vsi_profile
- enable_monitoring = var.enable_monitoring
- existing_monitoring_instance_crn = var.existing_monitoring_instance_crn
- enable_scc_wp = var.enable_scc_wp
- ansible_vault_password = var.ansible_vault_password
- ibm_dns_service = { enable = true, name = "${var.cluster_name}-dns", base_domain = var.cluster_base_domain, label = var.cluster_name }
+ powervs_zone = var.powervs_zone
+ prefix = var.cluster_name
+ external_access_ip = var.external_access_ip
+ ssh_public_key = var.ssh_public_key
+ ssh_private_key = var.ssh_private_key
+ client_to_site_vpn = local.client_to_site_vpn
+ vpc_intel_images = var.vpc_intel_images
+ user_data = var.intel_user_data
+ powervs_resource_group_name = null
+ powervs_management_network = null
+ powervs_backup_network = null
+ tags = var.tags
+ sm_service_plan = var.sm_service_plan
+ existing_sm_instance_guid = var.existing_sm_instance_guid
+ existing_sm_instance_region = var.existing_sm_instance_region
+ network_services_vsi_profile = var.network_services_vsi_profile
+ enable_monitoring = var.enable_monitoring
+ enable_scc_wp = var.enable_scc_wp
+ ansible_vault_password = var.ansible_vault_password
+ ibm_dns_service = { enable = true, name = "${var.cluster_name}-dns", base_domain = var.cluster_base_domain, label = var.cluster_name }
}
#####################################################
diff --git a/solutions/standard-openshift/outputs.tf b/solutions/standard-openshift/outputs.tf
index 2ff8306d..d04535b0 100644
--- a/solutions/standard-openshift/outputs.tf
+++ b/solutions/standard-openshift/outputs.tf
@@ -106,7 +106,7 @@ output "network_services_config" {
########################################################################
output "monitoring_instance" {
- description = "Details of the IBM Cloud Monitoring Instance: CRN, location, guid."
+ description = "Details of the IBM Cloud Monitoring Instance: CRN, location, guid, monitoring_host_ip. monitoring_host_ip is an empty string since no additional host is needed for this variation."
value = module.standard.monitoring_instance
}
diff --git a/solutions/standard-openshift/variables.tf b/solutions/standard-openshift/variables.tf
index 4fd52774..4a5e4a79 100644
--- a/solutions/standard-openshift/variables.tf
+++ b/solutions/standard-openshift/variables.tf
@@ -215,17 +215,11 @@ variable "enable_scc_wp" {
}
variable "enable_monitoring" {
- description = "Specify whether Monitoring will be enabled. This includes the creation of an IBM Cloud Monitoring Instance and an Intel Monitoring Instance to host the services. If you already have an existing monitoring instance then specify in optional parameter 'existing_monitoring_instance_crn' and setting this parameter to true."
+ description = "Specify whether Monitoring will be enabled. This creates a new IBM Cloud Monitoring Instance."
type = bool
default = false
}
-variable "existing_monitoring_instance_crn" {
- description = "Existing CRN of IBM Cloud Monitoring Instance. If value is null, then an IBM Cloud Monitoring Instance will not be created but an intel VSI instance will be created if 'enable_monitoring' is true. "
- type = string
- default = null
-}
-
###########################################################
# Optional Parameters Secret Manager for client to site VPN
###########################################################
diff --git a/solutions/standard-plus-vsi/README.md b/solutions/standard-plus-vsi/README.md
index aabc5563..e052ba34 100644
--- a/solutions/standard-plus-vsi/README.md
+++ b/solutions/standard-plus-vsi/README.md
@@ -79,9 +79,8 @@ This example sets up the following infrastructure:
| [custom\_profile](#input\_custom\_profile) | Overrides t-shirt profile: Custom PowerVS instance. Specify 'sap\_profile\_id' [here](https://cloud.ibm.com/docs/sap?topic=sap-hana-iaas-offerings-profiles-power-vs) or combination of 'cores' & 'memory'. Optionally volumes can be created. | object({
sap_profile_id = string
cores = string
memory = string
server_type = string
proc_type = string
storage = object({
size = string
tier = string
})
}) | {
"cores": "",
"memory": "",
"proc_type": "",
"sap_profile_id": null,
"server_type": "",
"storage": {
"size": "",
"tier": ""
}
} | no |
| [custom\_profile\_instance\_boot\_image](#input\_custom\_profile\_instance\_boot\_image) | Override the t-shirt size specs of PowerVS Workspace instance by selecting an image name and providing valid 'custom\_profile' optional parameter. | `string` | `"none"` | no |
| [dns\_forwarder\_config](#input\_dns\_forwarder\_config) | Configuration for the DNS forwarder to a DNS service that is not reachable directly from PowerVS. | object({
dns_servers = string
}) | {
"dns_servers": "161.26.0.7; 161.26.0.8; 9.9.9.9;"
} | no |
-| [enable\_monitoring](#input\_enable\_monitoring) | Specify whether Monitoring will be enabled. This includes the creation of an IBM Cloud Monitoring Instance and an Intel Monitoring Instance to host the services. If you already have an existing monitoring instance then specify in optional parameter 'existing\_monitoring\_instance\_crn' and setting this parameter to true. | `bool` | `false` | no |
+| [enable\_monitoring](#input\_enable\_monitoring) | Specify whether Monitoring will be enabled. This creates a new IBM Cloud Monitoring Instance. | `bool` | `true` | no |
| [enable\_scc\_wp](#input\_enable\_scc\_wp) | Enable SCC Workload Protection and install and configure the SCC Workload Protection agent on all intel VSIs in this deployment. If set to true, then value for 'ansible\_vault\_password' in optional parameter must be set. | `bool` | `true` | no |
-| [existing\_monitoring\_instance\_crn](#input\_existing\_monitoring\_instance\_crn) | Existing CRN of IBM Cloud Monitoring Instance. If value is null, then an IBM Cloud Monitoring Instance will not be created but an intel VSI instance will be created if 'enable\_monitoring' is true. | `string` | `null` | no |
| [existing\_sm\_instance\_guid](#input\_existing\_sm\_instance\_guid) | An existing Secrets Manager GUID. If not provided a new instance will be provisioned. | `string` | `null` | no |
| [existing\_sm\_instance\_region](#input\_existing\_sm\_instance\_region) | Required if value is passed into `var.existing_sm_instance_guid`. | `string` | `null` | no |
| [external\_access\_ip](#input\_external\_access\_ip) | Specify the source IP address or CIDR for login through SSH to the environment after deployment. Access to the environment will be allowed only from this IP address. Can be set to 'null' if you choose to use client to site vpn. | `string` | `"0.0.0.0/0"` | no |
@@ -109,7 +108,7 @@ This example sets up the following infrastructure:
| [ansible\_host\_or\_ip](#output\_ansible\_host\_or\_ip) | Central Ansible node private IP address. |
| [dns\_host\_or\_ip](#output\_dns\_host\_or\_ip) | DNS forwarder host for created PowerVS infrastructure. |
| [kms\_key\_map](#output\_kms\_key\_map) | Map of ids and keys for KMS keys created |
-| [monitoring\_instance](#output\_monitoring\_instance) | Details of the IBM Cloud Monitoring Instance: CRN, location, guid. |
+| [monitoring\_instance](#output\_monitoring\_instance) | Details of the IBM Cloud Monitoring Instance: CRN, location, guid, monitoring\_host\_ip. monitoring\_host\_ip is an empty string if enable\_monitoring\_host is disabled. |
| [network\_load\_balancer](#output\_network\_load\_balancer) | Details of network load balancer. |
| [network\_services\_config](#output\_network\_services\_config) | Complete configuration of network management services. |
| [nfs\_host\_or\_ip\_path](#output\_nfs\_host\_or\_ip\_path) | NFS host for created PowerVS infrastructure. |
diff --git a/solutions/standard-plus-vsi/main.tf b/solutions/standard-plus-vsi/main.tf
index 8be1e687..4b0f6bea 100644
--- a/solutions/standard-plus-vsi/main.tf
+++ b/solutions/standard-plus-vsi/main.tf
@@ -7,31 +7,30 @@ module "standard" {
providers = { ibm.ibm-is = ibm.ibm-is, ibm.ibm-pi = ibm.ibm-pi, ibm.ibm-sm = ibm.ibm-sm }
- powervs_zone = var.powervs_zone
- prefix = var.prefix
- external_access_ip = var.external_access_ip
- ssh_public_key = var.ssh_public_key
- ssh_private_key = var.ssh_private_key
- client_to_site_vpn = var.client_to_site_vpn
- vpc_subnet_cidrs = var.vpc_subnet_cidrs
- vpc_intel_images = var.vpc_intel_images
- configure_dns_forwarder = var.configure_dns_forwarder
- configure_ntp_forwarder = var.configure_ntp_forwarder
- configure_nfs_server = var.configure_nfs_server
- dns_forwarder_config = var.dns_forwarder_config
- nfs_server_config = var.nfs_server_config
- powervs_resource_group_name = var.powervs_resource_group_name
- powervs_management_network = var.powervs_management_network
- powervs_backup_network = var.powervs_backup_network
- tags = var.tags
- sm_service_plan = var.sm_service_plan
- existing_sm_instance_guid = var.existing_sm_instance_guid
- existing_sm_instance_region = var.existing_sm_instance_region
- network_services_vsi_profile = var.network_services_vsi_profile
- enable_monitoring = var.enable_monitoring
- existing_monitoring_instance_crn = var.existing_monitoring_instance_crn
- enable_scc_wp = var.enable_scc_wp
- ansible_vault_password = var.ansible_vault_password
+ powervs_zone = var.powervs_zone
+ prefix = var.prefix
+ external_access_ip = var.external_access_ip
+ ssh_public_key = var.ssh_public_key
+ ssh_private_key = var.ssh_private_key
+ client_to_site_vpn = var.client_to_site_vpn
+ vpc_subnet_cidrs = var.vpc_subnet_cidrs
+ vpc_intel_images = var.vpc_intel_images
+ configure_dns_forwarder = var.configure_dns_forwarder
+ configure_ntp_forwarder = var.configure_ntp_forwarder
+ configure_nfs_server = var.configure_nfs_server
+ dns_forwarder_config = var.dns_forwarder_config
+ nfs_server_config = var.nfs_server_config
+ powervs_resource_group_name = var.powervs_resource_group_name
+ powervs_management_network = var.powervs_management_network
+ powervs_backup_network = var.powervs_backup_network
+ tags = var.tags
+ sm_service_plan = var.sm_service_plan
+ existing_sm_instance_guid = var.existing_sm_instance_guid
+ existing_sm_instance_region = var.existing_sm_instance_region
+ network_services_vsi_profile = var.network_services_vsi_profile
+ enable_monitoring = var.enable_monitoring
+ enable_scc_wp = var.enable_scc_wp
+ ansible_vault_password = var.ansible_vault_password
}
#####################################################
diff --git a/solutions/standard-plus-vsi/outputs.tf b/solutions/standard-plus-vsi/outputs.tf
index 7ea56c2c..dfea8f8d 100644
--- a/solutions/standard-plus-vsi/outputs.tf
+++ b/solutions/standard-plus-vsi/outputs.tf
@@ -102,7 +102,7 @@ output "network_services_config" {
########################################################################
output "monitoring_instance" {
- description = "Details of the IBM Cloud Monitoring Instance: CRN, location, guid."
+ description = "Details of the IBM Cloud Monitoring Instance: CRN, location, guid, monitoring_host_ip. monitoring_host_ip is an empty string if enable_monitoring_host is disabled."
value = module.standard.monitoring_instance
}
diff --git a/solutions/standard-plus-vsi/variables.tf b/solutions/standard-plus-vsi/variables.tf
index 892a93bf..4b5a39bd 100644
--- a/solutions/standard-plus-vsi/variables.tf
+++ b/solutions/standard-plus-vsi/variables.tf
@@ -242,15 +242,9 @@ variable "enable_scc_wp" {
}
variable "enable_monitoring" {
- description = "Specify whether Monitoring will be enabled. This includes the creation of an IBM Cloud Monitoring Instance and an Intel Monitoring Instance to host the services. If you already have an existing monitoring instance then specify in optional parameter 'existing_monitoring_instance_crn' and setting this parameter to true."
+ description = "Specify whether Monitoring will be enabled. This creates a new IBM Cloud Monitoring Instance."
type = bool
- default = false
-}
-
-variable "existing_monitoring_instance_crn" {
- description = "Existing CRN of IBM Cloud Monitoring Instance. If value is null, then an IBM Cloud Monitoring Instance will not be created but an intel VSI instance will be created if 'enable_monitoring' is true. "
- type = string
- default = null
+ default = true
}
###########################################################
diff --git a/solutions/standard/README.md b/solutions/standard/README.md
index f889a44c..f6a4fde2 100644
--- a/solutions/standard/README.md
+++ b/solutions/standard/README.md
@@ -73,9 +73,8 @@ This example sets up the following infrastructure:
| [configure\_nfs\_server](#input\_configure\_nfs\_server) | Specify if NFS server will be configured. This will allow you easily to share files between PowerVS instances (e.g., SAP installation files). [File storage share and mount target](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-create&interface=ui) in VPC will be created.. If yes, ensure 'nfs\_server\_config' optional variable is set properly below. Default value is '200GB' which will be mounted on specified directory in network-service vsi. | `bool` | `true` | no |
| [configure\_ntp\_forwarder](#input\_configure\_ntp\_forwarder) | Specify if NTP forwarder will be configured. This will allow you to synchronize time between IBM PowerVS instances. NTP forwarder will be installed on the network-services vsi. | `bool` | `true` | no |
| [dns\_forwarder\_config](#input\_dns\_forwarder\_config) | Configuration for the DNS forwarder to a DNS service that is not reachable directly from PowerVS. | object({
dns_servers = string
}) | {
"dns_servers": "161.26.0.7; 161.26.0.8; 9.9.9.9;"
} | no |
-| [enable\_monitoring](#input\_enable\_monitoring) | Specify whether Monitoring will be enabled. This includes the creation of an IBM Cloud Monitoring Instance and an Intel Monitoring Instance to host the services. If you already have an existing monitoring instance then specify in optional parameter 'existing\_monitoring\_instance\_crn' and setting this parameter to true. | `bool` | `false` | no |
+| [enable\_monitoring](#input\_enable\_monitoring) | Specify whether Monitoring will be enabled. This creates a new IBM Cloud Monitoring Instance. | `bool` | `false` | no |
| [enable\_scc\_wp](#input\_enable\_scc\_wp) | Enable SCC Workload Protection and install and configure the SCC Workload Protection agent on all intel VSIs in this deployment. If set to true, then value for 'ansible\_vault\_password' in optional parameter must be set. | `bool` | `false` | no |
-| [existing\_monitoring\_instance\_crn](#input\_existing\_monitoring\_instance\_crn) | Existing CRN of IBM Cloud Monitoring Instance. If value is null, then an IBM Cloud Monitoring Instance will not be created but an intel VSI instance will be created if 'enable\_monitoring' is true. | `string` | `null` | no |
| [existing\_sm\_instance\_guid](#input\_existing\_sm\_instance\_guid) | An existing Secrets Manager GUID. If not provided a new instance will be provisioned. | `string` | `null` | no |
| [existing\_sm\_instance\_region](#input\_existing\_sm\_instance\_region) | Required if value is passed into `var.existing_sm_instance_guid`. | `string` | `null` | no |
| [external\_access\_ip](#input\_external\_access\_ip) | Specify the source IP address or CIDR for login through SSH to the environment after deployment. Access to the environment will be allowed only from this IP address. Can be set to 'null' if you choose to use client to site vpn. | `string` | n/a | yes |
@@ -106,7 +105,7 @@ This example sets up the following infrastructure:
| [ansible\_host\_or\_ip](#output\_ansible\_host\_or\_ip) | Central Ansible node private IP address. |
| [dns\_host\_or\_ip](#output\_dns\_host\_or\_ip) | DNS forwarder host for created PowerVS infrastructure. |
| [kms\_key\_map](#output\_kms\_key\_map) | Map of ids and keys for KMS keys created |
-| [monitoring\_instance](#output\_monitoring\_instance) | Details of the IBM Cloud Monitoring Instance: CRN, location, guid. |
+| [monitoring\_instance](#output\_monitoring\_instance) | Details of the IBM Cloud Monitoring Instance: CRN, location, guid, monitoring\_host\_ip. monitoring\_host\_ip is an empty string if enable\_monitoring\_host is disabled. |
| [network\_load\_balancer](#output\_network\_load\_balancer) | Details of network load balancer. |
| [network\_services\_config](#output\_network\_services\_config) | Complete configuration of network management services. |
| [nfs\_host\_or\_ip\_path](#output\_nfs\_host\_or\_ip\_path) | NFS host for created PowerVS infrastructure. |
diff --git a/solutions/standard/main.tf b/solutions/standard/main.tf
index 9314c5ac..3152e7a0 100644
--- a/solutions/standard/main.tf
+++ b/solutions/standard/main.tf
@@ -33,7 +33,6 @@ module "standard" {
existing_sm_instance_region = var.existing_sm_instance_region
network_services_vsi_profile = var.network_services_vsi_profile
enable_monitoring = var.enable_monitoring
- existing_monitoring_instance_crn = var.existing_monitoring_instance_crn
enable_scc_wp = var.enable_scc_wp
ansible_vault_password = var.ansible_vault_password
}
diff --git a/solutions/standard/outputs.tf b/solutions/standard/outputs.tf
index 7f8956d9..be41f0f3 100644
--- a/solutions/standard/outputs.tf
+++ b/solutions/standard/outputs.tf
@@ -107,7 +107,7 @@ output "network_services_config" {
########################################################################
output "monitoring_instance" {
- description = "Details of the IBM Cloud Monitoring Instance: CRN, location, guid."
+ description = "Details of the IBM Cloud Monitoring Instance: CRN, location, guid, monitoring_host_ip. monitoring_host_ip is an empty string if enable_monitoring_host is disabled."
value = module.standard.monitoring_instance
}
diff --git a/solutions/standard/variables.tf b/solutions/standard/variables.tf
index 62323cf7..c2ba2cb6 100644
--- a/solutions/standard/variables.tf
+++ b/solutions/standard/variables.tf
@@ -268,18 +268,11 @@ variable "ansible_vault_password" {
#################################################
variable "enable_monitoring" {
- description = "Specify whether Monitoring will be enabled. This includes the creation of an IBM Cloud Monitoring Instance and an Intel Monitoring Instance to host the services. If you already have an existing monitoring instance then specify in optional parameter 'existing_monitoring_instance_crn' and setting this parameter to true."
+ description = "Specify whether Monitoring will be enabled. This creates a new IBM Cloud Monitoring Instance."
type = bool
default = false
}
-variable "existing_monitoring_instance_crn" {
- description = "Existing CRN of IBM Cloud Monitoring Instance. If value is null, then an IBM Cloud Monitoring Instance will not be created but an intel VSI instance will be created if 'enable_monitoring' is true."
- type = string
- default = null
-}
-
-
#####################################################
# Optional Parameters Secret Manager