Files
wild-cloud/bin/wild-app-deploy

53 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -e
FORCE=false
# Parse arguments
while [[ $# -gt 0 ]]; do
case $1 in
--force)
FORCE=true
shift
;;
--dry-run)
DRY_RUN="--dry-run=client"
shift
;;
-*)
echo "Unknown option $1"
echo "Usage: $0 <app_name> [--force] [--dry-run]"
exit 1
;;
*)
if [ -z "${APP_NAME}" ]; then
APP_NAME="$1"
else
echo "Too many arguments"
echo "Usage: $0 <app_name> [--force] [--dry-run]"
exit 1
fi
shift
;;
esac
done
if [ -z "${APP_NAME}" ]; then
echo "Usage: $0 <app_name> [--force] [--dry-run]"
exit 1
fi
if [ ! -d "apps/${APP_NAME}" ]; then
echo "Error: App directory 'apps/${APP_NAME}' not found"
exit 1
fi
if [ "${FORCE}" = true ]; then
echo "Force deploying app '${APP_NAME}'"
kubectl replace --force -k "apps/${APP_NAME}" ${DRY_RUN:-}
else
echo "Deploying app '${APP_NAME}'"
kubectl apply -k "apps/${APP_NAME}" ${DRY_RUN:-}
fi