A resource-agnostic concept page. For working with resources through the CLI, see Reading resources, Changing resources, and Discovering resources & schemas.
The version scheme
Every resource carries anapiVersion, written as group/version:
- Group namespaces a family of related resources (for example,
dns.networking.miloapis.com). - Version identifies which revision of that group’s schema you are using (for example,
v1alpha1).
kind on every resource page’s Identity table.
What “alpha” means
An alpha version — spelledv1alpha1 (or v1alpha) — is an early, evolving revision. Alpha resources are usable and real, but their shape is not yet frozen:
| You can expect | During alpha |
|---|---|
| Fields added, renamed, or removed | Yes |
| Defaults and validation rules changed | Yes |
| Behavior refined between releases | Yes |
| Backward-incompatible changes | Yes, without a version bump |
What’s stable today
The Gateway API resources — Gateway, HTTPRoute, and the rest of thegateway.networking.k8s.io group — are served at stable v1. They follow the open, portable Gateway API specification, so their schema is well established and changes conservatively.
Everything else in this reference is alpha. Check the Identity table on any resource page for its group and version; if the version ends in alpha, treat it as evolving.
Practical advice
- Expect fields to change. For alpha resources, plan to revisit manifests when you upgrade, and re-read the resource page or run
datumctl explainafter an upgrade rather than assuming the schema held. - Check the live schema. The field types and required markers in this reference come from the live API. Confirm them for your environment with Discovering resources & schemas — for example,
datumctl explain dnszones --recursive. - Make changes safely. Use server-side dry runs and diffs before writing, especially against alpha resources whose validation may have shifted. See Safe changes & declarative config.
- Script defensively. When you read resource fields in automation, don’t over-fit to alpha field names or shapes. See Output formats & scripting.
Version is independent of scope. A resource being alpha or stable says nothing about whether it lives in a Project or on the Platform — that’s a separate axis covered under Scopes and Contexts & scoping.
Related
- API conventions — where
apiVersionfits in the shared resource model. - Scopes — the Project/Platform axis, independent of version.
- Field formats & types — how field types and required markers are described (and why they can shift during alpha).
- Validation & safe changes — dry-run and diff before applying against evolving alpha schemas.
- Discovering resources & schemas — confirm the live version and schema with
datumctl explain. - Safe changes & declarative config and Output formats & scripting — apply and script defensively.