Overview
FireboltEngineClass is an optional namespaced resource that holds reusable FireboltEngine settings: a pod-template fragment plus defaults for storage, customEngineConfig, rollout, drainCheckEnabled, drainCheckInterval, and autoStop. Engines in the same namespace reference it through spec.engineClassRef so scheduling, identity, sidecars, engine image, storage, engine config, and rollout and auto-stop policy stay consistent without duplicating YAML on every engine.
Each inherited field resolves the engine value first, then the class value, then the Firebolt Operator’s default. An engine that sets a field owns it. The class fills it in otherwise.
The pattern echoes known Kubernetes patterns like StorageClass or GatewayClass in the “shared template referenced by name”
sense, but FireboltEngineClass is namespaced rather than cluster-scoped.
Multiple classes can exist per namespace. The engine picks one by name. Usage is optional. The
FireboltEngineClass design documents the merge precedence
with FireboltEngine.spec.template, deletion, and rollout behavior when a class changes.
For the allowlist of user-settable vs. operator-owned template fields, see the FireboltEngineClass CRD reference.
Inspecting status
Examples
Create a FireboltEngineClass
TheFireboltEngineClass can hold shared pod-level properties for engines in the same namespace.
Create a FireboltEngine
TheFireboltEngine can reference a FireboltEngineClass through spec.engineClassRef.
Additional resources
See the FireboltEngineClass CRD reference for the full field surface. Seefirebolt-engine-class.yaml, instance-with-engines.yaml.