126 lines
3.6 KiB
Makefile
126 lines
3.6 KiB
Makefile
set fallback := true
|
|
|
|
export ENV_FILE := ".env.local"
|
|
export K8S_CONTEXT := env("K8S_CONTEXT", "")
|
|
export K8S_MASTER_NODE_NAME := env("K8S_MASTER_NODE_NAME", "")
|
|
export SERVER_IP := env("SERVER_IP", "")
|
|
export AGENT_IP := env("AGENT_IP", "")
|
|
|
|
check:
|
|
#!/bin/bash
|
|
set -euo pipefail
|
|
if [ -z "${K8S_CONTEXT}" ]; then
|
|
echo "K8S_CONTEXT is not set. Please execute 'just env::setup'" >&2
|
|
exit 1
|
|
fi
|
|
if [ -z "${K8S_MASTER_NODE_NAME}" ]; then
|
|
echo "K8S_MASTER_NODE_NAME is not set. Please execute 'just env::setup'" >&2
|
|
exit 1
|
|
fi
|
|
if [ -z "${SERVER_IP}" ]; then
|
|
echo "SERVER_IP is not set. Please execute 'just env::setup'" >&2
|
|
exit 1
|
|
fi
|
|
if [ -z "${AGENT_IP}" ]; then
|
|
echo "AGENT_IP is not set. Please execute 'just env::setup'" >&2
|
|
exit 1
|
|
fi
|
|
|
|
setup:
|
|
#!/bin/bash
|
|
set -euo pipefail
|
|
if [ -f ../.env.local ]; then
|
|
echo ".env.local already exists." >&2
|
|
if gum confirm "Do you want to overwrite it?"; then
|
|
K8S_CONTEXT=""
|
|
SERVER_IP=""
|
|
AGENT_IP=""
|
|
elif [[ $? -eq 130 ]]; then
|
|
echo "Setup cancelled by user." >&2
|
|
exit 1
|
|
else
|
|
echo "Aborting setup." >&2
|
|
exit 1
|
|
fi
|
|
fi
|
|
while [ -z "${K8S_CONTEXT}" ]; do
|
|
if ! K8S_CONTEXT=$(
|
|
gum input --prompt="Context name: " \
|
|
--width=100 --placeholder="context"
|
|
); then
|
|
echo "Setup cancelled." >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
while [ -z "${K8S_MASTER_NODE_NAME}" ]; do
|
|
if ! K8S_MASTER_NODE_NAME=$(
|
|
gum input --prompt="Master Node Hostname: " \
|
|
--width=100 --placeholder="Master Node Name"
|
|
); then
|
|
echo "Setup cancelled." >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
while [ -z "${SERVER_IP}" ]; do
|
|
if ! SERVER_IP=$(
|
|
gum input --prompt="IP of Server/Master Node: " \
|
|
--width=100 --placeholder="Master Node IP"
|
|
); then
|
|
echo "Setup cancelled." >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
while [ -z "${AGENT_IP}" ]; do
|
|
if ! AGENT_IP=$(
|
|
gum input --prompt="IP of Agent Node: " \
|
|
--width=100 --placeholder="Agent Node IP"
|
|
); then
|
|
echo "Setup cancelled." >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
while [ -z "${METALLB_ADDRESS_RANGE}" ]; do
|
|
if ! METALLB_ADDRESS_RANGE=$(
|
|
gum input --prompt="IP Range for LoadBalancer: " \
|
|
--width=100 --placeholder="[x.x.x.x-y.y.y.y]"
|
|
); then
|
|
echo "Setup cancelled." >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
while [ -z "${CLOUDFLARE_API_TOKEN}" ]; do
|
|
if ! CLOUDFLARE_API_TOKEN=$(
|
|
gum input --prompt="Cloudflare API Token: " \
|
|
--width=100 --placeholder="API Token" --password
|
|
); then
|
|
echo "Setup cancelled." >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
while [ -z "${ACME_EMAIL}" ]; do
|
|
if ! ACME_EMAIL=$(
|
|
gum input --prompt="ACME Email for Cert-Manager: " \
|
|
--width=100 --placeholder="Email"
|
|
); then
|
|
echo "Setup cancelled." >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
while [ -z "${EXTERNAL_DOMAIN}" ]; do
|
|
if ! EXTERNAL_DOMAIN=$(
|
|
gum input --prompt="External Domain: " \
|
|
--width=100 --placeholder="Domain"
|
|
); then
|
|
echo "Setup cancelled." >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo "Generating .env.local file..."
|
|
rm -f ../.env.local
|
|
gomplate -f env.local.gomplate -o ../.env.local
|