76391a8ed0
This commit addresses multiple GitHub issues and adds significant enhancements: 🔧 **Issue #8 - Browser Window Title Fix** - Updated browser window title from "Antigravity Dev Container" to "Dev Container" - Changed APP_NAME in Dockerfile and startup script for consistency 🚀 **Issue #30 - PostgreSQL Tuner MCP Sidecar** - Added PostgreSQL performance tuning MCP sidecar (dog830228/pgtuner_mcp) - Provides AI assistant with database analysis capabilities: - Slow query analysis and optimization suggestions - Index recommendations with HypoPG virtual testing - Table and index bloat detection - Vacuum operation tracking and health scoring - Requires DATABASE_URI in env secret, optional PGTUNER_EXCLUDE_USERIDS - Disabled by default, configurable via mcpSidecars.pgtuner.enabled - Updated CLAUDE.md documentation with full configuration examples 🎭 **Playwright: Centralized Service → Sidecar Conversion** - Converted Playwright from external service to self-contained sidecar - Updated .mcp.json endpoint: cluster service → http://localhost:8086/sse - Added deployment configuration with proper health checks - Enabled by default for immediate browser automation capabilities - Higher resource allocation (512Mi memory, 1 CPU) for browser workloads 📚 **Documentation Updates** - Updated README.md: "Antigravity Dev Container" → "Dev Container" - Added comprehensive MCP sidecars documentation - Updated secret keys table with database-uri and pgtuner-exclude-userids - Added configuration examples for all 6 MCP sidecars: - kubernetes-mcp (enabled) - flux-mcp (enabled) - github-mcp (disabled - archived) - homeassistant-mcp (disabled - needs secrets) - pgtuner-mcp (disabled - needs DATABASE_URI) - playwright-mcp (enabled - browser automation) - Updated CLAUDE.md with complete sidecar reference table - Added Helm deployment examples and troubleshooting 🏗️ **Architecture Improvements** - All MCP sidecars now self-contained within pod - Consistent SSE transport configuration across all sidecars - Proper health checks and resource limits for all services - Simplified deployment with no external service dependencies Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
41 lines
1.2 KiB
Bash
41 lines
1.2 KiB
Bash
#!/bin/bash
|
|
# Start application script for baseimage-gui
|
|
set -e
|
|
|
|
echo "=== Starting Dev Container ==="
|
|
|
|
# Initialize repository and Happy Coder
|
|
/usr/local/bin/init-repo
|
|
|
|
# Get workspace directory
|
|
if [ -f /tmp/workspace-dir ]; then
|
|
WORKSPACE_DIR=$(cat /tmp/workspace-dir)
|
|
else
|
|
WORKSPACE_DIR="/workspace/default"
|
|
fi
|
|
|
|
IDE="${IDE:-vscode}"
|
|
echo "IDE mode: $IDE"
|
|
echo "Workspace: $WORKSPACE_DIR"
|
|
|
|
case "$IDE" in
|
|
antigravity)
|
|
echo "Opening Google Antigravity in: $WORKSPACE_DIR"
|
|
# --no-sandbox is required for Electron apps in Docker (no kernel sandbox available).
|
|
# Explicit --user-data-dir and --extensions-dir pin config to the home PVC so
|
|
# settings and the setup wizard state survive pod restarts.
|
|
exec antigravity --no-sandbox \
|
|
--user-data-dir "$HOME/.config/antigravity" \
|
|
--extensions-dir "$HOME/.antigravity/extensions" \
|
|
--new-window --wait "$WORKSPACE_DIR"
|
|
;;
|
|
none)
|
|
echo "IDE=none: no IDE launched, keeping container alive."
|
|
exec sleep infinity
|
|
;;
|
|
*)
|
|
echo "Opening VSCode in: $WORKSPACE_DIR"
|
|
exec code --new-window --wait "$WORKSPACE_DIR"
|
|
;;
|
|
esac
|