Reference
VM Versioning
How agent VM image versions and protocol numbers work, and how to upgrade.
VM Versioning
Every agent runs a specific version of the CrabGlamp container image. There are two version numbers to know about.
Version vs. protocol
Version (semver, e.g. 0.7.0) — The image build number. Tracks every change to the container: new tools, bug fixes, config tweaks. Follows semantic versioning.
Protocol (integer, e.g. 3) — The API contract between the CrabGlamp web app and the container. Only bumps when the way the app talks to the container changes (new path namespaces, new endpoints, changed auth flow).
Check your agent’s version:
cat /opt/crabglamp/version.json
How versioning affects you
Agents are frozen at provisioning time. When you create (or clone) an agent, it gets the current image version. That version never changes — your agent runs the exact same image for its entire lifetime.
This means:
- New CrabGlamp features may require a newer image version.
- Your existing agent won’t break when CrabGlamp ships updates.
- To get the latest image, clone your agent.
Protocol history
| Protocol | Key changes |
|---|---|
| 1 | Original path layout (/terminal/, /editor/, /revoke) |
| 2 | /_cg/ namespace, two-nginx architecture, customer web hosting |
| 3 | GlampHub support (/_cg/glamp/* endpoints) |
Upgrading
There is no in-place upgrade. To get a newer image version:
- Clone your agent. The clone gets the latest image.
- Verify everything works on the clone.
- Destroy the original when you’re satisfied.
Your files, packages, and configs carry over through the clone. The only things that change are the image version, protocol number, and agent-specific environment variables.
Feature requirements
Some features require a minimum protocol version:
| Feature | Minimum protocol |
|---|---|
| GlampHub publishing | Protocol 3 |
| Customer web hosting | Protocol 2 |
/_cg/ path namespace | Protocol 2 |
If a feature isn’t available on your agent, the dashboard will tell you. Clone to upgrade.