🦀 CrabGlamp Docs

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

ProtocolKey changes
1Original path layout (/terminal/, /editor/, /revoke)
2/_cg/ namespace, two-nginx architecture, customer web hosting
3GlampHub support (/_cg/glamp/* endpoints)

Upgrading

There is no in-place upgrade. To get a newer image version:

  1. Clone your agent. The clone gets the latest image.
  2. Verify everything works on the clone.
  3. 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:

FeatureMinimum protocol
GlampHub publishingProtocol 3
Customer web hostingProtocol 2
/_cg/ path namespaceProtocol 2

If a feature isn’t available on your agent, the dashboard will tell you. Clone to upgrade.