|  | 
|  | 1 | +############################################################################## | 
|  | 2 | +# QuickStart VSI Landing Zone | 
|  | 3 | +############################################################################## | 
|  | 4 | + | 
|  | 5 | +locals { | 
|  | 6 | +  default_ocp_version = "${data.ibm_container_cluster_versions.cluster_versions.default_openshift_version}_openshift" | 
|  | 7 | +  ocp_version         = var.kube_version == null || var.kube_version == "default" ? local.default_ocp_version : "${var.kube_version}_openshift" | 
|  | 8 | +} | 
|  | 9 | + | 
|  | 10 | +data "ibm_container_cluster_versions" "cluster_versions" { | 
|  | 11 | +} | 
|  | 12 | + | 
|  | 13 | +module "landing_zone" { | 
|  | 14 | +  source               = "../roks/module" | 
|  | 15 | +  prefix               = var.prefix | 
|  | 16 | +  region               = var.region | 
|  | 17 | +  override_json_string = local.override_string | 
|  | 18 | +  tags                 = var.resource_tags | 
|  | 19 | +} | 
|  | 20 | + | 
|  | 21 | +locals { | 
|  | 22 | +  override_string = <<EOF | 
|  | 23 | +{ | 
|  | 24 | +   "atracker": { | 
|  | 25 | +      "collector_bucket_name": "", | 
|  | 26 | +      "receive_global_events": false, | 
|  | 27 | +      "resource_group": "", | 
|  | 28 | +      "add_route": false | 
|  | 29 | +   }, | 
|  | 30 | +   "clusters": [ | 
|  | 31 | +      { | 
|  | 32 | +         "boot_volume_crk_name": "slz-vsi-volume-key", | 
|  | 33 | +         "cos_name": "cos", | 
|  | 34 | +         "kms_config": null, | 
|  | 35 | +         "kube_type": "openshift", | 
|  | 36 | +         "kube_version": "${local.ocp_version}", | 
|  | 37 | +         "machine_type": "${var.flavor}", | 
|  | 38 | +         "name": "workload-cluster", | 
|  | 39 | +         "resource_group": "workload-rg", | 
|  | 40 | +         "kms_config": { | 
|  | 41 | +            "crk_name": "roks-key", | 
|  | 42 | +            "private_endpoint": true | 
|  | 43 | +         }, | 
|  | 44 | +         "subnet_names": [ | 
|  | 45 | +               "vsi-zone-1", | 
|  | 46 | +               "vsi-zone-2" | 
|  | 47 | +         ], | 
|  | 48 | +         "vpc_name": "workload", | 
|  | 49 | +         "worker_pools": [], | 
|  | 50 | +         "workers_per_subnet": 1, | 
|  | 51 | +         "entitlement": "cloud_pak", | 
|  | 52 | +         "disable_public_endpoint": false | 
|  | 53 | +      } | 
|  | 54 | +   ], | 
|  | 55 | +   "cos": [ | 
|  | 56 | +      { | 
|  | 57 | +         "access_tags": [], | 
|  | 58 | +         "buckets": [], | 
|  | 59 | +         "keys": [], | 
|  | 60 | +         "name": "cos", | 
|  | 61 | +         "plan": "standard", | 
|  | 62 | +         "random_suffix": true, | 
|  | 63 | +         "resource_group": "service-rg", | 
|  | 64 | +         "use_data": false | 
|  | 65 | +      } | 
|  | 66 | +   ], | 
|  | 67 | +   "enable_transit_gateway": true, | 
|  | 68 | +   "transit_gateway_global": false, | 
|  | 69 | +   "key_management": { | 
|  | 70 | +      "keys": [ | 
|  | 71 | +         { | 
|  | 72 | +            "key_ring": "slz-ring", | 
|  | 73 | +            "name": "slz-vsi-volume-key", | 
|  | 74 | +            "root_key": true, | 
|  | 75 | +            "policies": { | 
|  | 76 | +               "rotation": { | 
|  | 77 | +                  "interval_month": 12 | 
|  | 78 | +               } | 
|  | 79 | +            } | 
|  | 80 | +         }, | 
|  | 81 | +         { | 
|  | 82 | +            "key_ring": "slz-ring", | 
|  | 83 | +            "name": "roks-key", | 
|  | 84 | +            "policies": { | 
|  | 85 | +               "rotation": { | 
|  | 86 | +                  "interval_month": 12 | 
|  | 87 | +               } | 
|  | 88 | +            }, | 
|  | 89 | +            "root_key": true | 
|  | 90 | +         } | 
|  | 91 | +      ], | 
|  | 92 | +      "name": "slz-kms", | 
|  | 93 | +      "resource_group": "service-rg", | 
|  | 94 | +      "use_hs_crypto": false, | 
|  | 95 | +      "use_data": false | 
|  | 96 | +   }, | 
|  | 97 | +   "network_cidr": "10.0.0.0/8", | 
|  | 98 | +   "resource_groups": [ | 
|  | 99 | +      { | 
|  | 100 | +         "create": true, | 
|  | 101 | +         "name": "service-rg", | 
|  | 102 | +         "use_prefix": true | 
|  | 103 | +      }, | 
|  | 104 | +      { | 
|  | 105 | +         "create": true, | 
|  | 106 | +         "name": "management-rg", | 
|  | 107 | +         "use_prefix": true | 
|  | 108 | +      }, | 
|  | 109 | +      { | 
|  | 110 | +         "create": true, | 
|  | 111 | +         "name": "workload-rg", | 
|  | 112 | +         "use_prefix": true | 
|  | 113 | +      } | 
|  | 114 | +   ], | 
|  | 115 | +   "security_groups": [], | 
|  | 116 | +   "transit_gateway_connections": [ | 
|  | 117 | +      "management", | 
|  | 118 | +      "workload" | 
|  | 119 | +   ], | 
|  | 120 | +   "transit_gateway_resource_group": "service-rg", | 
|  | 121 | +   "virtual_private_endpoints": [], | 
|  | 122 | +   "vpcs": [ | 
|  | 123 | +      { | 
|  | 124 | +         "default_security_group_rules": [], | 
|  | 125 | +         "clean_default_sg_acl": false, | 
|  | 126 | +         "flow_logs_bucket_name": null, | 
|  | 127 | +         "network_acls": [ | 
|  | 128 | +            { | 
|  | 129 | +               "add_cluster_rules": false, | 
|  | 130 | +               "name": "management-acl", | 
|  | 131 | +               "rules": [ | 
|  | 132 | +                  { | 
|  | 133 | +                     "name": "allow-ssh-inbound", | 
|  | 134 | +                     "action": "allow", | 
|  | 135 | +                     "direction": "inbound", | 
|  | 136 | +                     "tcp": { | 
|  | 137 | +                        "port_min": 22, | 
|  | 138 | +                        "port_max": 22 | 
|  | 139 | +                     }, | 
|  | 140 | +                     "source": "0.0.0.0/0", | 
|  | 141 | +                     "destination": "10.0.0.0/8" | 
|  | 142 | +                  }, | 
|  | 143 | +                  { | 
|  | 144 | +                     "action": "allow", | 
|  | 145 | +                     "destination": "10.0.0.0/8", | 
|  | 146 | +                     "direction": "inbound", | 
|  | 147 | +                     "name": "allow-ibm-inbound", | 
|  | 148 | +                     "source": "161.26.0.0/16" | 
|  | 149 | +                  }, | 
|  | 150 | +                  { | 
|  | 151 | +                     "action": "allow", | 
|  | 152 | +                     "destination": "10.0.0.0/8", | 
|  | 153 | +                     "direction": "inbound", | 
|  | 154 | +                     "name": "allow-all-network-inbound", | 
|  | 155 | +                     "source": "10.0.0.0/8" | 
|  | 156 | +                  }, | 
|  | 157 | +                  { | 
|  | 158 | +                     "action": "allow", | 
|  | 159 | +                     "destination": "0.0.0.0/0", | 
|  | 160 | +                     "direction": "outbound", | 
|  | 161 | +                     "name": "allow-all-outbound", | 
|  | 162 | +                     "source": "0.0.0.0/0" | 
|  | 163 | +                  } | 
|  | 164 | +               ] | 
|  | 165 | +            } | 
|  | 166 | +         ], | 
|  | 167 | +         "prefix": "management", | 
|  | 168 | +         "resource_group": "management-rg", | 
|  | 169 | +         "subnets": { | 
|  | 170 | +            "zone-1": [ | 
|  | 171 | +               { | 
|  | 172 | +                  "acl_name": "management-acl", | 
|  | 173 | +                  "cidr": "10.10.10.0/24", | 
|  | 174 | +                  "name": "vsi-zone-1", | 
|  | 175 | +                  "public_gateway": false | 
|  | 176 | +               } | 
|  | 177 | +            ], | 
|  | 178 | +            "zone-2": [], | 
|  | 179 | +            "zone-3": [] | 
|  | 180 | +         }, | 
|  | 181 | +         "use_public_gateways": { | 
|  | 182 | +            "zone-1": false, | 
|  | 183 | +            "zone-2": false, | 
|  | 184 | +            "zone-3": false | 
|  | 185 | +         }, | 
|  | 186 | +         "address_prefixes": { | 
|  | 187 | +            "zone-1": [], | 
|  | 188 | +            "zone-2": [], | 
|  | 189 | +            "zone-3": [] | 
|  | 190 | +         } | 
|  | 191 | +      }, | 
|  | 192 | +      { | 
|  | 193 | +         "default_security_group_rules": [], | 
|  | 194 | +         "clean_default_sg_acl": false, | 
|  | 195 | +         "flow_logs_bucket_name": null, | 
|  | 196 | +         "network_acls": [ | 
|  | 197 | +            { | 
|  | 198 | +               "add_cluster_rules": false, | 
|  | 199 | +               "name": "workload-acl", | 
|  | 200 | +               "rules": [ | 
|  | 201 | +                  { | 
|  | 202 | +                     "action": "allow", | 
|  | 203 | +                     "destination": "0.0.0.0/0", | 
|  | 204 | +                     "direction": "inbound", | 
|  | 205 | +                     "name": "allow-all-network-inbound", | 
|  | 206 | +                     "source": "0.0.0.0/0" | 
|  | 207 | +                  }, | 
|  | 208 | +                  { | 
|  | 209 | +                     "action": "allow", | 
|  | 210 | +                     "destination": "0.0.0.0/0", | 
|  | 211 | +                     "direction": "outbound", | 
|  | 212 | +                     "name": "allow-all-outbound", | 
|  | 213 | +                     "source": "0.0.0.0/0" | 
|  | 214 | +                  } | 
|  | 215 | +               ] | 
|  | 216 | +            } | 
|  | 217 | +         ], | 
|  | 218 | +         "prefix": "workload", | 
|  | 219 | +         "resource_group": "workload-rg", | 
|  | 220 | +         "subnets": { | 
|  | 221 | +            "zone-1": [ | 
|  | 222 | +               { | 
|  | 223 | +                  "acl_name": "workload-acl", | 
|  | 224 | +                  "cidr": "10.40.10.0/24", | 
|  | 225 | +                  "name": "vsi-zone-1", | 
|  | 226 | +                  "public_gateway": true | 
|  | 227 | +               } | 
|  | 228 | +            ], | 
|  | 229 | +            "zone-2": [ | 
|  | 230 | +               { | 
|  | 231 | +                  "acl_name": "workload-acl", | 
|  | 232 | +                  "cidr": "10.50.10.0/24", | 
|  | 233 | +                  "name": "vsi-zone-2", | 
|  | 234 | +                  "public_gateway": true | 
|  | 235 | +               } | 
|  | 236 | +            ], | 
|  | 237 | +            "zone-3": [] | 
|  | 238 | +         }, | 
|  | 239 | +         "use_public_gateways": { | 
|  | 240 | +            "zone-1": true, | 
|  | 241 | +            "zone-2": true, | 
|  | 242 | +            "zone-3": false | 
|  | 243 | +         }, | 
|  | 244 | +         "address_prefixes": { | 
|  | 245 | +            "zone-1": [], | 
|  | 246 | +            "zone-2": [], | 
|  | 247 | +            "zone-3": [] | 
|  | 248 | +         } | 
|  | 249 | +      } | 
|  | 250 | +   ], | 
|  | 251 | +   "vpn_gateways": [] | 
|  | 252 | +} | 
|  | 253 | +EOF | 
|  | 254 | + | 
|  | 255 | +} | 
0 commit comments