Skip to content

feat: add feature-aware values-hub.yaml generator#119

Open
minmzzhang wants to merge 5 commits intovalidatedpatterns:mainfrom
minmzzhang:gen-feature-variants
Open

feat: add feature-aware values-hub.yaml generator#119
minmzzhang wants to merge 5 commits intovalidatedpatterns:mainfrom
minmzzhang:gen-feature-variants

Conversation

@minmzzhang
Copy link
Copy Markdown
Collaborator

@minmzzhang minmzzhang commented Apr 9, 2026

Add a declarative, composable YAML generator using ruamel.yaml for producing values-hub.yaml overrides per deployment scenario.

Features are defined as small YAML fragment files under scripts/features/ with automatic dependency resolution.
Supported scenarios: rhtpa, quay, rhtas, pipelines, storage, and full supply-chain (with registry option 1/2/3).

Usage:
python3 scripts/gen-feature-variants.py --features rhtpa
python3 scripts/gen-feature-variants.py --features supply-chain --registry-option all

P.S. This PR has a dependency on #99 (BYO container registry support).

Add a declarative, composable YAML generator using ruamel.yaml
for producing values-hub.yaml overrides per deployment scenario.

Features are defined as small YAML fragment files under
scripts/features/ with automatic dependency resolution.
Supported scenarios: rhtpa, quay, rhtas, pipelines, storage,
and full supply-chain (with registry option 1/2/3).

Usage:
  python3 scripts/gen-feature-variants.py --features rhtpa
  python3 scripts/gen-feature-variants.py --features supply-chain --registry-option all
Signed-off-by: Min Zhang <minzhang@redhat.com>
Copy link
Copy Markdown
Collaborator

@mlorenzofr mlorenzofr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from the file comments, which are quite self-explanatory, a short README explaining how to prepare the environment and run the script (locally, using virtualenvs, in a container, etc.) might be helpful.

Comment thread scripts/gen-feature-variants.py Outdated
Comment thread scripts/requirements.txt
- Rename _merge_into to merge_into_applications for clarity
  on which section it targets (review: Manuel)
- Strip comments from clusterGroup.namespaces/subscriptions/
  applications in generated output to avoid confusing placement
  of commented-out blocks near merged content; preserve all
  other comments (top-level headers, spire, sharedValueFiles,
  imperative, etc.)
- Add gen-feature-variants.md with environment setup and usage

Signed-off-by: Min Zhang <minzhang@redhat.com>
@minmzzhang
Copy link
Copy Markdown
Collaborator Author

Apart from the file comments, which are quite self-explanatory, a short README explaining how to prepare the environment and run the script (locally, using virtualenvs, in a container, etc.) might be helpful.

Added gen-feature-variants.md.

Copy link
Copy Markdown
Collaborator

@mlorenzofr mlorenzofr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes and tests have worked well. I like it a lot.

LGTM

@minmzzhang minmzzhang force-pushed the gen-feature-variants branch 2 times, most recently from 4f87a27 to 5bc43a4 Compare April 14, 2026 14:18
…efactor

Update feature YAML files and gen-feature-variants script/docs for:
- org -> repository (e.g. "ztvp/qtodo")
- embeddedOCP -> embeddedOpenShift
- Rename option-3-embedded-ocp.yaml -> option-3-embedded-openshift.yaml

Signed-off-by: Min Zhang <minzhang@redhat.com>
@minmzzhang minmzzhang force-pushed the gen-feature-variants branch from 5bc43a4 to d1db2cf Compare April 14, 2026 14:22
Signed-off-by: Min Zhang <minzhang@redhat.com>
Signed-off-by: Min Zhang <minzhang@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants