← Back to PRs

#14460: ops: add Azure VM bootstrap script and Kubernetes manifests

by dzianisv open 2026-02-12 05:28 View on GitHub →
scripts stale size: M
## Summary Adds deployment scripts and manifests to simplify running OpenClaw on Azure VMs and Kubernetes clusters. ### Changes - **VM Bootstrap (`scripts/vm-bootstrap.sh`)**: - A script to set up a fresh Ubuntu/Debian VM (e.g., Azure VM). - Installs prerequisites: Git, Docker, Docker Compose. - Clones the repo (if needed) and invokes existing `docker-setup.sh`. - **Kubernetes Support (`k8s/`)**: - Added standard manifests: `deployment.yaml`, `service.yaml`, `pvc.yaml`, `secret.yaml`. - Added `README.md` with deployment instructions. ### Testing - Syntax checked `scripts/vm-bootstrap.sh` (`bash -n`). - Dry-run validation of Kubernetes manifests (`kubectl apply --dry-run=client`). <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> This PR adds an ops-focused VM bootstrap script (`scripts/vm-bootstrap.sh`) plus a small set of Kubernetes manifests under `k8s/` (Deployment/Service/PVC/Secret) and a README describing how to apply them. The new VM script is intended to prepare a fresh Debian/Ubuntu VM with git + Docker + Compose, clone the repo into `/opt/openclaw` when needed, then invoke the existing `docker-setup.sh` flow. The Kubernetes manifests aim to run the gateway container with a persisted config volume and a token provided via a Secret, exposing ports 18789 (gateway) and 18790 (bridge). <h3>Confidence Score: 3/5</h3> - Moderately safe to merge, but there are a few real bootstrapping/deployment footguns that can cause immediate failures or unexpected versions being deployed. - Changes are isolated to ops scripts/manifests, but the VM bootstrap script’s Compose fallback can fail on common architectures, and both the VM and k8s paths have assumptions that can lead to deploying the wrong code or crash-looping depending on the image build output. - scripts/vm-bootstrap.sh, k8s/deployment.yaml <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> <!-- /greptile_comment -->

Most Similar PRs