#!/bin/bash # # This sample script builds the example as described. It is also used to build the test environment in our lab, # so it should be well tested. # # Make sure it fails immediately, if anything goes wrong set -e # -- ENVironment variables: # CHARTS: The path to the source code # DEST: The path to the build destination # SAMPLE: The directory of the sample # NAME: The name of the sample, used as the .Release.Name # KUBE_CONTEXT: The name of the kube context, used to build this sample depending on where you run it against. You might have different Environments such as lab, dev, qa, prod, demo, local, ... # Check, if we have the source code available if [ ! -d "$CHARTS" ]; then echo "ERROR Building $SAMPLE example: The Charts Sources folder is not set. Please make sure to run this script with the full Source Code available" exit 1 fi if [ ! -d "$DEST" ]; then echo "ERROR Building $SAMPLE example: DEST folder not found." exit 1 fi if [ ! -d "$CHARTS/instance" ]; then echo "ERROR Building $SAMPLE example: Chart Sources in $CHARTS/instance not found. Are you running this script as a subscriber?" exit 1 fi # Set the Variables SAMPLE="generic" NAME="sample-$SAMPLE" # Output what is happening echo "Building $NAME" # Create the manifest mkdir -p $DEST/instance helm template --debug \ --values $SAMPLES/application/empty.yaml \ --values $SAMPLES/environment/$KUBE_CONTEXT.yaml \ --values $SAMPLES/resources/$KUBE_CONTEXT.yaml \ --values $SAMPLES/generic/values.yaml \ $NAME $CHARTS/instance > $DEST/instance/$SAMPLE.yaml