Skip to content

Commit e2ba8d2

Browse files
ameer00coderbharathkkb
authored
feat!: Updated ASM terraform module for 1.8 and 1.9 (#895)
* updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module * updated asm module Co-authored-by: coder <[email protected]> Co-authored-by: Bharath KKB <[email protected]>
1 parent 9335262 commit e2ba8d2

File tree

9 files changed

+372
-60
lines changed

9 files changed

+372
-60
lines changed

examples/simple_zonal_with_asm/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ This example illustrates how to create a simple zonal cluster with ASM.
1313
| network | The VPC network to host the cluster in | `any` | n/a | yes |
1414
| project\_id | The project ID to host the cluster in | `any` | n/a | yes |
1515
| region | The region to host the cluster in | `any` | n/a | yes |
16+
| service\_account | The GCP Service Account email address used to deploy ASM. | `string` | `""` | no |
1617
| subnetwork | The subnetwork to host the cluster in | `any` | n/a | yes |
1718
| zones | The zone to host the cluster in (required if is a zonal cluster) | `list(string)` | n/a | yes |
1819

examples/simple_zonal_with_asm/main.tf

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,16 @@ module "gke" {
6767
}
6868

6969
module "asm" {
70-
source = "../../modules/asm"
71-
cluster_name = module.gke.name
72-
cluster_endpoint = module.gke.endpoint
73-
project_id = var.project_id
74-
location = module.gke.location
70+
source = "../../modules/asm"
71+
cluster_name = module.gke.name
72+
cluster_endpoint = module.gke.endpoint
73+
project_id = var.project_id
74+
location = module.gke.location
75+
enable_cluster_roles = true
76+
enable_cluster_labels = true
77+
enable_gcp_apis = true
78+
enable_gcp_iam_roles = true
79+
enable_gcp_components = true
80+
options = ["envoy-access-log"]
81+
outdir = "./${module.gke.name}-outdir"
7582
}

examples/simple_zonal_with_asm/variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,9 @@ variable "ip_range_pods" {
4747
variable "ip_range_services" {
4848
description = "The secondary ip range to use for services"
4949
}
50+
51+
variable "service_account" {
52+
description = "The GCP Service Account email address used to deploy ASM."
53+
type = string
54+
default = ""
55+
}

examples/simple_zonal_with_asm/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@
1515
*/
1616

1717
terraform {
18-
required_version = ">=0.12"
18+
required_version = ">=0.13"
1919
}

modules/asm/README.md

Lines changed: 42 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,79 @@
11
# Terraform Kubernetes Engine ASM Submodule
22

3-
This module installs [Anthos Service Mesh](https://cloud.google.com/service-mesh/docs) (ASM) in a Kubernetes cluster.
3+
This module installs [Anthos Service Mesh](https://cloud.google.com/service-mesh/docs) (ASM) in a Kubernetes Engine (GKE) cluster.
44

5-
Specifically, this module automates installing the ASM Istio Operator on your cluster ([installing ASM](https://cloud.google.com/service-mesh/docs/install))
5+
Specifically, this module automates installing the ASM Istio Operator on your cluster ([installing ASM](https://cloud.google.com/service-mesh/docs/install)).
66

77
## Usage
88

9-
There is a [full example](../../examples/simple_zonal_with_asm) provided. Simple usage is as follows:
9+
There is a [full example](../../examples/simple_zonal_with_asm) provided. Detailed usage example is as follows:
1010

1111
```tf
1212
module "asm" {
13-
source = "terraform-google-modules/kubernetes-engine/google//modules/asm"
13+
source = "terraform-google-modules/kubernetes-engine/google//modules/asm"
1414
15-
project_id = "my-project-id"
16-
cluster_name = "my-cluster-name"
17-
location = module.gke.location
18-
cluster_endpoint = module.gke.endpoint
15+
project_id = "my-project-id"
16+
cluster_name = "my-cluster-name"
17+
location = module.gke.location
18+
cluster_endpoint = module.gke.endpoint
19+
enable_all = false
20+
enable_cluster_roles = true
21+
enable_cluster_labels = false
22+
enable_gcp_apis = false
23+
enable_gcp_iam_roles = true
24+
enable_gcp_components = true
25+
enable_registration = false
26+
managed_control_plane = false
27+
options = ["envoy-access-log,egressgateways"]
28+
custom_overlays = ["./custom_ingress_gateway.yaml"]
29+
skip_validation = true
30+
outdir = "./${module.gke.name}-outdir-${var.asm_version}"
1931
}
2032
```
2133

2234
To deploy this config:
35+
2336
1. Run `terraform apply`
2437

2538
## Requirements
2639

27-
- Anthos Service Mesh [requires](https://cloud.google.com/service-mesh/docs/gke-install-existing-cluster#requirements) an active Anthos license.
40+
- Anthos Service Mesh on GCP no longer requires an active Anthos license. You can use Anthos Service Mesh as a standalone product on GCP (on GKE) or as part of your Anthos subscription for hybrid and multi-cloud architectures.
2841
- GKE cluster must have minimum four nodes.
2942
- Minimum machine type is `e2-standard-4`.
3043
- GKE cluster must be enrolled in a release channel. ASM does not support static version.
3144
- ASM on a private GKE cluster requires adding a firewall rule to open port 15017 if you want to use [automatic sidecar injection](https://cloud.google.com/service-mesh/docs/proxy-injection).
32-
- Only one ASM per Google Cloud project is supported.
33-
45+
- One ASM mesh per Google Cloud project is supported.
3446

3547
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
3648
## Inputs
3749

3850
| Name | Description | Type | Default | Required |
3951
|------|-------------|------|---------|:--------:|
40-
| asm\_dir | Name of directory to keep ASM resource config files. | `string` | `"asm-dir"` | no |
41-
| asm\_version | ASM version to deploy. Available versions are documented in https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages | `string` | `"1.8"` | no |
52+
| asm\_git\_tag | ASM git tag to deploy. This module supports versions `1.8` and `1.9`. You can get the exact `asm_git_tag` by running the command `install_asm --version`. The ASM git tab should be of the form `1.9.3-asm.2+config5`. You can also see all ASM git tags by running `curl https://storage.googleapis.com/csm-artifacts/asm/STABLE_VERSIONS`. You must provide the full and exact git tag. This variable is optional. Leaving it empty (default) will download the latest `install_asm` script for the version provided by the `asm_version` variable. | `string` | `""` | no |
53+
| asm\_version | ASM version to deploy. This module supports versions `1.8` and `1.9`. Available versions are documented in https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages | `string` | `"1.9"` | no |
54+
| ca | Sets CA option. Possible values are `meshca` or `citadel`. Additional documentation on Citadel is available at https://cloud.google.com/service-mesh/docs/scripted-install/gke-install#installation_with_citadel_as_the_ca. | `string` | `"meshca"` | no |
55+
| ca\_certs | Sets CA certificate file paths when `ca` is set to `citadel`. These values must be provided when using Citadel as CA. Additional documentation on Citadel is available at https://cloud.google.com/service-mesh/docs/scripted-install/gke-install#installation_with_citadel_as_the_ca. | `map` | `{}` | no |
4256
| cluster\_endpoint | The GKE cluster endpoint. | `string` | n/a | yes |
4357
| cluster\_name | The unique name to identify the cluster in ASM. | `string` | n/a | yes |
58+
| custom\_overlays | Comma separated list of custom\_overlay file paths. Works with in-cluster control plane only. Additional documentation available at https://cloud.google.com/service-mesh/docs/scripted-install/gke-install#installation_with_an_overlay_file | `list` | `[]` | no |
59+
| enable\_all | Sets `--enable_all` option if true. | `bool` | `false` | no |
60+
| enable\_cluster\_labels | Sets `--enable_cluster_labels` option if true. | `bool` | `false` | no |
61+
| enable\_cluster\_roles | Sets `--enable_cluster_roles` option if true. | `bool` | `false` | no |
62+
| enable\_gcp\_apis | Sets `--enable_gcp_apis` option if true. | `bool` | `false` | no |
63+
| enable\_gcp\_components | Sets --enable\_gcp\_components option if true. Can be true or false. Available versions are documented in https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages | `bool` | `false` | no |
64+
| enable\_gcp\_iam\_roles | Sets `--enable_gcp_iam_roles` option if true. | `bool` | `false` | no |
65+
| enable\_registration | Sets `--enable_registration` option if true. | `bool` | `false` | no |
4466
| gcloud\_sdk\_version | The gcloud sdk version to use. Minimum required version is 293.0.0 | `string` | `"296.0.1"` | no |
67+
| key\_file | The GCP Service Account credentials file path used to deploy ASM. | `string` | `""` | no |
4568
| location | The location (zone or region) this cluster has been created in. | `string` | n/a | yes |
46-
| managed | Whether the control plane should be managed. | `bool` | `false` | no |
69+
| managed\_control\_plane | ASM managed control plane boolean. Determines whether to install ASM managed control plane. Installing ASM managed control plane does not install gateways. Documentation on how to install gateways with ASM MCP can be found at https://cloud.google.com/service-mesh/docs/managed-control-plane#install_istio_gateways_optional. | `bool` | `false` | no |
70+
| mode | ASM mode for deployment. Supported mode is `install` only. | `string` | `"install"` | no |
71+
| options | Comma separated list of options. Works with in-cluster control plane only. Supported options are documented in https://cloud.google.com/service-mesh/docs/enable-optional-features. | `list` | `[]` | no |
72+
| outdir | Sets `--outdir` option. | `string` | `"none"` | no |
4773
| project\_id | The project in which the resource belongs. | `string` | n/a | yes |
74+
| service\_account | The GCP Service Account email address used to deploy ASM. | `string` | `""` | no |
4875
| service\_account\_key\_file | Path to service account key file to auth as for running `gcloud container clusters get-credentials`. | `string` | `""` | no |
76+
| skip\_validation | Sets `_CI_NO_VALIDATE` variable. Determines whether the script should perform validation checks for prerequisites such as IAM roles, Google APIs etc. | `bool` | `false` | no |
4977

5078
## Outputs
5179

modules/asm/main.tf

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,15 @@ data "google_project" "asm_project" {
1919
}
2020

2121
locals {
22-
kubectl_create_command_base = "${path.module}/scripts/install_asm.sh ${var.project_id} ${var.cluster_name} ${var.location} ${var.asm_version}"
22+
options_string = length(var.options) > 0 ? join(",", var.options) : "none"
23+
custom_overlays_string = length(var.custom_overlays) > 0 ? join(",", var.custom_overlays) : "none"
24+
asm_git_tag_string = (var.asm_git_tag == "" ? "none" : var.asm_git_tag)
25+
service_account_string = (var.service_account == "" ? "none" : var.service_account)
26+
key_file_string = (var.key_file == "" ? "none" : var.key_file)
27+
ca_cert = lookup(var.ca_certs, "ca_cert", "none")
28+
ca_key = lookup(var.ca_certs, "ca_key", "none")
29+
root_cert = lookup(var.ca_certs, "root_cert", "none")
30+
cert_chain = lookup(var.ca_certs, "cert_chain", "none")
2331
}
2432

2533
module "asm_install" {
@@ -35,6 +43,6 @@ module "asm_install" {
3543
project_id = var.project_id
3644
service_account_key_file = var.service_account_key_file
3745

38-
kubectl_create_command = var.managed ? "${local.kubectl_create_command_base} ${var.managed}" : local.kubectl_create_command_base
46+
kubectl_create_command = "${path.module}/scripts/install_asm.sh ${var.project_id} ${var.cluster_name} ${var.location} ${var.asm_version} ${var.mode} ${var.managed_control_plane} ${var.skip_validation} ${local.options_string} ${local.custom_overlays_string} ${var.enable_all} ${var.enable_cluster_roles} ${var.enable_cluster_labels} ${var.enable_gcp_apis} ${var.enable_gcp_iam_roles} ${var.enable_gcp_components} ${var.enable_registration} ${var.outdir} ${var.ca} ${local.ca_cert} ${local.ca_key} ${local.root_cert} ${local.cert_chain} ${local.service_account_string} ${local.key_file_string} ${local.asm_git_tag_string}"
3947
kubectl_destroy_command = "kubectl delete ns istio-system"
4048
}

modules/asm/scripts/install_asm.sh

Lines changed: 177 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
set -e
1818

19-
if [ "$#" -lt 4 ]; then
19+
if [ "$#" -lt 5 ]; then
2020
>&2 echo "Not all expected arguments set."
2121
exit 1
2222
fi
@@ -25,31 +25,179 @@ PROJECT_ID=$1
2525
CLUSTER_NAME=$2
2626
CLUSTER_LOCATION=$3
2727
ASM_VERSION=$4
28-
MANAGED=$5
29-
MODE="install"
30-
31-
# Download the correct version of the install_asm script
32-
curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_"${ASM_VERSION}" > install_asm
33-
chmod u+x install_asm
34-
35-
declare -a params=(
36-
"--verbose"
37-
"--project_id ${PROJECT_ID}"
38-
"--cluster_name ${CLUSTER_NAME}"
39-
"--cluster_location ${CLUSTER_LOCATION}"
40-
"--mode ${MODE}"
41-
"--enable_cluster_labels"
42-
"--enable_cluster_roles"
43-
)
44-
45-
# Add the --managed param if MANAGED is set to true
46-
if [[ "${MANAGED}" == true ]]; then
47-
params+=("--managed")
48-
fi
49-
50-
# Run the script with appropriate flags
51-
echo "Running ./install_asm" "${params[@]}"
52-
53-
# Disable shell linting. Other forms will prevent the command to work
54-
# shellcheck disable=SC2046,SC2116
55-
./install_asm $(echo "${params[@]}")
28+
MODE=$5
29+
MCP=$6
30+
SKIP_VALIDATION=$7
31+
OPTIONS_LIST=$8
32+
CUSTOM_OVERLAYS_LIST=$9
33+
ENABLE_ALL=${10}
34+
ENABLE_CLUSTER_ROLES=${11}
35+
ENABLE_CLUSTER_LABELS=${12}
36+
ENABLE_GCP_APIS=${13}
37+
ENABLE_GCP_IAM_ROLES=${14}
38+
ENABLE_GCP_COMPONENTS=${15}
39+
ENABLE_REGISTRATION=${16}
40+
OUTDIR=${17}
41+
CA=${18}
42+
CA_CERT=${19}
43+
CA_KEY=${20}
44+
ROOT_CERT=${21}
45+
CERT_CHAIN=${22}
46+
SERVICE_ACCOUNT=${23}
47+
KEY_FILE=${24}
48+
ASM_GIT_TAG=${25}
49+
50+
# Set SKIP_VALIDATION variable
51+
if [[ ${SKIP_VALIDATION} = "true" ]]; then
52+
export _CI_NO_VALIDATE=1
53+
else
54+
export _CI_NO_VALIDATE=0
55+
fi
56+
57+
# Create bash arrays from options and custom_overlays lists
58+
if [[ ${OPTIONS_LIST} ]]; then
59+
IFS=',' read -r -a OPTIONS <<< "${OPTIONS_LIST}"
60+
elif [[ ${OPTIONS_LIST} = "" ]]; then
61+
read -r -a OPTIONS <<< "none"
62+
fi
63+
64+
if [[ ${CUSTOM_OVERLAYS_LIST} ]]; then
65+
IFS=',' read -r -a CUSTOM_OVERLAYS <<< "${CUSTOM_OVERLAYS_LIST}"
66+
else
67+
read -r -a CUSTOM_OVERLAYS <<< "none"
68+
fi
69+
70+
# Echo all values
71+
echo -e "MODE is $MODE"
72+
echo -e "MCP is $MCP"
73+
echo -e "ASM_VERSION is $ASM_VERSION"
74+
echo -e "ASM_GIT_TAG is $ASM_GIT_TAG"
75+
echo -e "SKIP_VALIDATION is $SKIP_VALIDATION"
76+
echo -e "_CI_NO_VALIDATE is $_CI_NO_VALIDATE"
77+
echo -e "OPTIONS_LIST is ${OPTIONS_LIST}"
78+
echo -e "OPTIONS array length is ${#OPTIONS[@]}"
79+
# Create options command snippet
80+
item="${OPTIONS[*]}";OPTIONS_COMMAND=$(echo "--option" "${item// / --option }")
81+
echo -e "OPTIONS_COMMAND is $OPTIONS_COMMAND"
82+
echo -e "CUSTOM_OVERLAYS array length is ${#CUSTOM_OVERLAYS[@]}"
83+
# Create custom_overlays command snippet
84+
item="${CUSTOM_OVERLAYS[*]}";CUSTOM_OVERLAYS_COMMAND=$(echo "--custom_overlay" "${item// / --custom_overlay }")
85+
echo -e "CUSTOM_OVERLAYS_COMMAND is $CUSTOM_OVERLAYS_COMMAND"
86+
echo -e "ENABLE_ALL is $ENABLE_ALL"
87+
echo -e "ENABLE_CLUSTER_ROLES is $ENABLE_CLUSTER_ROLES"
88+
echo -e "ENABLE_CLUSTER_LABELS is $ENABLE_CLUSTER_LABELS"
89+
echo -e "ENABLE_GCP_APIS is $ENABLE_GCP_APIS"
90+
echo -e "ENABLE_GCP_IAM_ROLES is $ENABLE_GCP_IAM_ROLES"
91+
echo -e "ENABLE_GCP_COMPONENTS is $ENABLE_GCP_COMPONENTS"
92+
echo -e "ENABLE_REGISTRATION is $ENABLE_REGISTRATION"
93+
echo -e "OUTDIR is $OUTDIR"
94+
echo -e "SERVICE_ACCOUNT is $SERVICE_ACCOUNT"
95+
echo -e "KEY_FILE is $KEY_FILE"
96+
97+
#download the correct version of the install_asm script
98+
if [[ "${ASM_GIT_TAG}" = "none" ]]; then
99+
echo -e "Downloading install_asm with latest git tag..."
100+
curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_"${ASM_VERSION}" > install_asm_"${ASM_VERSION}"
101+
chmod u+x install_asm_"${ASM_VERSION}"
102+
else
103+
ASM_GIT_TAG_FIXED=$(sed 's/+/-/g' <<<"$ASM_GIT_TAG")
104+
echo -e "Downloading install_asm with git tag $ASM_GIT_TAG..."
105+
curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_"${ASM_GIT_TAG_FIXED}" > install_asm_"${ASM_VERSION}"
106+
chmod u+x install_asm_"${ASM_VERSION}"
107+
fi
108+
109+
# Craft MCP section for install_asm
110+
if [[ "${MCP}" = true ]]; then
111+
MCP_COMMAND_SNIPPET="--managed"
112+
else
113+
MCP_COMMAND_SNIPPET=""
114+
fi
115+
116+
# Craft service_account section for install_asm
117+
if [[ "${SERVICE_ACCOUNT}" = "none" ]]; then
118+
SERVICE_ACCOUNT_COMMAND_SNIPPET=""
119+
else
120+
SERVICE_ACCOUNT_COMMAND_SNIPPET="--service_account ${SERVICE_ACCOUNT}"
121+
fi
122+
123+
# Craft key_file section for install_asm
124+
if [[ "${KEY_FILE}" = "none" ]]; then
125+
KEY_FILE_COMMAND_SNIPPET=""
126+
else
127+
KEY_FILE_COMMAND_SNIPPET="--key_file $(pwd)/${KEY_FILE}"
128+
fi
129+
130+
# Craft options section for install_asm
131+
if [[ "${OPTIONS_COMMAND}" = "--option none" ]]; then
132+
OPTIONS_COMMAND_SNIPPET=""
133+
else
134+
OPTIONS_COMMAND_SNIPPET="${OPTIONS_COMMAND}"
135+
fi
136+
137+
if [[ "${CUSTOM_OVERLAYS_COMMAND}" = "--custom_overlay none" ]]; then
138+
CUSTOM_OVERLAYS_COMMAND_SNIPPET=""
139+
else
140+
CUSTOM_OVERLAYS_COMMAND_SNIPPET="${CUSTOM_OVERLAYS_COMMAND}"
141+
fi
142+
143+
if [[ "${ENABLE_ALL}" = false ]]; then
144+
ENABLE_ALL_COMMAND_SNIPPET=""
145+
else
146+
ENABLE_ALL_COMMAND_SNIPPET="--enable_all"
147+
fi
148+
149+
if [[ "${ENABLE_CLUSTER_ROLES}" = false ]]; then
150+
ENABLE_CLUSTER_ROLES_COMMAND_SNIPPET=""
151+
else
152+
ENABLE_CLUSTER_ROLES_COMMAND_SNIPPET="--enable_cluster_roles"
153+
fi
154+
155+
if [[ "${ENABLE_CLUSTER_LABELS}" = false ]]; then
156+
ENABLE_CLUSTER_LABELS_COMMAND_SNIPPET=""
157+
else
158+
ENABLE_CLUSTER_LABELS_COMMAND_SNIPPET="--enable_cluster_labels"
159+
fi
160+
161+
if [[ "${ENABLE_GCP_APIS}" = false ]]; then
162+
ENABLE_GCP_APIS_COMMAND_SNIPPET=""
163+
else
164+
ENABLE_GCP_APIS_COMMAND_SNIPPET="--enable_gcp_apis"
165+
fi
166+
167+
if [[ "${ENABLE_GCP_IAM_ROLES}" = false ]]; then
168+
ENABLE_GCP_IAM_ROLES_COMMAND_SNIPPET=""
169+
else
170+
ENABLE_GCP_IAM_ROLES_COMMAND_SNIPPET="--enable_gcp_iam_roles"
171+
fi
172+
173+
if [[ "${ENABLE_GCP_COMPONENTS}" = false ]]; then
174+
ENABLE_GCP_COMPONENTS_COMMAND_SNIPPET=""
175+
else
176+
ENABLE_GCP_COMPONENTS_COMMAND_SNIPPET="--enable_gcp_components"
177+
fi
178+
179+
if [[ "${ENABLE_REGISTRATION}" = false ]]; then
180+
ENABLE_REGISTRATION_COMMAND_SNIPPET=""
181+
else
182+
ENABLE_REGISTRATION_COMMAND_SNIPPET="--enable_registration"
183+
fi
184+
185+
if [[ "${OUTDIR}" = "none" ]]; then
186+
OUTDIR_COMMAND_SNIPPET=""
187+
else
188+
OUTDIR_COMMAND_SNIPPET="--output_dir ${OUTDIR}"
189+
mkdir -p "${OUTDIR}"
190+
fi
191+
192+
if [[ "${CA}" = "citadel" ]]; then
193+
CA_COMMAND_SNIPPET="--ca citadel --ca_cert ${CA_CERT} --ca_key ${CA_KEY} --root_cert ${ROOT_CERT} --cert_chain ${CERT_CHAIN}"
194+
else
195+
CA_COMMAND_SNIPPET=""
196+
fi
197+
198+
# Echo the command before executing
199+
echo -e "install_asm_${ASM_VERSION} --verbose --project_id ${PROJECT_ID} --cluster_name ${CLUSTER_NAME} --cluster_location ${CLUSTER_LOCATION} --mode ${MODE} ${MCP_COMMAND_SNIPPET} ${OPTIONS_COMMAND_SNIPPET} ${CUSTOM_OVERLAYS_COMMAND_SNIPPET} ${OUTDIR_COMMAND_SNIPPET} ${ENABLE_ALL_COMMAND_SNIPPET} ${ENABLE_CLUSTER_ROLES_COMMAND_SNIPPET} ${ENABLE_CLUSTER_LABELS_COMMAND_SNIPPET} ${ENABLE_GCP_APIS_COMMAND_SNIPPET} ${ENABLE_GCP_IAM_ROLES_COMMAND_SNIPPET} ${ENABLE_GCP_COMPONENTS_COMMAND_SNIPPET} ${ENABLE_REGISTRATION_COMMAND_SNIPPET} ${CA_COMMAND_SNIPPET} ${SERVICE_ACCOUNT_COMMAND_SNIPPET} ${KEY_FILE_COMMAND_SNIPPET}"
200+
201+
# run the script with appropriate flags
202+
# shellcheck disable=SC2086
203+
./install_asm_${ASM_VERSION} --verbose --project_id ${PROJECT_ID} --cluster_name ${CLUSTER_NAME} --cluster_location ${CLUSTER_LOCATION} --mode ${MODE} ${MCP_COMMAND_SNIPPET} ${OPTIONS_COMMAND_SNIPPET} ${CUSTOM_OVERLAYS_COMMAND_SNIPPET} ${OUTDIR_COMMAND_SNIPPET} ${ENABLE_ALL_COMMAND_SNIPPET} ${ENABLE_CLUSTER_ROLES_COMMAND_SNIPPET} ${ENABLE_CLUSTER_LABELS_COMMAND_SNIPPET} ${ENABLE_GCP_APIS_COMMAND_SNIPPET} ${ENABLE_GCP_IAM_ROLES_COMMAND_SNIPPET} ${ENABLE_GCP_COMPONENTS_COMMAND_SNIPPET} ${ENABLE_REGISTRATION_COMMAND_SNIPPET} ${CA_COMMAND_SNIPPET} ${SERVICE_ACCOUNT_COMMAND_SNIPPET} ${KEY_FILE_COMMAND_SNIPPET}

0 commit comments

Comments
 (0)