Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -911,7 +911,7 @@ module "cluster_pattern" {
|------|-------------|------|---------|:--------:|
| <a name="input_appid"></a> [appid](#input\_appid) | The App ID instance to be used for the teleport vsi deployments | <pre>object({<br/> name = optional(string)<br/> resource_group = optional(string)<br/> use_data = optional(bool)<br/> keys = optional(list(string))<br/> use_appid = bool<br/> })</pre> | <pre>{<br/> "use_appid": false<br/>}</pre> | no |
| <a name="input_atracker"></a> [atracker](#input\_atracker) | atracker variables | <pre>object({<br/> resource_group = string<br/> receive_global_events = bool<br/> collector_bucket_name = string<br/> add_route = bool<br/> })</pre> | n/a | yes |
| <a name="input_clusters"></a> [clusters](#input\_clusters) | A list describing clusters workloads to create | <pre>list(<br/> object({<br/> name = string # Name of Cluster<br/> vpc_name = string # Name of VPC<br/> subnet_names = list(string) # List of vpc subnets for cluster<br/> workers_per_subnet = number # Worker nodes per subnet.<br/> machine_type = string # Worker node flavor<br/> kube_type = string # iks or openshift<br/> kube_version = optional(string) # Can be a version from `ibmcloud ks versions` or `default`<br/> entitlement = optional(string) # entitlement option for openshift<br/> secondary_storage = optional(string) # Secondary storage type<br/> pod_subnet = optional(string) # Portable subnet for pods<br/> service_subnet = optional(string) # Portable subnet for services<br/> resource_group = string # Resource Group used for cluster<br/> cos_name = optional(string) # Name of COS instance Required only for OpenShift clusters<br/> access_tags = optional(list(string), [])<br/> boot_volume_crk_name = optional(string) # Boot volume encryption key name<br/> disable_public_endpoint = optional(bool, true) # disable cluster public, leaving only private endpoint<br/> disable_outbound_traffic_protection = optional(bool, false) # public outbound access from the cluster workers<br/> cluster_force_delete_storage = optional(bool, false) # force the removal of persistent storage associated with the cluster during cluster deletion<br/> operating_system = optional(string, null) #The operating system of the workers in the default worker pool. If no value is specified, the current default version OS will be used. See https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_versions#openshift_versions_available .<br/> kms_wait_for_apply = optional(bool, true) # make terraform wait until KMS is applied to master and it is ready and deployed<br/> verify_cluster_network_readiness = optional(bool, true) # Flag to run a script will run kubectl commands to verify that all worker nodes can communicate successfully with the master. If the runtime does not have access to the kube cluster to run kubectl commands, this should be set to false.<br/> use_ibm_cloud_private_api_endpoints = optional(bool, true) # Flag to force all cluster related api calls to use the IBM Cloud private endpoints.<br/> import_default_worker_pool_on_create = optional(bool) # (Advanced users) Whether to handle the default worker pool as a stand-alone ibm_container_vpc_worker_pool resource on cluster creation. Only set to false if you understand the implications of managing the default worker pool as part of the cluster resource. Set to true to import the default worker pool as a separate resource. Set to false to manage the default worker pool as part of the cluster resource.<br/> allow_default_worker_pool_replacement = optional(bool) # (Advanced users) Set to true to allow the module to recreate a default worker pool. Only use in the case where you are getting an error indicating that the default worker pool cannot be replaced on apply. Once the default worker pool is handled as a stand-alone ibm_container_vpc_worker_pool, if you wish to make any change to the default worker pool which requires the re-creation of the default pool set this variable to true<br/> labels = optional(map(string)) # A list of labels that you want to add to the default worker pool.<br/> addons = optional(object({ # Map of OCP cluster add-on versions to install<br/> debug-tool = optional(string)<br/> image-key-synchronizer = optional(string)<br/> openshift-data-foundation = optional(string)<br/> vpc-file-csi-driver = optional(string)<br/> static-route = optional(string)<br/> cluster-autoscaler = optional(string)<br/> vpc-block-csi-driver = optional(string)<br/> ibm-storage-operator = optional(string)<br/> }), {})<br/> manage_all_addons = optional(bool, false) # Instructs Terraform to manage all cluster addons, even if addons were installed outside of the module. If set to 'true' this module will destroy any addons that were installed by other sources.<br/> kms_config = optional(<br/> object({<br/> crk_name = string # Name of key<br/> private_endpoint = optional(bool) # Private endpoint<br/> })<br/> )<br/> worker_pools = optional(<br/> list(<br/> object({<br/> name = string # Worker pool name<br/> vpc_name = string # VPC name<br/> workers_per_subnet = number # Worker nodes per subnet<br/> flavor = string # Worker node flavor<br/> subnet_names = list(string) # List of vpc subnets for worker pool<br/> entitlement = optional(string) # entitlement option for openshift<br/> secondary_storage = optional(string) # Secondary storage type<br/> boot_volume_crk_name = optional(string) # Boot volume encryption key name<br/> operating_system = string # The operating system of the workers in the default worker pool. See https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_versions#openshift_versions_available .<br/> labels = optional(map(string)) # A list of labels that you want to add to all the worker nodes in the worker pool.<br/> })<br/> )<br/> )<br/> })<br/> )</pre> | n/a | yes |
| <a name="input_clusters"></a> [clusters](#input\_clusters) | A list describing clusters workloads to create | <pre>list(<br/> object({<br/> name = string # Name of Cluster<br/> vpc_name = string # Name of VPC<br/> subnet_names = list(string) # List of vpc subnets for cluster<br/> workers_per_subnet = number # Worker nodes per subnet.<br/> machine_type = string # Worker node flavor<br/> kube_type = string # iks or openshift<br/> kube_version = optional(string) # Can be a version from `ibmcloud ks versions` or `default`<br/> entitlement = optional(string) # entitlement option for openshift<br/> secondary_storage = optional(string) # Secondary storage type<br/> pod_subnet = optional(string) # Portable subnet for pods<br/> service_subnet = optional(string) # Portable subnet for services<br/> resource_group = string # Resource Group used for cluster<br/> cos_name = optional(string) # Name of COS instance Required only for OpenShift clusters<br/> access_tags = optional(list(string), [])<br/> boot_volume_crk_name = optional(string) # Boot volume encryption key name<br/> disable_public_endpoint = optional(bool, true) # disable cluster public, leaving only private endpoint<br/> disable_outbound_traffic_protection = optional(bool, false) # public outbound access from the cluster workers<br/> cluster_force_delete_storage = optional(bool, false) # force the removal of persistent storage associated with the cluster during cluster deletion<br/> operating_system = string # The operating system of the workers in the default worker pool. See https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_versions#openshift_versions_available .<br/> kms_wait_for_apply = optional(bool, true) # make terraform wait until KMS is applied to master and it is ready and deployed<br/> verify_cluster_network_readiness = optional(bool, true) # Flag to run a script will run kubectl commands to verify that all worker nodes can communicate successfully with the master. If the runtime does not have access to the kube cluster to run kubectl commands, this should be set to false.<br/> use_ibm_cloud_private_api_endpoints = optional(bool, true) # Flag to force all cluster related api calls to use the IBM Cloud private endpoints.<br/> import_default_worker_pool_on_create = optional(bool) # (Advanced users) Whether to handle the default worker pool as a stand-alone ibm_container_vpc_worker_pool resource on cluster creation. Only set to false if you understand the implications of managing the default worker pool as part of the cluster resource. Set to true to import the default worker pool as a separate resource. Set to false to manage the default worker pool as part of the cluster resource.<br/> allow_default_worker_pool_replacement = optional(bool) # (Advanced users) Set to true to allow the module to recreate a default worker pool. Only use in the case where you are getting an error indicating that the default worker pool cannot be replaced on apply. Once the default worker pool is handled as a stand-alone ibm_container_vpc_worker_pool, if you wish to make any change to the default worker pool which requires the re-creation of the default pool set this variable to true<br/> labels = optional(map(string)) # A list of labels that you want to add to the default worker pool.<br/> addons = optional(object({ # Map of OCP cluster add-on versions to install<br/> debug-tool = optional(string)<br/> image-key-synchronizer = optional(string)<br/> openshift-data-foundation = optional(string)<br/> vpc-file-csi-driver = optional(string)<br/> static-route = optional(string)<br/> cluster-autoscaler = optional(string)<br/> vpc-block-csi-driver = optional(string)<br/> ibm-storage-operator = optional(string)<br/> }), {})<br/> manage_all_addons = optional(bool, false) # Instructs Terraform to manage all cluster addons, even if addons were installed outside of the module. If set to 'true' this module will destroy any addons that were installed by other sources.<br/> kms_config = optional(<br/> object({<br/> crk_name = string # Name of key<br/> private_endpoint = optional(bool) # Private endpoint<br/> })<br/> )<br/> worker_pools = optional(<br/> list(<br/> object({<br/> name = string # Worker pool name<br/> vpc_name = string # VPC name<br/> workers_per_subnet = number # Worker nodes per subnet<br/> flavor = string # Worker node flavor<br/> subnet_names = list(string) # List of vpc subnets for worker pool<br/> entitlement = optional(string) # entitlement option for openshift<br/> secondary_storage = optional(string) # Secondary storage type<br/> boot_volume_crk_name = optional(string) # Boot volume encryption key name<br/> operating_system = string # The operating system of the workers in the worker pool. See https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_versions#openshift_versions_available .<br/> labels = optional(map(string)) # A list of labels that you want to add to all the worker nodes in the worker pool.<br/> })<br/> )<br/> )<br/> })<br/> )</pre> | n/a | yes |
| <a name="input_cos"></a> [cos](#input\_cos) | Object describing the cloud object storage instance, buckets, and keys. Set `use_data` to false to create instance | <pre>list(<br/> object({<br/> name = string<br/> use_data = optional(bool)<br/> resource_group = string<br/> plan = optional(string)<br/> random_suffix = optional(bool) # Use a random suffix for COS instance<br/> access_tags = optional(list(string), [])<br/> skip_kms_s2s_auth_policy = optional(bool, false) # skip auth policy between this instance and kms instance, useful if existing resources are used<br/> skip_flowlogs_s2s_auth_policy = optional(bool, false) # skip auth policy between flow logs service and this instance, set to true if this policy is already in place on account<br/> skip_atracker_s2s_auth_policy = optional(bool, false) # skip auth policyt between atracker service and this instance, set to true if this is existing recipient of atracker already<br/> buckets = list(object({<br/> name = string<br/> storage_class = string<br/> endpoint_type = string<br/> force_delete = bool<br/> single_site_location = optional(string)<br/> region_location = optional(string)<br/> cross_region_location = optional(string)<br/> kms_key = optional(string)<br/> access_tags = optional(list(string), [])<br/> allowed_ip = optional(list(string), [])<br/> hard_quota = optional(number)<br/> archive_rule = optional(object({<br/> days = number<br/> enable = bool<br/> rule_id = optional(string)<br/> type = string<br/> }))<br/> expire_rule = optional(object({<br/> days = optional(number)<br/> date = optional(string)<br/> enable = bool<br/> expired_object_delete_marker = optional(string)<br/> prefix = optional(string)<br/> rule_id = optional(string)<br/> }))<br/> activity_tracking = optional(object({<br/> activity_tracker_crn = string<br/> read_data_events = bool<br/> write_data_events = bool<br/> management_events = bool<br/> }))<br/> metrics_monitoring = optional(object({<br/> metrics_monitoring_crn = string<br/> request_metrics_enabled = optional(bool)<br/> usage_metrics_enabled = optional(bool)<br/> }))<br/> }))<br/> keys = optional(<br/> list(object({<br/> name = string<br/> role = string<br/> enable_HMAC = bool<br/> }))<br/> )<br/><br/> })<br/> )</pre> | n/a | yes |
| <a name="input_enable_transit_gateway"></a> [enable\_transit\_gateway](#input\_enable\_transit\_gateway) | Create transit gateway | `bool` | `true` | no |
| <a name="input_existing_vpc_cbr_zone_id"></a> [existing\_vpc\_cbr\_zone\_id](#input\_existing\_vpc\_cbr\_zone\_id) | ID of the existing CBR (Context-based restrictions) network zone, with context set to the VPC. This zone is used in a CBR rule, which allows traffic to flow only from the landing zone VPCs to specific cloud services. | `string` | `null` | no |
Expand Down
1 change: 1 addition & 0 deletions examples/override-example/override.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"name": "workload-cluster",
"secondary_storage": "300gb.5iops-tier",
"resource_group": "slz-workload-rg",
"operating_system": "REDHAT_8_64",
"use_ibm_cloud_private_api_endpoints": false,
"verify_cluster_network_readiness": false,
"kms_config": {
Expand Down
1 change: 1 addition & 0 deletions patterns/mixed/config.tf
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ locals {
entitlement = var.entitlement
secondary_storage = var.secondary_storage
use_private_endpoint = var.use_private_endpoint
operating_system = "REDHAT_8_64"
verify_worker_network_readiness = var.verify_worker_network_readiness
boot_volume_crk_name = "${var.prefix}-roks-key"
import_default_worker_pool_on_create = false
Expand Down
5 changes: 3 additions & 2 deletions patterns/roks/override.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"resource_group": "slz-management-rg",
"disable_outbound_traffic_protection": false,
"cluster_force_delete_storage": false,
"operating_system": null,
"operating_system": "REDHAT_8_64",
"kms_wait_for_apply": true,
"kms_config": {
"crk_name": "slz-roks-key",
Expand Down Expand Up @@ -53,6 +53,7 @@
"machine_type": "bx2.16x64",
"name": "workload-cluster",
"resource_group": "slz-workload-rg",
"operating_system": "REDHAT_8_64",
"disable_outbound_traffic_protection": false,
"cluster_force_delete_storage": false,
"kms_wait_for_apply": true,
Expand Down Expand Up @@ -222,7 +223,7 @@
],
"security_groups": [],
"service_endpoints": "public-and-private",
"existing_vpc_cbr_zone_id" : null,
"existing_vpc_cbr_zone_id": null,
"ssh_keys": [],
"transit_gateway_connections": [
"management",
Expand Down
Loading