32 lines
3.6 KiB
Markdown
32 lines
3.6 KiB
Markdown
# OpenShift Cluster Bootstrap
|
|
|
|
This example is a companion setup to the Python script in the parent folder, and is used to bootstrap OpenShift clusters on GCP. Refer to the documentation in the parent folder for usage instructions.
|
|
|
|
<!-- BEGIN TFDOC -->
|
|
## Variables
|
|
|
|
| name | description | type | required | default |
|
|
|---|---|:---: |:---:|:---:|
|
|
| cluster_name | Name used for the cluster and DNS zone. | <code title="">string</code> | ✓ | |
|
|
| disk_encryption_key | Optional CMEK for disk encryption. | <code title="object({ keyring = string location = string name = string project_id = string })">object({...})</code> | ✓ | |
|
|
| domain | Domain name used to derive the DNS zone. | <code title="">string</code> | ✓ | |
|
|
| fs_paths | Filesystem paths for commands and data, supports home path expansion. | <code title="object({ credentials = string config_dir = string openshift_install = string pull_secret = string ssh_key = string })">object({...})</code> | ✓ | |
|
|
| host_project | Shared VPC project and network configuration. | <code title="object({ default_subnet_name = string masters_subnet_name = string project_id = string vpc_name = string workers_subnet_name = string })">object({...})</code> | ✓ | |
|
|
| service_project | Service project configuration. | <code title="object({ project_id = string vpc_name = string })">object({...})</code> | ✓ | |
|
|
| *allowed_ranges* | Ranges that can SSH to the boostrap VM and API endpoint. | <code title="list(any)">list(any)</code> | | <code title="">["10.0.0.0/8"]</code> |
|
|
| *install_config_params* | OpenShift cluster configuration. | <code title="object({ disk_size = number network = object({ cluster = string host_prefix = number machine = string service = string }) proxy = object({ http = string https = string noproxy = string }) })">object({...})</code> | | <code title="{ disk_size = 16 network = { cluster = "10.128.0.0/14" host_prefix = 23 machine = "10.0.0.0/16" service = "172.30.0.0/16" } proxy = null }">...</code> |
|
|
| *post_bootstrap_config* | Name of the service account for the machine operator. Removes bootstrap resources when set. | <code title="object({ machine_op_sa_prefix = string })">object({...})</code> | | <code title="">null</code> |
|
|
| *region* | Region where resources will be created. | <code title="">string</code> | | <code title="">europe-west1</code> |
|
|
| *rhcos_gcp_image* | RHCOS image used. | <code title="">string</code> | | <code title="">projects/rhcos-cloud/global/images/rhcos-47-83-202102090044-0-gcp-x86-64</code> |
|
|
| *tags* | Additional tags for instances. | <code title="list(string)">list(string)</code> | | <code title="">["ssh"]</code> |
|
|
| *zones* | Zones used for instances. | <code title="list(string)">list(string)</code> | | <code title="">["b", "c", "d"]</code> |
|
|
|
|
## Outputs
|
|
|
|
| name | description | sensitive |
|
|
|---|---|:---:|
|
|
| backend-health | Command to monitor API internal backend health. | |
|
|
| bootstrap-ssh | Command to SSH to the bootstrap instance. | |
|
|
| masters-ssh | Command to SSH to the master instances. | |
|
|
<!-- END TFDOC -->
|