-#!/bin/bash
+#!/bin/sh
#function to provide help
#desc: this function provide help menu
#argument: yaml file
#calling syntax: parse_yaml <yaml_file_name>
-function parse_yaml {
- local prefix=$2
- local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034')
+parse_yaml () {
+ local prefix
+ prefix=$2
+ local s
+ s='[[:space:]]*'
+ local w
+ w='[a-zA-Z0-9_]*'
+ local fs
+ fs=$(echo @|tr @ '\034')
+
sed -ne "s|^\($s\):|\1|" \
-e "s|^\($s\)\($w\)$s:$s[\"']\(.*\)[\"']$s\$|\1$fs\2$fs\3|p" \
-e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $1 |
#parse yaml files
for line in `parse_yaml $filename`
do
- #find all image subtag inside converted values.yaml file's lines
- if echo $line | grep -q $IMAGE_TEXT ; then
- #find imageName inside line
- imageName=`echo $line | awk -F "=" '{print $2}'`
- #remove attional prefix and postfix
- imageNameFinal=`echo "$imageName" | sed -e 's/^"//' -e 's/"$//' `
-
- #check if line contain Version as a subtag in lines if yes then call docker pull with version
- if echo $line | grep -q $IMAGE_VERSION_TEXT ; then
- echo docker pull "$imageNameWithVersion":"$imageNameFinal"
- docker pull $imageNameWithVersion:$imageNameFinal &
- imageNameWithVersion=" "
- else
- #check Version is not in subtag and old scanned value is present then call docker pull without version
- if [ "$imageNameWithVersion" != " " ]; then
- echo docker pull "$imageNameWithVersion"
- docker pull $imageNameWithVersion &
- imageNameWithVersion=$imageNameFinal
+ #skiping commented line
+ if echo "$line" | grep -v '^#' >/dev/null; then
+ #find all image subtag inside converted values.yaml file's lines
+ if echo $line | grep -q $IMAGE_TEXT ; then
+ #find imageName inside line
+ imageName=`echo $line | awk -F "=" '{print $2}'`
+ #remove attional prefix and postfix
+ imageNameFinal=`echo "$imageName" | sed -e 's/^"//' -e 's/"$//' `
+
+ #check if line contain Version as a subtag in lines if yes then call docker pull with version
+ if echo $line | grep -q $IMAGE_VERSION_TEXT ; then
+ echo docker pull "$imageNameWithVersion":"$imageNameFinal"
+ docker pull $imageNameWithVersion:$imageNameFinal &
+ imageNameWithVersion=" "
else
- imageNameWithVersion=$imageNameFinal
+ #check Version is not in subtag and old scanned value is present then call docker pull without version
+ if [ "$imageNameWithVersion" != " " ]; then
+ echo docker pull "$imageNameWithVersion"
+ docker pull $imageNameWithVersion &
+ imageNameWithVersion=$imageNameFinal
+ else
+ imageNameWithVersion=$imageNameFinal
+ fi
fi
fi
-
-
fi
-
-
done
done
# complete processing