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>
150 lines
3.8 KiB
YAML
150 lines
3.8 KiB
YAML
# Instance name — used to generate resource names (devcontainer-{name}, userhome-{name})
|
|
name: ""
|
|
|
|
image:
|
|
repository: ghcr.io/cpfarhood/devcontainer
|
|
tag: latest
|
|
pullPolicy: Always
|
|
|
|
# GitHub repository to clone into /workspace
|
|
githubRepo: ""
|
|
|
|
# IDE to launch inside the container.
|
|
# Options:
|
|
# vscode — VSCode via VNC browser UI on port 5800 (default)
|
|
# antigravity — Google Antigravity (VSCode fork) via VNC on port 5800
|
|
# none — no IDE; useful when ssh: true is the sole access method
|
|
ide: vscode
|
|
|
|
# Start an OpenSSH server on port 22 in addition to the IDE.
|
|
# Set SSH_AUTHORIZED_KEYS in the env secret to allow key-based login.
|
|
ssh: false
|
|
|
|
# Happy Coder endpoints
|
|
happyServerUrl: "https://happy.farh.net"
|
|
happyWebappUrl: "https://happy-coder.farh.net"
|
|
happyHomeDir: "/config/userdata/.happy"
|
|
happyExperimental: "true"
|
|
|
|
# VNC display
|
|
display:
|
|
width: "1920"
|
|
height: "1080"
|
|
|
|
# Set to "0" when TLS is terminated at the gateway layer
|
|
secureConnection: "0"
|
|
|
|
userId: "1000"
|
|
groupId: "1000"
|
|
|
|
storage:
|
|
size: 32Gi
|
|
className: ceph-filesystem
|
|
|
|
# Shared memory size — mounted at /dev/shm as a memory-backed emptyDir.
|
|
# Electron apps (Antigravity, Chrome) use /dev/shm for GPU/IPC buffers.
|
|
shm:
|
|
sizeLimit: 2Gi
|
|
|
|
resources:
|
|
requests:
|
|
memory: "2Gi"
|
|
cpu: "1000m"
|
|
limits:
|
|
memory: "8Gi"
|
|
cpu: "4000m"
|
|
|
|
# Kubernetes cluster access granted to the devcontainer pod via RBAC.
|
|
# Options:
|
|
# none — no cluster access (default)
|
|
# readonlyns — get/list/watch all resources in the release namespace
|
|
# readwritens — full access to all resources in the release namespace
|
|
# readonly — get/list/watch all resources cluster-wide
|
|
# readwrite — full access to all resources cluster-wide
|
|
clusterAccess: none
|
|
|
|
# Name of existing Secret containing env vars (GITHUB_TOKEN, VNC_PASSWORD, etc.)
|
|
# Defaults to: devcontainer-{name}-secrets-env
|
|
envSecretName: ""
|
|
|
|
# MCP server sidecars — run alongside the devcontainer to inherit pod RBAC.
|
|
mcpSidecars:
|
|
kubernetes:
|
|
enabled: true
|
|
image:
|
|
repository: quay.io/containers/kubernetes_mcp_server
|
|
tag: v0.0.57 # Pinned version (Jan 27, 2025) with token exchange and field selector support
|
|
port: 8080
|
|
resources:
|
|
requests:
|
|
memory: "64Mi"
|
|
cpu: "50m"
|
|
limits:
|
|
memory: "256Mi"
|
|
cpu: "500m"
|
|
flux:
|
|
enabled: true
|
|
image:
|
|
repository: ghcr.io/controlplaneio-fluxcd/flux-operator-mcp
|
|
tag: v0.41.1
|
|
port: 8081
|
|
resources:
|
|
requests:
|
|
memory: "64Mi"
|
|
cpu: "50m"
|
|
limits:
|
|
memory: "256Mi"
|
|
cpu: "500m"
|
|
homeassistant:
|
|
enabled: false # Disabled by default, requires HOMEASSISTANT_URL and HOMEASSISTANT_TOKEN
|
|
image:
|
|
repository: ghcr.io/homeassistant-ai/ha-mcp
|
|
tag: stable
|
|
port: 8087
|
|
resources:
|
|
requests:
|
|
memory: "64Mi"
|
|
cpu: "50m"
|
|
limits:
|
|
memory: "256Mi"
|
|
cpu: "500m"
|
|
github:
|
|
enabled: false # DISABLED: GitHub MCP server has been archived, image doesn't exist
|
|
image:
|
|
repository: ghcr.io/modelcontextprotocol/servers/github
|
|
tag: latest # Update to specific version once available
|
|
port: 8088
|
|
resources:
|
|
requests:
|
|
memory: "64Mi"
|
|
cpu: "50m"
|
|
limits:
|
|
memory: "256Mi"
|
|
cpu: "500m"
|
|
pgtuner:
|
|
enabled: false # Disabled by default, requires DATABASE_URI in secrets
|
|
image:
|
|
repository: dog830228/pgtuner_mcp
|
|
tag: latest
|
|
port: 8085
|
|
resources:
|
|
requests:
|
|
memory: "64Mi"
|
|
cpu: "50m"
|
|
limits:
|
|
memory: "256Mi"
|
|
cpu: "500m"
|
|
playwright:
|
|
enabled: true # Enabled by default for browser automation
|
|
image:
|
|
repository: microsoft/playwright-mcp
|
|
tag: latest
|
|
port: 8086
|
|
resources:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "512Mi"
|
|
cpu: "1000m"
|