- Add `ide` Helm value with options: vscode, antigravity, ssh
- Dockerfile: install Google Antigravity via apt and openssh-server
- scripts/startapp.sh: branch on IDE env var to launch the right app
- scripts/cont-init-sshd.sh: start sshd as root in SSH mode, set up
authorized_keys from SSH_AUTHORIZED_KEYS env var
- chart/templates/deployment.yaml: pass IDE env var, conditional ports
and probes (HTTP for VNC modes, TCP socket for SSH mode)
- chart/templates/service.yaml: expose port 5800 (VNC) or 22 (SSH)
- chart/values.yaml: add ide field with documentation
- README.md: document IDE choice, fix stale happyHomeDir references
- chart/Chart.yaml: bump to 0.1.5
Closes#10
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Moving it to /workspace (emptyDir) wiped Happy Coder's auth, config,
and state on every pod restart. The daemon also failed to start on boot
because the settings were gone.
Keep HAPPY_HOME_DIR on the home PVC (/home/user/.happy) for persistence.
The stale lock cleanup in init-repo.sh already handles the daemon.state.json.lock
problem that motivated the workspace move.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a clusterAccess value with five levels:
none — no cluster access (default, no RBAC resources created)
readonlyns — Role + RoleBinding: get/list/watch in release namespace
readwritens — Role + RoleBinding: full access in release namespace
readonly — ClusterRole + ClusterRoleBinding: get/list/watch cluster-wide
readwrite — ClusterRole + ClusterRoleBinding: full access cluster-wide
A ServiceAccount is created for the pod whenever access != none and
referenced in the Deployment's serviceAccountName.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The daemon.state.json.lock lives on the home PVC and survives pod
restarts, causing happy daemon start to fail on every reboot. Moving
HAPPY_HOME_DIR to /workspace (emptyDir) means the entire happy state
directory is ephemeral and always clean on startup.
The rm -f in init-repo.sh is kept as a safety net for the within-run
case but is now a no-op on fresh starts.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduces chart/ with deployment, service, and PVC templates driven
by Helm values instead of Kustomize variable substitution. Removes
the flux/ directory which is superseded by the chart.
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>