@@ -7,7 +7,6 @@ set -eo pipefail
77
88SCRIPTS_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " > /dev/null 2>&1 && pwd ) "
99ROOT_DIR=" $SCRIPTS_DIR /.."
10- BIN_DIR=" $ROOT_DIR /bin"
1110ACK_GENERATE_OLM=${ACK_GENERATE_OLM:- " false" }
1211
1312source " $SCRIPTS_DIR /lib/common.sh"
@@ -20,13 +19,13 @@ if [[ $ACK_GENERATE_OLM == "true" ]]; then
2019fi
2120
2221if ! k8s_controller_gen_version_equals " $CONTROLLER_TOOLS_VERSION " ; then
23- echo " FATAL: Existing version of controller-gen " ` controller-gen --version` " , required version is $CONTROLLER_TOOLS_VERSION ."
22+ echo " FATAL: Existing version of controller-gen \" $( controller-gen --version) \ " , required version is $CONTROLLER_TOOLS_VERSION ."
2423 echo " FATAL: Please uninstall controller-gen and install the required version with scripts/install-controller-gen.sh."
2524 exit 1
2625fi
2726
2827if ! helm_version_equals_or_greater " $HELM_VERSION " ; then
29- echo " FATAL: Existing version of helm " ` helm version --template=' Version: {{.Version}}' ` " , required version is $HELM_VERSION ."
28+ echo " FATAL: Existing version of helm \" $( helm version --template=' Version: {{.Version}}' ) \ " , required version is $HELM_VERSION ."
3029 echo " FATAL: Please update helm, or uninstall helm and install the required version with scripts/install-helm.sh."
3130 exit 1
3231fi
@@ -103,7 +102,7 @@ if [ $# -ne 1 ]; then
103102 exit 1
104103fi
105104
106- if [ ! -f $ACK_GENERATE_BIN_PATH ]; then
105+ if [ ! -f " $ACK_GENERATE_BIN_PATH " ]; then
107106 if is_installed " ack-generate" ; then
108107 ACK_GENERATE_BIN_PATH=$( which " ack-generate" )
109108 else
153152# default non-release value also helps AWS service teams to develop the
154153# controller without worrying about the version until actual controller
155154# release.
156- pushd $SERVICE_CONTROLLER_SOURCE_PATH 1> /dev/null
157- RELEASE_VERSION=${RELEASE_VERSION:- ` git describe --tags --abbrev=0 2>/ dev/ null || echo $NON_RELEASE_VERSION ` }
155+ pushd " $SERVICE_CONTROLLER_SOURCE_PATH " 1> /dev/null
156+ RELEASE_VERSION=${RELEASE_VERSION:- $( git describe --tags --abbrev=0 2>/ dev/ null || echo $NON_RELEASE_VERSION ) }
158157popd 1> /dev/null
159158
160- if [[ $RELEASE_VERSION != $NON_RELEASE_VERSION ]]; then
159+ if [[ $RELEASE_VERSION != " $NON_RELEASE_VERSION " ]]; then
161160 # validate that release version is in the format vx.y.z , where x,y,z are
162161 # positive real numbers
163162 if ! (echo " $RELEASE_VERSION " | grep -Eq " ^v[0-9]+\.[0-9]+\.[0-9]+$" ); then
@@ -167,7 +166,7 @@ if [[ $RELEASE_VERSION != $NON_RELEASE_VERSION ]]; then
167166fi
168167
169168if [ -z " $AWS_SDK_GO_VERSION " ]; then
170- AWS_SDK_GO_VERSION=$( go list -m -f ' {{ .Version }}' -modfile $SERVICE_CONTROLLER_SOURCE_PATH /go.mod github.com/aws/aws-sdk-go)
169+ AWS_SDK_GO_VERSION=$( go list -m -f ' {{ .Version }}' -modfile " $SERVICE_CONTROLLER_SOURCE_PATH /go.mod" github.com/aws/aws-sdk-go)
171170fi
172171
173172# If there's a generator.yaml in the service's directory and the caller hasn't
@@ -187,60 +186,60 @@ if [ -z "$ACK_METADATA_CONFIG_PATH" ]; then
187186fi
188187
189188helm_output_dir=" $SERVICE_CONTROLLER_SOURCE_PATH /helm"
190- ag_args=" $SERVICE $RELEASE_VERSION -o $SERVICE_CONTROLLER_SOURCE_PATH --template-dirs $TEMPLATES_DIR --aws-sdk-go-version $AWS_SDK_GO_VERSION "
189+ ag_args=( " $SERVICE " " $RELEASE_VERSION " -o " $SERVICE_CONTROLLER_SOURCE_PATH " --template-dirs " $TEMPLATES_DIR " --aws-sdk-go-version " $AWS_SDK_GO_VERSION " )
191190if [ -n " $ACK_GENERATE_CACHE_DIR " ]; then
192- ag_args=" $ ag_args --cache-dir $ACK_GENERATE_CACHE_DIR "
191+ ag_args=( " ${ ag_args[@]} " --cache-dir " $ACK_GENERATE_CACHE_DIR " )
193192fi
194193if [ -n " $ACK_GENERATE_OUTPUT_PATH " ]; then
195- ag_args=" $ ag_args --output $ACK_GENERATE_OUTPUT_PATH "
194+ ag_args=( " ${ ag_args[@]} " --output " $ACK_GENERATE_OUTPUT_PATH " )
196195 helm_output_dir=" $ACK_GENERATE_OUTPUT_PATH /helm"
197196fi
198197if [ -n " $ACK_GENERATE_CONFIG_PATH " ]; then
199- ag_args=" $ ag_args --generator-config-path $ACK_GENERATE_CONFIG_PATH "
198+ ag_args=( " ${ ag_args[@]} " --generator-config-path " $ACK_GENERATE_CONFIG_PATH " )
200199fi
201200if [ -n " $ACK_METADATA_CONFIG_PATH " ]; then
202- ag_args=" $ ag_args --metadata-config-path $ACK_METADATA_CONFIG_PATH "
201+ ag_args=( " ${ ag_args[@]} " --metadata-config-path " $ACK_METADATA_CONFIG_PATH " )
203202fi
204203if [ -n " $ACK_GENERATE_IMAGE_REPOSITORY " ]; then
205- ag_args=" $ ag_args --image-repository $ACK_GENERATE_IMAGE_REPOSITORY "
204+ ag_args=( " ${ ag_args[@]} " --image-repository " $ACK_GENERATE_IMAGE_REPOSITORY " )
206205fi
207206if [ -n " $ACK_GENERATE_SERVICE_ACCOUNT_NAME " ]; then
208- ag_args=" $ ag_args --service-account-name $ACK_GENERATE_SERVICE_ACCOUNT_NAME "
207+ ag_args=( " ${ ag_args[@]} " --service-account-name " $ACK_GENERATE_SERVICE_ACCOUNT_NAME " )
209208fi
210209
211210echo " Building release artifacts for $SERVICE -$RELEASE_VERSION "
212- $ACK_GENERATE_BIN_PATH release $ ag_args
211+ $ACK_GENERATE_BIN_PATH release " ${ ag_args[@]} "
213212
214- pushd $RUNTIME_DIR /apis/core/$RUNTIME_API_VERSION 1> /dev/null
213+ pushd " $RUNTIME_DIR /apis/core/$RUNTIME_API_VERSION " 1> /dev/null
215214
216215echo " Generating common custom resource definitions"
217- controller-gen crd:allowDangerousTypes=true paths=./... output:crd:artifacts:config=$helm_output_dir /crds
216+ controller-gen crd:allowDangerousTypes=true paths=./... output:crd:artifacts:config=" $helm_output_dir /crds"
218217
219218popd 1> /dev/null
220219
221- pushd $SERVICE_CONTROLLER_SOURCE_PATH /apis/$ACK_GENERATE_API_VERSION 1> /dev/null
220+ pushd " $SERVICE_CONTROLLER_SOURCE_PATH /apis/$ACK_GENERATE_API_VERSION " 1> /dev/null
222221
223222echo " Generating custom resource definitions for $SERVICE "
224- controller-gen crd:allowDangerousTypes=true paths=./... output:crd:artifacts:config=$helm_output_dir /crds
223+ controller-gen crd:allowDangerousTypes=true paths=./... output:crd:artifacts:config=" $helm_output_dir /crds"
225224
226225popd 1> /dev/null
227226
228- pushd $SERVICE_CONTROLLER_SOURCE_PATH /pkg/resource 1> /dev/null
227+ pushd " $SERVICE_CONTROLLER_SOURCE_PATH /pkg/resource" 1> /dev/null
229228
230229echo " Generating RBAC manifests for $SERVICE "
231- controller-gen rbac:roleName=$K8S_RBAC_ROLE_NAME paths=./... output:rbac:artifacts:config=$helm_output_dir /templates
230+ controller-gen rbac:roleName=" $K8S_RBAC_ROLE_NAME " paths=./... output:rbac:artifacts:config=" $helm_output_dir /templates"
232231# controller-gen rbac outputs a ClusterRole definition in a
233232# $config_output_dir/rbac/role.yaml file. We additionally add the ability by
234233# for the user to specify if they want the role to be ClusterRole or Role by specifying installation scope
235234# in the helm values.yaml. We do this by having a custom helm template named _controller-role-kind-patch.yaml
236235# which utilizes the template langauge and adding the auto generated rules to that template.
237- tail -n +7 $helm_output_dir /templates/role.yaml >> $helm_output_dir /templates/_controller-role-kind-patch.yaml
236+ tail -n +7 " $helm_output_dir /templates/role.yaml" >> " $helm_output_dir /templates/_controller-role-kind-patch.yaml"
238237
239238# We have some other standard Role files for a reader and writer role, so here we rename
240239# the `_controller-role-kind-patch.yaml ` file to `cluster-role-controller.yaml`
241240# to better reflect what is in that file.
242- mv $helm_output_dir /templates/_controller-role-kind-patch.yaml $helm_output_dir /templates/cluster-role-controller.yaml
243- rm $helm_output_dir /templates/role.yaml
241+ mv " $helm_output_dir /templates/_controller-role-kind-patch.yaml" " $helm_output_dir /templates/cluster-role-controller.yaml"
242+ rm " $helm_output_dir /templates/role.yaml"
244243
245244popd 1> /dev/null
246245
@@ -250,19 +249,18 @@ if [[ $ACK_GENERATE_OLM == "true" ]]; then
250249 DEFAULT_ACK_GENERATE_OLMCONFIG_PATH=" $SERVICE_CONTROLLER_SOURCE_PATH /olm/olmconfig.yaml"
251250 ACK_GENERATE_OLMCONFIG_PATH=${ACK_GENERATE_OLMCONFIG_PATH:- $DEFAULT_ACK_GENERATE_OLMCONFIG_PATH }
252251
253- ag_olm_args=" $SERVICE $RELEASE_VERSION -o $SERVICE_CONTROLLER_SOURCE_PATH --template-dirs $TEMPLATES_DIR --olm-config $ACK_GENERATE_OLMCONFIG_PATH --aws-sdk-go-version $AWS_SDK_GO_VERSION "
252+ ag_olm_args=( " $SERVICE " " $RELEASE_VERSION " -o " $SERVICE_CONTROLLER_SOURCE_PATH " --template-dirs " $TEMPLATES_DIR " --olm-config " $ACK_GENERATE_OLMCONFIG_PATH " --aws-sdk-go-version " $AWS_SDK_GO_VERSION " )
254253
255254 if [ -n " $ACK_GENERATE_CONFIG_PATH " ]; then
256- ag_olm_args=" $ ag_olm_args --generator-config-path $ACK_GENERATE_CONFIG_PATH "
255+ ag_olm_args=( " ${ ag_olm_args[@]} " --generator-config-path " $ACK_GENERATE_CONFIG_PATH " )
257256 fi
258257 if [ -n " $ACK_GENERATE_IMAGE_REPOSITORY " ]; then
259- ag_olm_args=" $ ag_olm_args --image-repository $ACK_GENERATE_IMAGE_REPOSITORY "
258+ ag_olm_args=( " ${ ag_olm_args[@]} " --image-repository " $ACK_GENERATE_IMAGE_REPOSITORY " )
260259 fi
261260 if [ -n " $ACK_METADATA_CONFIG_PATH " ]; then
262- ag_olm_args=" $ ag_olm_args --metadata-config-path $ACK_METADATA_CONFIG_PATH "
261+ ag_olm_args=( " ${ ag_olm_args[@]} " --metadata-config-path " $ACK_METADATA_CONFIG_PATH " )
263262 fi
264263
265- $ACK_GENERATE_BIN_PATH olm $ag_olm_args
266- $SCRIPTS_DIR /olm-create-bundle.sh " $SERVICE " " $RELEASE_VERSION "
267-
264+ $ACK_GENERATE_BIN_PATH olm " ${ag_olm_args[@]} "
265+ " $SCRIPTS_DIR " /olm-create-bundle.sh " $SERVICE " " $RELEASE_VERSION "
268266fi
0 commit comments