Files
site/flow
2025-04-16 17:57:49 -04:00

54 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# Flows
source ./flows/base
source ./flows/git
source ./flows/packaging
# Vars
BUILD_DIRECTORY="web"
GITEA_ORGANIZATION="agreego"
GITEA_REPOSITORY="site"
env() {
# Check if GITEA_TOKEN is set
if [ -z "$GITEA_TOKEN" ]; then
# If not set, try to get it from kubectl
GITEA_TOKEN=$(kubectl get secret -n cellular gitea-git -o jsonpath='{.data.token}' | base64 --decode)
if [ -z "$GITEA_TOKEN" ]; then
error "GITEA_TOKEN is not set and couldn't be retrieved from kubectl" >&2
return 2 # Handled error
fi
export GITEA_TOKEN
fi
success "Environment variables set"
}
build() {
# Create build directory if it doesn't exist
mkdir -p "$PACKAGE_DIRECTORY"
# Get version
local version
version=$(get-version) || return $?
info "Building site version v$version..."
# Create the tarball
tar -czf "$PACKAGE_DIRECTORY/$GITEA_REPOSITORY.tar.gz" -C "$BUILD_DIRECTORY" . || return 2
success "Build complete"
}
site-usage() {
printf "env\tLoad environment variables from .env file.\n"
printf "build\tBuild the site.\n"
}
site-flow() {
case "$1" in
env) env; return $?;;
build) build; return $?;;
*) return 1 ;;
esac
}
register-flow "site-flow" "site-usage"
dispatch "$@"