@@ -34,6 +34,11 @@ CABPK_MANAGER_IMAGE="${CABPK_MANAGER_IMAGE:-us.gcr.io/k8s-artifacts-prod/capi-ku
3434CAPI_MANAGER_IMAGE=" ${CAPI_MANAGER_IMAGE:- us.gcr.io/ k8s-artifacts-prod/ cluster-api/ cluster-api-controller: v0.2.1} "
3535CAPV_MANAGER_IMAGE=" ${CAPV_MANAGER_IMAGE:- gcr.io/ cluster-api-provider-vsphere/ release/ manager: latest} "
3636
37+ LOADBALANCER=
38+ AWS_VPC=" ${AWS_VPC:- } "
39+ AWS_REGION=" ${AWS_REGION:- } "
40+ AWS_SUBNET=" ${AWS_SUBNET:- } "
41+
3742# Set the default log levels for the manager containers.
3843CABPK_MANAGER_LOG_LEVEL=" ${CABPK_MANAGER_LOG_LEVEL:- 4} "
3944CAPI_MANAGER_LOG_LEVEL=" ${CAPI_MANAGER_LOG_LEVEL:- 4} "
5257 -f force overwrite of existing files
5358 -h prints this help screen
5459 -i input directory (default ${SRC_DIR} )
60+ -l enables load balancer
5561 -m capv manager image (default "${CAPV_MANAGER_IMAGE} ")
5662 -M capv manager log level (default "${CAPV_MANAGER_LOG_LEVEL} ")
5763 -o output directory (default ${OUT_DIR} )
6066EOF
6167}
6268
63- while getopts ' :b:B:c:dfhi:m :M:o:p:P:' opt; do
69+ while getopts ' :b:B:c:dfhi:lm :M:o:p:P:' opt; do
6470 case " ${opt} " in
6571 b)
6672 CABPK_MANAGER_IMAGE=" ${OPTARG} "
@@ -83,6 +89,9 @@ while getopts ':b:B:c:dfhi:m:M:o:p:P:' opt; do
8389 i)
8490 SRC_DIR=" ${OPTARG} "
8591 ;;
92+ l)
93+ LOADBALANCER=1
94+ ;;
8695 m)
8796 CAPV_MANAGER_IMAGE=" ${OPTARG} "
8897 ;;
@@ -130,6 +139,7 @@ PROVIDER_COMPONENTS_GENERATED_FILE=${OUT_DIR}/provider-components.yaml
130139CLUSTER_GENERATED_FILE=${OUT_DIR} /cluster.yaml
131140CONTROLPLANE_GENERATED_FILE=${OUT_DIR} /controlplane.yaml
132141MACHINEDEPLOYMENT_GENERATED_FILE=${OUT_DIR} /machinedeployment.yaml
142+ LB_GENERATED_FILE=${OUT_DIR} /loadbalancer.yaml
133143
134144ok_file () {
135145 [ -f " ${1} " ] || { echo " ${1} is missing" 1>&2 ; exit 1; }
@@ -185,7 +195,9 @@ record_and_export VSPHERE_NETWORK "${ENV_VAR_REQ}"
185195record_and_export VSPHERE_RESOURCE_POOL ' :-'
186196record_and_export VSPHERE_FOLDER ' :-'
187197record_and_export VSPHERE_TEMPLATE ' :-'
188- record_and_export SSH_AUTHORIZED_KEY ' :-'
198+ record_and_export AWS_VPC ' :-'
199+ record_and_export AWS_SUBNET ' :-'
200+ record_and_export AWS_REGION ' :-'
189201
190202verify_cpu_mem_dsk () {
191203 eval " [[ \$ {${1} -} =~ [[:digit:]]+ ]] || ${1} =\" ${2} \" ; \
@@ -241,10 +253,15 @@ envsubst() {
241253# Generate the addons file.
242254envsubst > " ${ADDONS_GENERATED_FILE} " < " ${SRC_DIR} /addons.yaml"
243255echo " Generated ${ADDONS_GENERATED_FILE} "
244-
245256# Generate cluster resources.
246- kustomize build " ${SRC_DIR} /cluster" | envsubst > " ${CLUSTER_GENERATED_FILE} "
247- echo " Generated ${CLUSTER_GENERATED_FILE} "
257+ if [ ! -z " $LOADBALANCER " ]
258+ then
259+ kustomize build " ${SRC_DIR} /cluster/loadbalancer" | envsubst > " ${CLUSTER_GENERATED_FILE} "
260+ echo " Generated ${CLUSTER_GENERATED_FILE} "
261+ else
262+ kustomize build " ${SRC_DIR} /cluster/base" | envsubst > " ${CLUSTER_GENERATED_FILE} "
263+ echo " Generated ${CLUSTER_GENERATED_FILE} "
264+ fi
248265
249266# Generate controlplane resources.
250267kustomize build " ${SRC_DIR} /controlplane" | envsubst > " ${CONTROLPLANE_GENERATED_FILE} "
@@ -270,7 +287,11 @@ echo "Generated ${COMPONENTS_VSPHERE_GENERATED_FILE}"
270287kustomize build " ${SRC_DIR} /provider-components" | envsubst > " ${PROVIDER_COMPONENTS_GENERATED_FILE} "
271288echo " Generated ${PROVIDER_COMPONENTS_GENERATED_FILE} "
272289echo " WARNING: ${PROVIDER_COMPONENTS_GENERATED_FILE} includes vSphere credentials"
273-
290+ if [ ! -z " $LOADBALANCER " ]
291+ then
292+ envsubst >> " ${PROVIDER_COMPONENTS_GENERATED_FILE} " < " ${SRC_DIR} /loadbalancer.yaml"
293+ echo " Generated loadbalancer resource in ${PROVIDER_COMPONENTS_GENERATED_FILE} "
294+ fi
274295# If running in Docker then ensure the contents of the OUT_DIR have the
275296# the same owner as the volume mounted to the /out directory.
276297[ " ${DOCKER_ENABLED-} " ] && chown -R " $( stat -c ' %u:%g' /out) " " ${OUT_DIR} "
0 commit comments