60f96fc8da
Add githubRepos list field for cloning multiple repositories into a single dev container with multi-root workspace file generation. Remove the unused dynamic deployment mode (Knative, routing proxy, serverless scripts) to simplify the chart to persistent-only. Fix release workflow cache-to setting that violated the no-cache policy. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
202 lines
5.4 KiB
YAML
202 lines
5.4 KiB
YAML
# =============================================================================
|
|
# BASIC CONFIGURATION
|
|
# =============================================================================
|
|
|
|
# Instance name — used to generate resource names (devcontainer-{name}, userhome-{name})
|
|
name: ""
|
|
|
|
# Container image configuration
|
|
image:
|
|
repository: ghcr.io/cpfarhood/devcontainer
|
|
tag: latest
|
|
pullPolicy: Always
|
|
|
|
# GitHub repository to clone into /workspace
|
|
githubRepo: ""
|
|
|
|
# Multiple GitHub repositories to clone into /workspace (takes precedence over githubRepo)
|
|
# Example:
|
|
# githubRepos:
|
|
# - https://github.com/user/repo1
|
|
# - https://github.com/user/repo2
|
|
githubRepos: []
|
|
|
|
# =============================================================================
|
|
# ACCESS & INTERFACE
|
|
# =============================================================================
|
|
|
|
# IDE configuration
|
|
ide:
|
|
# Options: vscode | antigravity | none
|
|
type: vscode
|
|
|
|
# SSH access configuration
|
|
ssh:
|
|
enabled: false
|
|
|
|
# Web file manager — built-in upload/download via the VNC web interface (port 5800)
|
|
# Uses the base image's WEB_FILE_MANAGER feature (no extra sidecar needed)
|
|
fileManager:
|
|
enabled: false
|
|
# Paths the file manager can access (default: AUTO = mapped volumes)
|
|
# Options: AUTO | ALL | comma-separated list of paths
|
|
allowedPaths: "/workspace,/config"
|
|
# Paths to deny (takes precedence over allowedPaths)
|
|
deniedPaths: ""
|
|
|
|
# VNC display settings
|
|
display:
|
|
width: "1920"
|
|
height: "1080"
|
|
secureConnection: "0" # Set to "1" when TLS is not terminated upstream
|
|
|
|
# User configuration
|
|
user:
|
|
id: "1000"
|
|
groupId: "1000"
|
|
|
|
# =============================================================================
|
|
# INFRASTRUCTURE & RESOURCES
|
|
# =============================================================================
|
|
|
|
# Storage configuration
|
|
storage:
|
|
size: 32Gi
|
|
className: "" # Empty string uses the cluster's default StorageClass (must support ReadWriteMany)
|
|
|
|
# Resource allocation
|
|
resources:
|
|
requests:
|
|
memory: "2Gi"
|
|
cpu: "1000m"
|
|
limits:
|
|
memory: "8Gi"
|
|
cpu: "4000m"
|
|
|
|
# Shared memory for Electron apps (Chrome, Antigravity)
|
|
shm:
|
|
sizeLimit: 2Gi
|
|
|
|
# Kubernetes cluster access via RBAC
|
|
# Options: none | readonlyns | readwritens | readonly | readwrite
|
|
clusterAccess: none
|
|
|
|
# =============================================================================
|
|
# INTEGRATIONS
|
|
# =============================================================================
|
|
|
|
# MCP (Model Context Protocol) server sidecars
|
|
mcp:
|
|
sidecars:
|
|
# Kubernetes API access
|
|
kubernetes:
|
|
enabled: true
|
|
image:
|
|
repository: quay.io/containers/kubernetes_mcp_server
|
|
tag: v0.0.57
|
|
port: 8080
|
|
resources:
|
|
requests:
|
|
memory: "64Mi"
|
|
cpu: "50m"
|
|
limits:
|
|
memory: "256Mi"
|
|
cpu: "500m"
|
|
|
|
# Flux GitOps operations
|
|
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"
|
|
|
|
|
|
# Helm chart browsing and management
|
|
helm:
|
|
enabled: false
|
|
image:
|
|
repository: ghcr.io/zekker6/mcp-helm
|
|
tag: v1.3.1
|
|
port: 8012
|
|
resources:
|
|
requests:
|
|
memory: "64Mi"
|
|
cpu: "50m"
|
|
limits:
|
|
memory: "256Mi"
|
|
cpu: "500m"
|
|
|
|
# Home Assistant smart home control
|
|
homeassistant:
|
|
enabled: false # Requires HOMEASSISTANT_URL and HOMEASSISTANT_TOKEN
|
|
image:
|
|
repository: ghcr.io/homeassistant-ai/ha-mcp
|
|
tag: "6.7.1"
|
|
port: 8087
|
|
resources:
|
|
requests:
|
|
memory: "64Mi"
|
|
cpu: "50m"
|
|
limits:
|
|
memory: "256Mi"
|
|
cpu: "500m"
|
|
|
|
# PostgreSQL performance tuning
|
|
pgtuner:
|
|
enabled: false # 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"
|
|
|
|
# Browser automation and web testing
|
|
playwright:
|
|
enabled: true
|
|
image:
|
|
repository: mcr.microsoft.com/playwright/mcp
|
|
tag: v0.0.68
|
|
port: 8086
|
|
resources:
|
|
requests:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
limits:
|
|
memory: "512Mi"
|
|
cpu: "1000m"
|
|
|
|
# =============================================================================
|
|
# SMART DEFAULTS & AUTO-DETECTION
|
|
# =============================================================================
|
|
|
|
# Environment auto-detection based on name patterns
|
|
# Automatically adjusts defaults for dev/test/prod/team environments
|
|
autoDetect:
|
|
environment: true # Auto-detect dev/prod/team from name
|
|
storageClass: true # Auto-detect ReadWriteMany storage class
|
|
resources: true # Auto-size resources based on enabled features
|
|
|
|
# Resource profiles (auto-selected based on environment and features)
|
|
# Override specific values above to customize
|
|
resourceProfile: auto # auto | small | medium | large | xlarge
|
|
|
|
# =============================================================================
|
|
# ADVANCED CONFIGURATION
|
|
# =============================================================================
|
|
|
|
# Custom env secret name (defaults to: devcontainer-{name}-secrets-env)
|
|
envSecretName: "" |