-
Feature
-
Resolution: Unresolved
-
Major
-
None
-
False
-
-
False
-
0% To Do, 100% In Progress, 0% Done
-
L
Feature Overview (aka. Goal Summary)
Enable users to deploy RHDH instances with pre-configured templates (flavors) for common use cases (Orchestrator, AI) by setting `spec.flavor` in the Backstage CR, eliminating manual configuration for well-known deployment patterns.
See: ADR-Flavors for details
Goals (aka. expected user outcomes)
Primary users: Platform administrators, developers deploying RHDH instances
Functionality delivered:
- Select pre-configured templates via `spec.flavor: "orchestrator"` or `spec.flavor: "ai"`
- Automatic configuration of plugins, app-config, and dependencies for selected flavor
- Fallback to base defaults for unspecified configuration
- Combine flavor defaults with CR spec overrides for customization
Requirements (aka. Acceptance Criteria)
Functional:
- Support `spec.flavor` field in Backstage CR (optional, backward compatible)
- Implement flavor directory resolution: `/default-config/flavors/<flavor>/` → `/default-config/` (fallback)
- Ship initial flavors: `orchestrator`, `ai`
- Complete file override (no merging) when flavor provides a file
- Minimal flavor config - only files differing from base defaults required
Non-functional:
- Existing CRs without flavor field unaffected
- No impact on reconciliation time
- Flavors versioned and shipped with operator releases
- Fallback to base defaults if flavor file missing
Out of Scope
- Custom user-defined flavors (flavors are operator-maintained only)
- More than one flavor applying
- Dynamic flavor discovery from external sources
Customer Considerations
- Flavors maintained by operator team in collaboration with domain SMEs (Orchestrator, AI teams)
- Flavor changes require operator upgrade
- Users can override flavor defaults via CR spec fields
- No migration needed for existing deployments
Documentation Considerations
- Document available flavors and their purpose
- Provide usage examples for each flavor (orchestrator, ai)
- Document flavor file override behavior (best effort for merging)
- Link to base default-config documentation
- Explain combining flavors with CR spec overrides
- Document flavor lifecycle (operator-maintained, versioned with releases)