Spec reference
Pod configuration for the gateway and metadata components lives on a rawPodTemplateSpec
under spec.gateway.template and spec.metadata.template respectively.
They use the same shape as FireboltEngineClass.spec.template. The validating webhook
restricts what users may set on those templates. See
Firebolt Operator-owned fields
and Instance reconciliation.
* Required when the parent field is set.
Firebolt Operator-owned fields on component templates
spec.gateway.template and spec.metadata.template are full
PodTemplateSpec
embeds. The validating webhook (vfireboltinstance.compute.firebolt.io)
walks every template at admission time and rejects user input on
fields the Firebolt Operator manages end-to-end.
The same set of pod-level fields is rejected on both components:
Per-component primary container rejections:
Per-component pass-through (allowed without restriction):
- All pod-level scheduling fields:
nodeSelector,tolerations,affinity,topologySpreadConstraints,priorityClassName. - Pod-level:
securityContext(PodSecurityContext),imagePullSecrets,serviceAccountName, additionalvolumes(names that do not collide with Firebolt Operator-owned volume names). - Additional
containers(sidecars): Appended after the Firebolt Operator-rendered primary container. - Additional
initContainers: Passed through verbatim. - Pod-template
metadata.labelsandmetadata.annotationsoutside thefirebolt.io/reserved prefix.
envoy, metadata) is rejected as a duplicate. The
authoritative rule sets live in
api/v1alpha1/operatorauthority.go
as GatewayPodTemplateRules and MetadataPodTemplateRules.
Instance phases
Status properties
Short name:
fire.