blob: 0190310cc04570235f83d7bae2c8619d95c80448 [file] [log] [blame]
#!/bin/bash
# Outputs the generated helm configurations after templating.
yaml_output=/tmp/op-hc-yaml-output.txt
error_output=/tmp/op-hc-error-output.txt
section_output=/tmp/op-hc-section-output.yml
vimrc=/tmp/op-hc-vim-rc
rm $yaml_output $error_output $section_output $vimrc &>/dev/null
helm template --debug "$@" . 1> $yaml_output 2> $error_output
if [ $? -gt 0 ]; then
section=`cat $error_output | grep 'Error: YAML parse error on' | cut -d: -f2 | cut -d' ' -f6-`
if [ -n "$section" ]; then
cat $yaml_output | sed -e "0,/\# Source: ${section//\//\\/}/d" | tail -n+2 | sed -e '/---/,$d' > $section_output
line=`cat $error_output | grep line | head -n1 | perl -nle 'm/line (\d+)/; print $1'`
if [ -n "$line" ]; then
echo "autocmd VimEnter * echo '`cat $error_output | grep line | head -n1`'" > $vimrc
vim +$line -u $vimrc $section_output
else
echo
echo "Template error: "
echo
echo ---
cat $section_output
cat $error_output
fi
else
echo
echo "Template error: "
echo
echo ---
cat $yaml_output
cat $error_output
fi
else
cat $yaml_output
echo
echo "Syntax ok"
fi