You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: added support to install required binary jq and kubectl if they do not exist. This can be disabled using the install_required_binaries boolean. NOTE: public access is required to pull the binaries from the internet. The binaries will be placed in /tmp. (#867)
Copy file name to clipboardExpand all lines: README.md
+8-5Lines changed: 8 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,11 +15,12 @@ Optionally, the module supports advanced security group management for the worke
15
15
16
16
### Before you begin
17
17
18
-
- Ensure that you have an up-to-date version of the [IBM Cloud CLI](https://cloud.ibm.com/docs/cli?topic=cli-getting-started).
19
-
- Ensure that you have an up-to-date version of the [IBM Cloud Kubernetes service CLI](https://cloud.ibm.com/docs/containers?topic=containers-kubernetes-service-cli).
20
-
- Ensure that you have an up-to-date version of the [IBM Cloud VPC Infrastructure service CLI](https://cloud.ibm.com/docs/vpc?topic=vpc-vpc-reference). Only required if providing additional security groups with the `var.additional_lb_security_group_ids`.
21
-
- Ensure that you have an up-to-date version of the [jq](https://jqlang.github.io/jq).
22
-
- Ensure that you have an up-to-date version of the [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl).
18
+
- Ensure that you have an up-to-date version of [curl](https://curl.se/docs/manpage.html).
19
+
- Ensure that you have an up-to-date version of [tar](https://www.gnu.org/software/tar/).
20
+
-[OPTIONAL] Ensure that you have an up-to-date version of the [jq](https://jqlang.github.io/jq).
21
+
-[OPTIONAL] Ensure that you have an up-to-date version of the [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl).
22
+
23
+
By default, the module automatically downloads the required dependencies if they are not already installed. You can disable this behavior by setting `install_required_binaries` to `false`. When enabled, the module fetches dependencies from official online binaries (requires public internet).
23
24
24
25
<!-- Below content is automatically populated via pre-commit hook -->
25
26
<!-- BEGIN OVERVIEW HOOK -->
@@ -323,6 +324,7 @@ Optionally, you need the following permissions to attach Access Management tags
| [ibm_container_addons.existing_addons](https://registry.terraform.io/providers/ibm-cloud/ibm/latest/docs/data-sources/container_addons) | data source |
@@ -359,6 +361,7 @@ Optionally, you need the following permissions to attach Access Management tags
359
361
| <a name="input_existing_secrets_manager_instance_crn"></a> [existing\_secrets\_manager\_instance\_crn](#input\_existing\_secrets\_manager\_instance\_crn) | CRN of the Secrets Manager instance where Ingress certificate secrets are stored. If 'enable\_secrets\_manager\_integration' is set to true then this value is required. | `string` | `null` | no |
360
362
| <a name="input_force_delete_storage"></a> [force\_delete\_storage](#input\_force\_delete\_storage) | Flag indicating whether or not to delete attached storage when destroying the cluster - Default: false | `bool` | `false` | no |
361
363
| <a name="input_ignore_worker_pool_size_changes"></a> [ignore\_worker\_pool\_size\_changes](#input\_ignore\_worker\_pool\_size\_changes) | Enable if using worker autoscaling. Stops Terraform managing worker count | `bool` | `false` | no |
364
+
| <a name="input_install_required_binaries"></a> [install\_required\_binaries](#input\_install\_required\_binaries) | When set to true, a script will run to check if `kubectl` and `jq` exist on the runtime and if not attempt to download them from the public internet and install them to /tmp. Set to false to skip running this script. | `bool` | `true` | no |
362
365
| <a name="input_kms_config"></a> [kms\_config](#input\_kms\_config) | Use to attach a KMS instance to the cluster. If account\_id is not provided, defaults to the account in use. | <pre>object({<br/> crk_id = string<br/> instance_id = string<br/> private_endpoint = optional(bool, true) # defaults to true<br/> account_id = optional(string) # To attach KMS instance from another account<br/> wait_for_apply = optional(bool, true) # defaults to true so terraform will wait until the KMS is applied to the master, ready and deployed<br/> })</pre> | `null` | no |
363
366
| <a name="input_manage_all_addons"></a> [manage\_all\_addons](#input\_manage\_all\_addons) | Instructs Terraform to manage all cluster addons, even if addons were installed outside of the module. If set to 'true' this module destroys any addons that were installed by other sources. | `bool` | `false` | no |
364
367
| <a name="input_number_of_lbs"></a> [number\_of\_lbs](#input\_number\_of\_lbs) | The number of LBs to associated the `additional_lb_security_group_names` security group with. | `number` | `1` | no |
| <aname="input_cluster_id"></a> [cluster\_id](#input\_cluster\_id)| The ID of the cluster to deploy the log collection service in. |`string`| n/a | yes |
90
91
| <aname="input_cluster_resource_group_id"></a> [cluster\_resource\_group\_id](#input\_cluster\_resource\_group\_id)| The resource group ID of the cluster. |`string`| n/a | yes |
91
92
| <aname="input_ibmcloud_api_key"></a> [ibmcloud\_api\_key](#input\_ibmcloud\_api\_key)| The IBM Cloud api key to generate an IAM token. |`string`| n/a | yes |
93
+
| <aname="input_install_required_binaries"></a> [install\_required\_binaries](#input\_install\_required\_binaries)| When set to true, a script will run to check if `kubectl` and `jq` exist on the runtime and if not attempt to download them from the public internet and install them to /tmp. Set to false to skip running this script. |`bool`|`true`| no |
92
94
| <aname="input_region"></a> [region](#input\_region)| The IBM Cloud region where the cluster is provisioned. |`string`| n/a | yes |
93
95
| <aname="input_use_private_endpoint"></a> [use\_private\_endpoint](#input\_use\_private\_endpoint)| Set this to true to force all api calls to use the IBM Cloud private endpoints. |`bool`|`false`| no |
94
96
| <aname="input_wait_till"></a> [wait\_till](#input\_wait\_till)| To avoid long wait times when you run your Terraform code, you can specify the stage when you want Terraform to mark the cluster resource creation as completed. Depending on what stage you choose, the cluster creation might not be fully completed and continues to run in the background. However, your Terraform code can continue to run without waiting for the cluster to be fully created. Supported args are `MasterNodeReady`, `OneWorkerNodeReady`, `IngressReady` and `Normal`|`string`|`"IngressReady"`| no |
error_message="The value of the audit webhook listener image version must match the tag and sha256 image digest format"
103
103
}
104
104
}
105
+
106
+
variable"install_required_binaries" {
107
+
type=bool
108
+
default=true
109
+
description="When set to true, a script will run to check if `kubectl` and `jq` exist on the runtime and if not attempt to download them from the public internet and install them to /tmp. Set to false to skip running this script."
0 commit comments