Spec reference
ClusterFireboltEngineClass is a cluster-scoped SKU catalog. Engines select it by name through spec.engineClassRef. The Firebolt Operator resolves that name namespaced-first: a FireboltEngineClass in the Engine’s namespace if present, otherwise this cluster object.
The catalog carries only spec.template. Namespaced references (ServiceAccount name, Secret refs, IAM annotations, ConfigMap refs, persistentVolumeClaim volumes, resource claims) and non-template Engine settings (storage, customEngineConfig, rollout, drainCheckEnabled, drainCheckInterval, autoStop, uiSidecar) stay on FireboltEnginePreset, FireboltEngineClass, or the Engine spec.
The operator does not reconcile this object. Cluster admins or a cell manager author it; Engine reconcilers consume it read-only.
A catalog edit to
spec.template reshapes the rendered engine pod, so it rolls a new blue-green generation on every Engine that resolved to this object.
SKU-only fields
The validating webhook and the Engine resolver reject every namespaced reference onspec.template. A cluster-scoped object has no namespace of its own, so such a name would bind to whatever happens to exist in each consuming namespace, and the same catalog entry would render differently per namespace, or not at all:
Firebolt Operator-owned paths on the template are the same as
FireboltEngineClass.spec.template.
Short name: cfirengc.
Deletion
Catalog delete is allowed. Engines that still name the object emit a WarningEngineClassNotFound Event, keep the last applied pods, and retry until the SKU is restored or spec.engineClassRef is cleared or overridden by a namespaced FireboltEngineClass of the same name.