Skip to main content
Version: v0.5.0

CRD reference

Field-by-field reference for the four CRDs of the waas.xorhub.io/v1alpha1 API group:

KindShort namePurpose
WorkspacewsOne user's desktop instance
WorkspaceTemplatewstThe shape of a desktop
WorkspacePolicywspSelf-service envelope per user/group
WorkspaceImagewsiApproved catalog entry
How these pages are produced

They are generated at build time from the JSON Schemas the waas repository publishes under crd-schemas/waas.xorhub.io/ — the same schemas its own CI validates manifests against, with per-field descriptions straight from the API types. The schemas are vendored into this site's repo (crd-schemas/, ref recorded in crd-schemas/WAAS_REF) so the build is offline and reproducible; refreshing them for a new waas release is a one-command sync documented in the site's CONTRIBUTING.

In-cluster protocols: the reference lags the prose

These pages are generated from the last released CRDs (v0.2.0), so WorkspaceTemplate and WorkspaceImage still show ssh among the protocol values and a four-key credentials Secret. On the current platform an in-cluster template declares vnc or kasmvnc (Linux), rdp is reserved for Windows VMs, ssh exists only for remote workspaces, and the credentials Secret carries username/password — Templates and protocols is right until the next release is synced here.

Each page shows the CRD as one annotated YAML manifest:

  • Every field is a real YAML key, with its API documentation as # comments right above it — the same text kubectl explain shows, verbatim from the Go API types.
  • Values are type placeholders: <string>, <int32>, <boolean>, <quantity> (a Kubernetes quantity such as 2, 500m or 4Gi). Enums are spelled out in place (User | Group).
  • Constraints ride on the field line as a trailing comment: # required · min: 0 · default: false.
  • Nested objects fold like folders — click a key (â–¸) to open or close its subtree, or use the Expand all / Collapse all buttons. A collapsed key shows {…} / […].
  • In lists, the - line marks one example element; <key> marks the free keys of a map.