Operations
Startup behavior
OpenClaw can take time to initialize after image pulls, dependency setup, or profile syncs. The chart checks /healthz for liveness, readiness, and startup so Kubernetes waits for the Gateway process before routing traffic or applying the liveness probe.
Tune openclaw.startupProbe.failureThreshold and openclaw.startupProbe.periodSeconds for slower clusters.
Smoke tests
Run the Helm smoke test after installation or upgrade:
helm test openclaw -n openclaw
The test verifies that the in-cluster Service is discoverable through cluster DNS. When openclaw.httpRoute.enabled=true, it also checks the Teams and generic hook endpoints through the Service ports.
Monitoring
OpenClaw exposes application metrics on the HTTP service at /metrics. Scrape annotations and the metrics Helm test are enabled by default.
openclaw:
monitoring:
tests:
metrics:
enabled: true
The chart also enables ServiceMonitor and Grafana dashboard integration by default, but renders those resources only when the matching CRDs are available.
Backups
Enable openclaw.backupCron to run oc-oras-snapshot as a Kubernetes CronJob. The job mounts the workspace PVC read-only and pushes timestamped snapshots plus the configured latest tag to the OCI repository.
openclaw:
backupCron:
enabled: true
schedule: "0 */6 * * *"
repository: registry.gitlab.com/group/project/openclaw-snapshot
Deleting a release
When the chart manages the workspace PVC, it renders a Helm and Argo CD PreDelete hook that clears PVC finalizers before application deletion. The hook uses the release ServiceAccount with a namespaced Role that can only get and patch the release PVC.
Disable this cleanup job when your platform manages PVC lifecycle separately:
openclaw:
preDeleteHook:
enabled: false