1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/bin/bash
- scriptdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
- options="--set global.image.version=someversion --set global.image.pullPolicy=Always"
- hpccchart=$scriptdir/../../helm/hpcc
- failed=0
- helm version
- echo Testing unmodified values file
- helm lint $hpccchart ${options} > results.txt 2> errors.txt
- if [ $? -ne 0 ]
- then
- echo Unmodified failed
- cat errors.txt
- cat results.txt
- failed=1
- fi
- echo Running valid tests...
- for file in $scriptdir/tests/*.yaml
- do
- helm lint $hpccchart ${options} --values $file > results.txt 2> errors.txt
- if [ $? -ne 0 ]
- then
- echo $file failed
- cat errors.txt
- cat results.txt
- failed=1
- fi
- done
- echo Running invalid tests...
- for file in $scriptdir/errtests/*.yaml
- do
- helm lint $hpccchart ${options} --values $file > results.txt 2> errors.txt
- if [ $? -eq 0 ]
- then
- echo $file should have failed
- failed=1
- else
- echo "$file failed - correctly"
- cat results.txt
- fi
- done
- if type kubeval >/dev/null 2> /dev/null; then
- echo Running kubeval...
- helm template $hpccchart ${options} | kubeval --strict - >results.txt 2>errors.txt
- if [ $? -ne 0 ]
- then
- echo $file failed
- cat errors.txt
- cat results.txt
- failed=1
- fi
- fi
- if type kube-score >/dev/null 2> /dev/null; then
- echo Running kube-score...
- # Note we force all replicas to be > 1 as some checks are not done on replicas=1 cases e.g. antiaffinity
- helm template $hpccchart ${options} | sed "s/replicas: 1/replicas: 2/" | kube-score score --output-format ci - >results.txt 2>errors.txt
- if [ $? -ne 0 ]
- then
- echo $file failed
- cat errors.txt
- cat results.txt
- failed=1
- fi
- fi
- exit $failed
|