Skip to content

Conversation

@chrisburr
Copy link
Member

@chrisburr chrisburr commented Oct 27, 2025

Summary

Add support for installing custom Helm charts (e.g., umbrella charts for extensions) instead of the default diracx chart.

This enables community extensions (like gubbins, lhcbdiracx) to use their own umbrella charts that depend on the base diracx chart while leveraging the run_demo.sh infrastructure.

Changes

  • Add --chart-path command-line option to specify a custom chart directory
  • Default to ${script_dir}/diracx for backward compatibility
  • Update usage documentation with the new option

Note: helm dependency build should be run on the custom chart before calling this script (typically done in CI configuration).

Usage Example

# Use default diracx chart (existing behavior)
./run_demo.sh

# Use a custom umbrella chart (e.g., gubbins-charts)
# (helm dependency build should be run first)
helm dependency build /path/to/gubbins-charts
./run_demo.sh --chart-path /path/to/gubbins-charts

Testing

This will be tested in conjunction with DIRACGrid/diracx#691 which creates the gubbins-charts umbrella chart and updates the CI to use it.

Related PRs

Add support for installing custom Helm charts (e.g., umbrella charts for
extensions) instead of the default diracx chart.

Changes:
- Add --chart-path command-line option to specify a custom chart directory
- Default to ${script_dir}/diracx for backward compatibility
- Update usage documentation with the new option

This enables community extensions (like gubbins, lhcbdiracx) to use their
own umbrella charts that depend on the base diracx chart while leveraging
the run_demo.sh infrastructure.

Note: helm dependency build should be run on the custom chart before calling
this script (typically done in CI configuration).
@chrisburr chrisburr force-pushed the feat/add-chart-path-option branch from dd293b2 to 31c1ce3 Compare October 27, 2025 13:08
@chrisburr chrisburr marked this pull request as ready for review October 27, 2025 13:14
@chaen chaen enabled auto-merge October 27, 2025 13:15
@chrisburr chrisburr disabled auto-merge October 27, 2025 13:18
@chrisburr chrisburr merged commit 3cb22a0 into DIRACGrid:master Oct 27, 2025
2 of 3 checks passed
chrisburr added a commit to chrisburr/diracx that referenced this pull request Oct 27, 2025
Update the gubbins pytest-integration CI to use the gubbins-charts umbrella
chart instead of directly using the diracx chart with value overrides.

Changes:
- Copy gubbins-charts to /tmp/ during CI setup
- Run helm dependency build on gubbins-charts before starting demo
- Add --chart-path argument to run_demo.sh pointing to gubbins-charts
- Simplify gubbins_values.yaml to only contain CI-specific overrides
- Move base gubbins configuration to gubbins-charts/values.yaml

This approach provides better separation of concerns:
- Base configuration lives in gubbins-charts (part of the extension)
- CI-specific overrides remain in gubbins_values.yaml
- Pattern is reusable for other community extensions

Related: DIRACGrid/diracx-charts#186
chrisburr added a commit to chrisburr/diracx that referenced this pull request Oct 27, 2025
Update the gubbins pytest-integration CI to use the gubbins-charts umbrella
chart instead of directly using the diracx chart with value overrides.

Changes:
- Copy gubbins-charts to /tmp/ during CI setup
- Run helm dependency build on gubbins-charts before starting demo
- Add --chart-path argument to run_demo.sh pointing to gubbins-charts
- Simplify gubbins_values.yaml to only contain CI-specific overrides
- Move base gubbins configuration to gubbins-charts/values.yaml

This approach provides better separation of concerns:
- Base configuration lives in gubbins-charts (part of the extension)
- CI-specific overrides remain in gubbins_values.yaml
- Pattern is reusable for other community extensions

Related: DIRACGrid/diracx-charts#186
chrisburr added a commit to chrisburr/diracx that referenced this pull request Oct 27, 2025
Update the gubbins pytest-integration CI to use the gubbins-charts umbrella
chart instead of directly using the diracx chart with value overrides.

Changes:
- Copy gubbins-charts to /tmp/ during CI setup
- Run helm dependency build on gubbins-charts before starting demo
- Add --chart-path argument to run_demo.sh pointing to gubbins-charts
- Simplify gubbins_values.yaml to only contain CI-specific overrides
- Move base gubbins configuration to gubbins-charts/values.yaml

This approach provides better separation of concerns:
- Base configuration lives in gubbins-charts (part of the extension)
- CI-specific overrides remain in gubbins_values.yaml
- Pattern is reusable for other community extensions

Related: DIRACGrid/diracx-charts#186
chrisburr added a commit to chrisburr/diracx that referenced this pull request Oct 28, 2025
Update the gubbins pytest-integration CI to use the gubbins-charts umbrella
chart instead of directly using the diracx chart with value overrides.

Changes:
- Copy gubbins-charts to /tmp/ during CI setup
- Run helm dependency build on gubbins-charts before starting demo
- Add --chart-path argument to run_demo.sh pointing to gubbins-charts
- Simplify gubbins_values.yaml to only contain CI-specific overrides
- Move base gubbins configuration to gubbins-charts/values.yaml

This approach provides better separation of concerns:
- Base configuration lives in gubbins-charts (part of the extension)
- CI-specific overrides remain in gubbins_values.yaml
- Pattern is reusable for other community extensions

Related: DIRACGrid/diracx-charts#186
chrisburr added a commit to chrisburr/diracx that referenced this pull request Oct 28, 2025
Update the gubbins pytest-integration CI to use the gubbins-charts umbrella
chart instead of directly using the diracx chart with value overrides.

Changes:
- Copy gubbins-charts to /tmp/ during CI setup
- Run helm dependency build on gubbins-charts before starting demo
- Add --chart-path argument to run_demo.sh pointing to gubbins-charts
- Simplify gubbins_values.yaml to only contain CI-specific overrides
- Move base gubbins configuration to gubbins-charts/values.yaml

This approach provides better separation of concerns:
- Base configuration lives in gubbins-charts (part of the extension)
- CI-specific overrides remain in gubbins_values.yaml
- Pattern is reusable for other community extensions

Related: DIRACGrid/diracx-charts#186
chrisburr added a commit to chrisburr/diracx that referenced this pull request Oct 28, 2025
Update the gubbins pytest-integration CI to use the gubbins-charts umbrella
chart instead of directly using the diracx chart with value overrides.

Changes:
- Copy gubbins-charts to /tmp/ during CI setup
- Run helm dependency build on gubbins-charts before starting demo
- Add --chart-path argument to run_demo.sh pointing to gubbins-charts
- Simplify gubbins_values.yaml to only contain CI-specific overrides
- Move base gubbins configuration to gubbins-charts/values.yaml

This approach provides better separation of concerns:
- Base configuration lives in gubbins-charts (part of the extension)
- CI-specific overrides remain in gubbins_values.yaml
- Pattern is reusable for other community extensions

Related: DIRACGrid/diracx-charts#186
chaen pushed a commit to DIRACGrid/diracx that referenced this pull request Oct 28, 2025
* feat: add gubbins-charts Helm chart for gubbins extension

Add umbrella Helm chart for the gubbins DiracX extension following the
lhcbdiracx-charts pattern. This chart extends the base diracx chart with
gubbins-specific configuration including:

- Gubbins container image registry configuration
- LollygagDB database setup
- Developer mode enabled for testing
- Example hostname configuration

The chart serves as a tutorial and test example for community extensions.

* feat: adapt gubbins CI to use gubbins-charts

Update the gubbins pytest-integration CI to use the gubbins-charts umbrella
chart instead of directly using the diracx chart with value overrides.

Changes:
- Copy gubbins-charts to /tmp/ during CI setup
- Run helm dependency build on gubbins-charts before starting demo
- Add --chart-path argument to run_demo.sh pointing to gubbins-charts
- Simplify gubbins_values.yaml to only contain CI-specific overrides
- Move base gubbins configuration to gubbins-charts/values.yaml

This approach provides better separation of concerns:
- Base configuration lives in gubbins-charts (part of the extension)
- CI-specific overrides remain in gubbins_values.yaml
- Pattern is reusable for other community extensions

Related: DIRACGrid/diracx-charts#186
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