Save current BZZZ config-ui state before CHORUS branding update
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
220
scripts/setup-transition.sh
Executable file
220
scripts/setup-transition.sh
Executable file
@@ -0,0 +1,220 @@
|
||||
#!/bin/bash
|
||||
|
||||
# BZZZ Setup Transition Script
|
||||
# This script helps users transition to the new web-based configuration system
|
||||
|
||||
set -e
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Configuration
|
||||
BZZZ_CONFIG_DIR="$HOME/.bzzz"
|
||||
BZZZ_CONFIG_FILE="$BZZZ_CONFIG_DIR/config.yaml"
|
||||
BACKUP_DIR="$BZZZ_CONFIG_DIR/backups"
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
|
||||
echo -e "${BLUE}🐝 BZZZ Setup Transition Script${NC}"
|
||||
echo -e "${BLUE}================================${NC}"
|
||||
echo ""
|
||||
|
||||
# Check if BZZZ is installed
|
||||
check_bzzz_installation() {
|
||||
echo -e "📦 Checking BZZZ installation..."
|
||||
|
||||
if ! command -v bzzz &> /dev/null; then
|
||||
if [ -f "./bzzz" ]; then
|
||||
echo -e "${GREEN}✅ Found BZZZ binary in current directory${NC}"
|
||||
BZZZ_BINARY="./bzzz"
|
||||
elif [ -f "./build/bzzz" ]; then
|
||||
echo -e "${GREEN}✅ Found BZZZ binary in build directory${NC}"
|
||||
BZZZ_BINARY="./build/bzzz"
|
||||
else
|
||||
echo -e "${RED}❌ BZZZ binary not found${NC}"
|
||||
echo -e "Please build BZZZ first: ${YELLOW}make build${NC}"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo -e "${GREEN}✅ BZZZ is installed system-wide${NC}"
|
||||
BZZZ_BINARY="bzzz"
|
||||
fi
|
||||
}
|
||||
|
||||
# Backup existing configuration
|
||||
backup_existing_config() {
|
||||
if [ -f "$BZZZ_CONFIG_FILE" ]; then
|
||||
echo -e "💾 Backing up existing configuration..."
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
cp "$BZZZ_CONFIG_FILE" "$BACKUP_DIR/config_backup_$TIMESTAMP.yaml"
|
||||
echo -e "${GREEN}✅ Configuration backed up to: $BACKUP_DIR/config_backup_$TIMESTAMP.yaml${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⚪ No existing configuration found${NC}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check configuration status
|
||||
check_config_status() {
|
||||
echo -e "🔍 Checking configuration status..."
|
||||
|
||||
if [ -f "$BZZZ_CONFIG_FILE" ]; then
|
||||
echo -e "${GREEN}✅ Configuration file exists: $BZZZ_CONFIG_FILE${NC}"
|
||||
|
||||
# Try to validate the configuration
|
||||
if $BZZZ_BINARY --config-check 2>/dev/null; then
|
||||
echo -e "${GREEN}✅ Configuration is valid${NC}"
|
||||
echo -e "${BLUE}🚀 BZZZ should start normally without setup${NC}"
|
||||
return 0
|
||||
else
|
||||
echo -e "${YELLOW}⚠️ Configuration exists but appears invalid${NC}"
|
||||
echo -e "${BLUE}🔧 BZZZ will start in setup mode${NC}"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
echo -e "${YELLOW}⚪ No configuration file found${NC}"
|
||||
echo -e "${BLUE}🔧 BZZZ will start in setup mode${NC}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Start setup mode
|
||||
start_setup_mode() {
|
||||
echo -e "🌐 Starting BZZZ in setup mode..."
|
||||
echo -e "📍 Setup interface will be available at: ${GREEN}http://localhost:8080${NC}"
|
||||
echo -e "📋 Follow the setup wizard to configure your BZZZ cluster"
|
||||
echo ""
|
||||
echo -e "${YELLOW}Press Ctrl+C to stop the setup server${NC}"
|
||||
echo ""
|
||||
|
||||
# Start BZZZ (it will automatically detect setup is needed)
|
||||
$BZZZ_BINARY
|
||||
}
|
||||
|
||||
# Generate sample configuration
|
||||
generate_sample_config() {
|
||||
echo -e "📄 Generating sample configuration..."
|
||||
|
||||
mkdir -p "$BZZZ_CONFIG_DIR"
|
||||
|
||||
cat > "$BZZZ_CONFIG_FILE" << 'EOF'
|
||||
# BZZZ Configuration File
|
||||
# This is a sample configuration - customize for your environment
|
||||
|
||||
agent:
|
||||
id: "bzzz-agent-sample"
|
||||
capabilities:
|
||||
- "code_generation"
|
||||
- "task_coordination"
|
||||
- "p2p_communication"
|
||||
models:
|
||||
- "llama2:7b"
|
||||
- "codellama:7b"
|
||||
specialization: "general_developer"
|
||||
max_tasks: 5
|
||||
|
||||
github:
|
||||
token_file: "~/.config/bzzz/github_token"
|
||||
assignee: "your-username"
|
||||
rate_limit: true
|
||||
|
||||
p2p:
|
||||
service_tag: "bzzz-peer-discovery"
|
||||
bzzz_topic: "bzzz/coordination/v1"
|
||||
hmmm_topic: "hmmm/meta-discussion/v1"
|
||||
discovery_timeout: "10s"
|
||||
|
||||
logging:
|
||||
level: "info"
|
||||
format: "text"
|
||||
output: "stdout"
|
||||
structured: false
|
||||
|
||||
v2:
|
||||
enabled: true
|
||||
dht:
|
||||
enabled: true
|
||||
bootstrap_peers: []
|
||||
|
||||
security:
|
||||
election_config:
|
||||
heartbeat_timeout: "30s"
|
||||
election_timeout: "60s"
|
||||
minimum_peers: 1
|
||||
audit_logging: true
|
||||
EOF
|
||||
|
||||
echo -e "${GREEN}✅ Sample configuration created: $BZZZ_CONFIG_FILE${NC}"
|
||||
echo -e "${YELLOW}⚠️ Please customize this configuration for your environment${NC}"
|
||||
}
|
||||
|
||||
# Main menu
|
||||
show_menu() {
|
||||
echo -e "What would you like to do?"
|
||||
echo -e "1) ${GREEN}Check configuration status${NC}"
|
||||
echo -e "2) ${BLUE}Start setup mode (web interface)${NC}"
|
||||
echo -e "3) ${YELLOW}Generate sample configuration${NC}"
|
||||
echo -e "4) ${GREEN}Backup existing configuration${NC}"
|
||||
echo -e "5) ${RED}Exit${NC}"
|
||||
echo ""
|
||||
read -p "Enter your choice (1-5): " choice
|
||||
}
|
||||
|
||||
# Process menu choice
|
||||
process_choice() {
|
||||
case $choice in
|
||||
1)
|
||||
check_config_status
|
||||
;;
|
||||
2)
|
||||
start_setup_mode
|
||||
;;
|
||||
3)
|
||||
generate_sample_config
|
||||
;;
|
||||
4)
|
||||
backup_existing_config
|
||||
;;
|
||||
5)
|
||||
echo -e "${GREEN}👋 Goodbye!${NC}"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}❌ Invalid choice. Please enter 1-5.${NC}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Main execution
|
||||
main() {
|
||||
check_bzzz_installation
|
||||
|
||||
echo ""
|
||||
check_config_status
|
||||
config_valid=$?
|
||||
|
||||
echo ""
|
||||
if [ $config_valid -eq 0 ]; then
|
||||
echo -e "${GREEN}🎉 Your BZZZ configuration is ready!${NC}"
|
||||
echo -e "Run ${YELLOW}$BZZZ_BINARY${NC} to start BZZZ normally"
|
||||
else
|
||||
echo -e "${BLUE}🔧 Setup is required${NC}"
|
||||
while true; do
|
||||
echo ""
|
||||
show_menu
|
||||
process_choice
|
||||
|
||||
if [ $choice -eq 5 ]; then
|
||||
break
|
||||
fi
|
||||
|
||||
echo ""
|
||||
read -p "Press Enter to continue..."
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# Run main function
|
||||
main
|
||||
Reference in New Issue
Block a user