@@ -11,20 +11,30 @@ module "resource_group" {
1111}
1212
1313# #############################################################################
14- # SLZ ROKS Pattern
14+ # VPC + Subnet + Public Gateway
1515# #############################################################################
1616
17- module "landing_zone" {
18- source = " git::https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone//patterns//roks//module?ref=v7.4.4"
19- region = var. region
20- prefix = var. prefix
21- tags = var. resource_tags
22- add_atracker_route = false
23- enable_transit_gateway = false
24- cluster_force_delete_storage = true
25- verify_cluster_network_readiness = false
26- use_ibm_cloud_private_api_endpoints = false
27- ignore_vpcs_for_cluster_deployment = [" management" ]
17+ resource "ibm_is_vpc" "vpc" {
18+ name = " ${ var . prefix } -vpc"
19+ resource_group = module. resource_group . resource_group_id
20+ address_prefix_management = " auto"
21+ tags = var. resource_tags
22+ }
23+
24+ resource "ibm_is_public_gateway" "gateway" {
25+ name = " ${ var . prefix } -gateway-1"
26+ vpc = ibm_is_vpc. vpc . id
27+ resource_group = module. resource_group . resource_group_id
28+ zone = " ${ var . region } -1"
29+ }
30+
31+ resource "ibm_is_subnet" "subnet_zone_1" {
32+ name = " ${ var . prefix } -subnet-1"
33+ vpc = ibm_is_vpc. vpc . id
34+ resource_group = module. resource_group . resource_group_id
35+ zone = " ${ var . region } -1"
36+ total_ipv4_address_count = 256
37+ public_gateway = ibm_is_public_gateway. gateway . id
2838}
2939
3040# #############################################################################
@@ -74,15 +84,10 @@ module "buckets" {
7484# - Monitoring instance
7585# #############################################################################
7686
77- locals {
78- cluster_resource_group_id = module. landing_zone . cluster_data [" ${ var . prefix } -workload-cluster" ]. resource_group_id
79- cluster_crn = module. landing_zone . cluster_data [" ${ var . prefix } -workload-cluster" ]. crn
80- }
81-
8287module "observability_instances" {
8388 source = " terraform-ibm-modules/observability-instances/ibm"
8489 version = " 3.5.0"
85- resource_group_id = local . cluster_resource_group_id
90+ resource_group_id = module . resource_group . resource_group_id
8691 region = var. region
8792 cloud_monitoring_plan = " graduated-tier"
8893 cloud_monitoring_service_endpoints = " public-and-private"
@@ -131,10 +136,51 @@ module "trusted_profile" {
131136 trusted_profile_links = [{
132137 cr_type = " ROKS_SA"
133138 links = [{
134- crn = local .cluster_crn
139+ crn = module.ocp_base .cluster_crn
135140 namespace = local.logs_agent_namespace
136141 name = local.logs_agent_name
137142 }]
138143 }
139144 ]
140145}
146+
147+ # #############################################################################
148+ # OCP VPC cluster (single zone)
149+ # #############################################################################
150+
151+ locals {
152+ cluster_vpc_subnets = {
153+ default = [
154+ {
155+ id = ibm_is_subnet.subnet_zone_1.id
156+ cidr_block = ibm_is_subnet.subnet_zone_1.ipv4_cidr_block
157+ zone = ibm_is_subnet.subnet_zone_1.zone
158+ }
159+ ]
160+ }
161+
162+ worker_pools = [
163+ {
164+ subnet_prefix = " default"
165+ pool_name = " default" # ibm_container_vpc_cluster automatically names default pool "default" (See https://github.com/IBM-Cloud/terraform-provider-ibm/issues/2849)
166+ machine_type = " bx2.4x16"
167+ workers_per_zone = 2 # minimum of 2 is allowed when using single zone
168+ operating_system = " REDHAT_8_64"
169+ }
170+ ]
171+ }
172+
173+ module "ocp_base" {
174+ source = " terraform-ibm-modules/base-ocp-vpc/ibm"
175+ version = " 3.46.1"
176+ resource_group_id = module. resource_group . resource_group_id
177+ region = var. region
178+ tags = var. resource_tags
179+ cluster_name = var. prefix
180+ force_delete_storage = true
181+ use_existing_cos = true
182+ existing_cos_id = module. cos . cos_instance_id
183+ vpc_id = ibm_is_vpc. vpc . id
184+ vpc_subnets = local. cluster_vpc_subnets
185+ worker_pools = local. worker_pools
186+ }
0 commit comments