API reference overview
This section describes the Momento Valkey Operator custom resources, their fields, and operational behavior. Use kubectl explain against your installed CRDs for the complete schema.
All resources belong to API group and version valkey.gomomento.com/v1alpha1. None define short names, so use the full resource name with kubectl (for example, kubectl get valkeyclusters).
Resources
| Kind | Scope | Who touches it | Purpose |
|---|---|---|---|
ValkeyImage | Cluster | Platform team | Allowlist entry for a permitted Valkey container image. |
ValkeyConfig | Cluster | Platform team | A menu item defining how Valkey nodes are configured (image, resources, settings, platform ACLs), with inheritance via baseRef. |
ValkeyRole | Cluster | Platform team | Reusable set of Valkey ACL command and category permissions, referenced from ACL bindings. |
ValkeyCluster | Namespaced | Product team | The provisioning interface: picks a config from the menu and declares topology, placement, TLS, and per-cluster ACLs. |
ValkeyNode | Namespaced | Operator only (read-only for users) | Operator-internal representation of a single Valkey cluster member. |
| ValkeyMeteringRecord | Namespaced, in the operator namespace | Operator writes; platform team exports/releases | Retained memory usage record for billing. |
For an explanation of why the API is split this way and how the cluster-scoped menu resources implement governance, see Resource model.
Conventions on these pages
- Required:
Yesmeans the API server rejects a manifest that omits the field.Nomeans the field is optional. - Default: the value applied when the field is omitted, where the schema defines one.
—means no default: an omitted optional field is absent. - Validation: constraints the API server enforces at admission: enum values (shown with their exact serialized casing), numeric ranges, length limits, and admission rules (Kubernetes validation expressions) described in plain language. A manifest that violates any of them is rejected on create or update.
- Nested types: object-valued fields are documented in their own sub-sections, with an "Appears in" line listing every field that uses them.
- Field names are the exact serialized names you write in YAML. Casing matters: for example
configRef, notconfigref.