Skip to content

Conversation

sei-awilkey
Copy link
Collaborator

Description of change

Updates crucible application manifests to use a crucible-common library for templating commonly used features.
This first pass introduces the use of the common library for generating kubernetes ingress resources.

In the short term, this change makes the consoleIngress deploy work for the player/vm-api sub-application.
In the long term, the use of a common library will make maintaining charts easier whenever changes are needed to
common components, as the change will often be able to be made only to the underlying common template elements.

Features

  • New crucible-common library chart
  • Ingress resources now created using shared template

Maintenance

  • Upgraded chart versions as needed
  • Cleaned up and added missing content to Chart.yaml files

Bugfix

  • consoleIngress now deploys from player/vm-api`

Testing

To test:
Clone the repository
Choose an app to compare formats
Replace the dependencies stanza in charts/<app>/Chart.yaml with:

dependencies:
  - name: crucible-common
    version: 0.x.x
    repository: "file://../crucible-common"

Run helm dependency build in the app folder, this will build the crucible-common dependency

Write (or use an existing) values.yaml for the app

run from the root of the charts repo:

helm template --name-template=test-deploy --dry-run charts/<app> -f values.yaml --debug -o yaml > common.txt
helm template --name-template=test-deploy --dry-run sei/<app> -f values.yaml --debug -o yaml > old.txt
vimdiff common.txt old.txt

Check that everything matches

If it looks good, may then deploy to a development cluster.

Possible Drawbacks

Requiring a dependency does add another (small) layer of complexity for airgapped/offline installs, but as shown in testing it is possible to replace the dependency source with local files.

@sei-mpriest sei-mpriest marked this pull request as draft May 22, 2025 13:10
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.

1 participant