#!/bin/bash
if [[ "$(git rev-parse --abbrev-ref HEAD)" == "main" ]]; then
    echo "Create a new branch first!"
    exit 1;
fi
CHART_NAME="$1"
REPO_PATH=$(git rev-parse --show-toplevel)

type yq >/dev/null 2>&1 || { echo "yq not found, quitting!"; exit 1; }

if [[ -z "$CHART_NAME" ]]; then
    echo "no chartname given"
    exit 1;
fi

if [[ -d "${REPO_PATH}/charts/${CHART_NAME}" ]]; then
    echo "chart-name already exists"
    exit 1;
fi

cp -r "${REPO_PATH}/skeleton" "${REPO_PATH}/charts/${CHART_NAME}"

yq -i ".name=\"${CHART_NAME}\"" "${REPO_PATH}/charts/${CHART_NAME}/Chart.yaml"
yq -i ".maintainers[0].name=\"$(git config user.name)\""  "${REPO_PATH}/charts/${CHART_NAME}/Chart.yaml"
yq -i ".maintainers[0].email=\"$(git config user.email)\"" "${REPO_PATH}/charts/${CHART_NAME}/Chart.yaml"

echo "Start editing your chart at: ${REPO_PATH}/charts/${CHART_NAME}/"