mirror of
https://github.com/Infisical/infisical.git
synced 2026-01-09 15:38:03 -05:00
76 lines
2.1 KiB
Bash
76 lines
2.1 KiB
Bash
#!/bin/sh
|
|
# Export frontend static assets for CDN deployment
|
|
# Usage:
|
|
# npm run assets:export - Output tar to stdout (pipe to file or aws s3)
|
|
# npm run assets:export /path - Extract assets to specified directory
|
|
# npm run assets:export -- --help - Show usage
|
|
|
|
set -e
|
|
|
|
ASSETS_PATH="/backend/frontend-build/assets"
|
|
|
|
show_help() {
|
|
cat << 'EOF'
|
|
Export frontend static assets for CDN deployment.
|
|
|
|
USAGE:
|
|
docker run --rm infisical/infisical npm run --silent assets:export [-- OPTIONS] [PATH]
|
|
|
|
OPTIONS:
|
|
--help, -h Show this help message
|
|
|
|
ARGUMENTS:
|
|
PATH Directory to export assets to. If not provided, outputs
|
|
a tar archive to stdout.
|
|
|
|
NOTE:
|
|
Use --silent flag to suppress npm output when piping to stdout.
|
|
|
|
EXAMPLES:
|
|
# Export as tar to local file
|
|
docker run --rm infisical/infisical npm run --silent assets:export > assets.tar
|
|
|
|
# Extract to local directory
|
|
docker run --rm -v $(pwd)/cdn-assets:/output infisical/infisical npm run --silent assets:export /output
|
|
|
|
EOF
|
|
exit 0
|
|
}
|
|
|
|
# Check for help flag
|
|
case "${1:-}" in
|
|
--help|-h)
|
|
show_help
|
|
;;
|
|
esac
|
|
|
|
# Verify assets exist
|
|
if [ ! -d "$ASSETS_PATH" ]; then
|
|
echo "Error: Assets directory not found at $ASSETS_PATH" >&2
|
|
echo "Make sure the frontend is built and included in the image." >&2
|
|
exit 1
|
|
fi
|
|
|
|
ASSET_COUNT=$(find "$ASSETS_PATH" -type f | wc -l | tr -d ' ')
|
|
|
|
if [ $# -eq 0 ]; then
|
|
# No path provided - output tar to stdout
|
|
echo "Exporting $ASSET_COUNT assets as tar archive to stdout..." >&2
|
|
tar -cf - -C "$(dirname "$ASSETS_PATH")" "$(basename "$ASSETS_PATH")"
|
|
else
|
|
# Path provided - extract to directory
|
|
OUTPUT_PATH="$1"
|
|
|
|
if [ ! -d "$OUTPUT_PATH" ]; then
|
|
echo "Creating output directory: $OUTPUT_PATH" >&2
|
|
mkdir -p "$OUTPUT_PATH"
|
|
fi
|
|
|
|
echo "Exporting $ASSET_COUNT assets to $OUTPUT_PATH..." >&2
|
|
cp -r "$ASSETS_PATH"/* "$OUTPUT_PATH/"
|
|
|
|
echo "✅ Assets exported successfully!" >&2
|
|
echo " Path: $OUTPUT_PATH" >&2
|
|
echo " Files: $ASSET_COUNT assets" >&2
|
|
fi
|