-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate-distribution.sh
More file actions
executable file
·93 lines (78 loc) · 2.37 KB
/
create-distribution.sh
File metadata and controls
executable file
·93 lines (78 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/bin/bash
# Create Distribution Package for Customers
# Packages all necessary files for easy distribution
VERSION="1.0.0"
DIST_NAME="vulnerable-ai-chatbot-v${VERSION}"
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m'
echo ""
echo "========================================"
echo "Creating Distribution Package"
echo "========================================"
echo ""
echo "Version: $VERSION"
echo ""
# Create temp directory
TEMP_DIR=$(mktemp -d)
PACKAGE_DIR="$TEMP_DIR/$DIST_NAME"
mkdir -p "$PACKAGE_DIR"
echo -e "${BLUE}📦 Copying files...${NC}"
# Copy essential files
cp app.py "$PACKAGE_DIR/"
cp Dockerfile "$PACKAGE_DIR/"
cp docker-compose.yml "$PACKAGE_DIR/"
cp requirements.txt "$PACKAGE_DIR/"
cp .env.example "$PACKAGE_DIR/"
cp .dockerignore "$PACKAGE_DIR/"
cp .gitignore "$PACKAGE_DIR/"
cp README.md "$PACKAGE_DIR/"
cp PRISMA_AIRS_CONFIG.md "$PACKAGE_DIR/"
cp test-chatbot.sh "$PACKAGE_DIR/"
cp quick-start.sh "$PACKAGE_DIR/"
# Make scripts executable
chmod +x "$PACKAGE_DIR/test-chatbot.sh"
chmod +x "$PACKAGE_DIR/quick-start.sh"
echo " ✓ Files copied"
# Create archive in current directory
cd "$TEMP_DIR"
echo -e "${BLUE}📦 Creating tar.gz archive...${NC}"
tar -czf "${DIST_NAME}.tar.gz" "$DIST_NAME"
mv "${DIST_NAME}.tar.gz" "$OLDPWD/"
echo " ✓ Created ${DIST_NAME}.tar.gz"
echo -e "${BLUE}📦 Creating zip archive...${NC}"
zip -r "${DIST_NAME}.zip" "$DIST_NAME" > /dev/null 2>&1
mv "${DIST_NAME}.zip" "$OLDPWD/"
echo " ✓ Created ${DIST_NAME}.zip"
# Cleanup
cd "$OLDPWD"
rm -rf "$TEMP_DIR"
# Calculate sizes
TAR_SIZE=$(du -h "${DIST_NAME}.tar.gz" | cut -f1)
ZIP_SIZE=$(du -h "${DIST_NAME}.zip" | cut -f1)
echo ""
echo "========================================"
echo -e "${GREEN}✅ Distribution packages created!${NC}"
echo "========================================"
echo ""
echo "Files created:"
echo " • ${DIST_NAME}.tar.gz ($TAR_SIZE)"
echo " • ${DIST_NAME}.zip ($ZIP_SIZE)"
echo ""
echo "Package contents:"
echo " • Application code (app.py)"
echo " • Docker configuration"
echo " • Documentation (README.md)"
echo " • Prisma AIRS setup guide"
echo " • Quick start scripts"
echo " • Test suite"
echo ""
echo "📧 Share with customers:"
echo " tar: ${DIST_NAME}.tar.gz"
echo " zip: ${DIST_NAME}.zip"
echo ""
echo "Customer extracts and runs:"
echo " tar -xzf ${DIST_NAME}.tar.gz"
echo " cd $DIST_NAME"
echo " bash quick-start.sh"
echo ""