Skip to main content

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

The FireboltEngineClass can hold shared pod-level properties for engines in the same namespace.
Apply the manifest:

Create a FireboltEngine

The FireboltEngine can reference a FireboltEngineClass through spec.engineClassRef.
Apply the manifest:

Additional resources

See the FireboltEngineClass CRD reference for the full field surface. See firebolt-engine-class.yaml, instance-with-engines.yaml.