#!/bin/bash

set -e

scripts_path=./$(dirname $0)
eval $($scripts_path/get_paths.sh)

if [ ! -f ${CF_MANIFESTS_DIR}/cf.yml ]; then
  ${CF_RELEASE_DIR}/scripts/generate-bosh-lite-dev-manifest <(echo '{"properties":{"cc":{"default_to_diego_backend":true}}}')
fi

mkdir -p ${DIEGO_MANIFESTS_DIR}

if [ "${SQL_FLAVOR}" = "mysql" ]; then
  sql_option="-s manifest-generation/bosh-lite-stubs/mysql/diego-sql.yml"
else
  sql_option="-s manifest-generation/bosh-lite-stubs/postgres/diego-sql.yml"
fi

if [ ! -d ${USE_VOLDRIVER} ]; then
  voldriver_option="-d manifest-generation/bosh-lite-stubs/experimental/voldriver/drivers.yml"
fi



pushd ${DIEGO_RELEASE_DIR}
	$scripts_path/generate-deployment-manifest \
			-c ${CF_MANIFESTS_DIR}/cf.yml \
			-i manifest-generation/bosh-lite-stubs/iaas-settings.yml \
			-p manifest-generation/bosh-lite-stubs/property-overrides.yml \
			-n manifest-generation/bosh-lite-stubs/instance-count-overrides.yml \
			-x \
			${sql_option} \
			${voldriver_option} \
			-v manifest-generation/bosh-lite-stubs/release-versions.yml \
			"$@" \
			> ${DIEGO_MANIFESTS_DIR}/diego.yml

	tmpdir=$(mktemp -d /tmp/diego-manifest.XXXXX)

	spiff merge \
			manifest-generation/config-from-cf.yml \
			manifest-generation/config-from-cf-internal.yml \
			${CF_MANIFESTS_DIR}/cf.yml \
			> ${tmpdir}/config-from-cf.yml

	$scripts_path/generate-benchmarks-manifest \
			-c ${DIEGO_MANIFESTS_DIR}/diego.yml \
			-p manifest-generation/benchmark-errand-stubs/default_bosh_lite_benchmark_properties.yml \
			-i manifest-generation/bosh-lite-stubs/iaas-settings.yml \
			> ${DIEGO_MANIFESTS_DIR}/diego-benchmarks.yml

	$scripts_path/generate-vizzini-manifest \
			-c ${CF_MANIFESTS_DIR}/cf.yml \
			-p manifest-generation/bosh-lite-stubs/vizzini-properties.yml \
			-i manifest-generation/bosh-lite-stubs/iaas-settings.yml \
			> ${DIEGO_MANIFESTS_DIR}/vizzini.yml
popd

echo "CF Release Manifest at ${CF_MANIFESTS_DIR}/cf.yml"
echo "Diego Release Manifest at ${DIEGO_MANIFESTS_DIR}/diego.yml"
echo "Benchmark-BBS Errand Manifest at ${DIEGO_MANIFESTS_DIR}/diego-benchmarks.yml"
echo "Vizzini Errand Manifest at ${DIEGO_MANIFESTS_DIR}/vizzini.yml"
