55c2afaeb1
After repo transfer from cpfarhood to farhoodliquor org, update all references across docs, CI workflows, Makefile, Helm chart configs, and memory files. Closes #56 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9.9 KiB
9.9 KiB
Helm Chart Values Reference
Complete reference for all configurable values in the Antigravity Dev Container Helm chart.
Core Configuration
name
- Type: String
- Default:
"" - Required: Yes
- Description: Instance name used to generate resource names (
devcontainer-{name},userhome-{name}) - Example:
mydev,alice-dev,team-workspace
githubRepo
- Type: String
- Default:
"" - Required: Yes
- Description: GitHub repository URL to clone into
/workspace - Example:
https://github.com/username/repository
ide
- Type: String
- Default:
vscode - Options:
vscode,antigravity,none - Description: IDE to launch inside the container
vscode— VSCode via VNC browser UI on port 5800antigravity— Google Antigravity (VSCode fork) via VNC on port 5800none— No IDE; useful whenssh: trueis the sole access method
ssh
- Type: Boolean
- Default:
false - Description: Start an OpenSSH server on port 22 in addition to the IDE
- Note: Requires
SSH_AUTHORIZED_KEYSin env secret for key-based login
Image Configuration
image.repository
- Type: String
- Default:
ghcr.io/farhoodliquor/devcontainer - Description: Container image repository
image.tag
- Type: String
- Default:
latest - Description: Container image tag
- Best Practice: Use specific version tags for production
image.pullPolicy
- Type: String
- Default:
Always - Options:
Always,IfNotPresent,Never - Description: Image pull policy
Display Configuration
display.width
- Type: String
- Default:
"1920" - Description: VNC display width in pixels
display.height
- Type: String
- Default:
"1080" - Description: VNC display height in pixels
secureConnection
- Type: String
- Default:
"0" - Options:
"0","1" - Description: Set to
"0"when TLS is terminated at the gateway layer
User Configuration
userId
- Type: String
- Default:
"1000" - Description: UID for the app user
groupId
- Type: String
- Default:
"1000" - Description: GID for the app user
Storage Configuration
storage.size
- Type: String
- Default:
32Gi - Description: Size of the persistent home directory
- Format: Kubernetes quantity (e.g.,
10Gi,100Gi,1Ti)
storage.className
- Type: String
- Default:
ceph-filesystem - Description: StorageClass name (must support ReadWriteMany)
- Examples:
ceph-filesystem,nfs-client,efs-sc,azurefile
shm.sizeLimit
- Type: String
- Default:
2Gi - Description:
/dev/shmsize (memory-backed emptyDir for Electron apps)
Resource Limits
resources.requests.memory
- Type: String
- Default:
2Gi - Description: Minimum memory to reserve
- Format: Kubernetes quantity
resources.requests.cpu
- Type: String
- Default:
1000m - Description: Minimum CPU to reserve
- Format: Millicores (
1000m= 1 CPU core)
resources.limits.memory
- Type: String
- Default:
8Gi - Description: Maximum memory allowed
- Format: Kubernetes quantity
resources.limits.cpu
- Type: String
- Default:
4000m - Description: Maximum CPU allowed
- Format: Millicores (
4000m= 4 CPU cores)
Kubernetes Access
clusterAccess
- Type: String
- Default:
none - Options:
none— No cluster accessreadonlyns— Read-only access to release namespacereadwritens— Full access to release namespacereadonly— Read-only access cluster-widereadwrite— Full access cluster-wide
- Description: RBAC permissions for the pod's ServiceAccount
Secrets
envSecretName
- Type: String
- Default:
""(auto-generates asdevcontainer-{name}-secrets-env) - Description: Name of existing Secret containing environment variables
- Keys Recognized:
GITHUB_TOKEN— PAT for private repo accessVNC_PASSWORD— Password for VNC web UIANTHROPIC_API_KEY— API key for ClaudeSSH_AUTHORIZED_KEYS— Public keys for SSH accesshomeassistant-url— Home Assistant base URL (e.g., http://homeassistant.local:8123)homeassistant-token— Home Assistant long-lived access token
MCP Sidecars
mcpSidecars.kubernetes.enabled
- Type: Boolean
- Default:
true - Description: Enable Kubernetes MCP server sidecar
mcpSidecars.kubernetes.image.repository
- Type: String
- Default:
quay.io/containers/kubernetes_mcp_server - Description: Kubernetes MCP server image
mcpSidecars.kubernetes.image.tag
- Type: String
- Default:
latest - Description: Kubernetes MCP server image tag
mcpSidecars.kubernetes.port
- Type: Integer
- Default:
8080 - Description: Port for Kubernetes MCP server
mcpSidecars.kubernetes.resources
- Type: Object
- Default:
requests: memory: "64Mi" cpu: "50m" limits: memory: "256Mi" cpu: "500m" - Description: Resource limits for Kubernetes MCP sidecar
mcpSidecars.flux.enabled
- Type: Boolean
- Default:
true - Description: Enable Flux MCP server sidecar
mcpSidecars.flux.image.repository
- Type: String
- Default:
ghcr.io/controlplaneio-fluxcd/flux-operator-mcp - Description: Flux MCP server image
mcpSidecars.flux.image.tag
- Type: String
- Default:
v0.41.1 - Description: Flux MCP server image tag
mcpSidecars.flux.port
- Type: Integer
- Default:
8081 - Description: Port for Flux MCP server
mcpSidecars.flux.resources
- Type: Object
- Default:
requests: memory: "64Mi" cpu: "50m" limits: memory: "256Mi" cpu: "500m" - Description: Resource limits for Flux MCP sidecar
mcpSidecars.homeassistant.enabled
- Type: Boolean
- Default:
false - Description: Enable Home Assistant MCP server sidecar
- Note: Requires
homeassistant-urlandhomeassistant-tokenin env secret
mcpSidecars.homeassistant.image.repository
- Type: String
- Default:
ghcr.io/homeassistant-ai/ha-mcp - Description: Home Assistant MCP server image
mcpSidecars.homeassistant.image.tag
- Type: String
- Default:
stable - Description: Home Assistant MCP server image tag
- Options:
stable(recommended),latest(dev builds),v{version}(specific version)
mcpSidecars.homeassistant.port
- Type: Integer
- Default:
8087 - Description: Port for Home Assistant MCP server (SSE mode)
mcpSidecars.homeassistant.resources
- Type: Object
- Default:
requests: memory: "64Mi" cpu: "50m" limits: memory: "256Mi" cpu: "500m" - Description: Resource limits for Home Assistant MCP sidecar
Usage Examples
Minimal Configuration
name: mydev
githubRepo: https://github.com/user/repo
Production Configuration
name: prod-workspace
githubRepo: https://github.com/company/application
ide: vscode
ssh: true
image:
tag: v1.0.0
storage:
size: 100Gi
className: ceph-filesystem
resources:
requests:
memory: "4Gi"
cpu: "2000m"
limits:
memory: "16Gi"
cpu: "8000m"
clusterAccess: readwritens
mcpSidecars:
kubernetes:
enabled: true
flux:
enabled: false
Development Team Configuration
name: team-dev
githubRepo: https://github.com/team/project
ide: antigravity
display:
width: "2560"
height: "1440"
storage:
size: 50Gi
className: nfs-client
clusterAccess: readonly
Smart Home Development Configuration
name: smarthome-dev
githubRepo: https://github.com/user/home-automation
ide: vscode
clusterAccess: readwritens
mcpSidecars:
kubernetes:
enabled: true
flux:
enabled: false
homeassistant:
enabled: true
image:
tag: stable
# Requires secrets:
# homeassistant-url: http://homeassistant.local:8123
# homeassistant-token: <long-lived-access-token>
Helm CLI Examples
Using --set Flags
# Basic deployment
helm install mydev ./chart \
--set name=mydev \
--set githubRepo=https://github.com/user/repo
# With multiple values
helm install mydev ./chart \
--set name=mydev \
--set githubRepo=https://github.com/user/repo \
--set ide=antigravity \
--set storage.size=50Gi \
--set clusterAccess=readwritens \
--set mcpSidecars.flux.enabled=false
Using Values File
Create custom-values.yaml:
name: mydev
githubRepo: https://github.com/user/repo
storage:
size: 50Gi
clusterAccess: readwritens
Deploy:
helm install mydev ./chart -f custom-values.yaml
Combining Methods
helm install mydev ./chart \
-f base-values.yaml \
-f prod-values.yaml \
--set githubRepo=https://github.com/user/repo \
--set image.tag=v2.0.0
Value Precedence
Values are applied in order of precedence (highest to lowest):
--setflags on command line-fvalues files (later files override earlier)chart/values.yamldefaults
Environment Variables
These environment variables are set in the container based on chart values:
| Environment Variable | Source Value | Description |
|---|---|---|
GITHUB_REPO |
githubRepo |
Repository to clone |
GITHUB_TOKEN |
Secret: github-token |
PAT for private repos |
VNC_PASSWORD |
Secret: vnc-password |
VNC access password |
ANTHROPIC_API_KEY |
Secret: anthropic-api-key |
Claude API key |
SSH_AUTHORIZED_KEYS |
Secret: ssh-authorized-keys |
SSH public keys |
DISPLAY_WIDTH |
display.width |
VNC width |
DISPLAY_HEIGHT |
display.height |
VNC height |
SECURE_CONNECTION |
secureConnection |
TLS termination |
USER_ID |
userId |
App user UID |
GROUP_ID |
groupId |
App user GID |
IDE |
ide |
IDE to launch |
SSH |
ssh |
SSH server enabled |