54 lines
1.2 KiB
Bash
Executable File
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 "$@" |