-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publish helm charts to helm chart repository #4
Comments
Signed-off-by: Nigel Jones <nigel.l.jones+git@gmail.com>
The first step of this will publish to github pages Depending on how usable that is, I may then investigate alternatives - be it hosted at the odpi as an output from the build pipeline(s) and/or in future public repos (but not yet) |
#1514 create helm chart repo in github pages
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
2 similar comments
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
Keeping open - we should determine where our Helm charts are published to |
Update June 2021 When testing the postgres connector I wanted to 'package' up the deployment I had created for future re-use, and to act as an interesting sample. This is in addition to the 'odpi-egeria-lab' and 'egeria-base' charts we have, and the 'vdc' chart we used to use. We also have a test chart for postgres testing (not currently used) I figured the 'egeria-base' (or lab) could be a good starting point, to which I just wanted to
I did this manually by installing the egeria-base chart, a postgres chart, then issueing the right REST requests It would be possible to document these steps, or indeed explain how to pull the source for the original chart, make changes & then deploy to k8s, but this loses the attraction of codifying the example for reproducibility (and potentially use for testing). Too many steps, too much scope for error. I can't simply write a new chart for postgres which depends on one of our other charts since at this point:
This means I have quite a specific workflow specific to helm charts. Just the same as base egeria is primarily java (with a little docker), and the k8s operator is in go - those sit best in different repositories so the CI/CD process can be customized to their needs. There are some evolving examples of automation of this form for helm ie https://github.com/marketplace/actions/helm-chart-releaser . This would allow us to publish charts to github pages for direct installation via URL but I note
We are likely to increase the charts we have in future. WHilst work is also underway on an operator, a chart remains a good way to customize further & aggregate - and being able to reuse existing charts make this even easier. Other contributors can add their own examples The options for where to manage the charts might include I would propose we create a new repo 'egeria-charts' which will allow for automated publishing. This also removes a step from the user installing a chart (git clone(s)). This would ONLY include the charts. Not images, sample data etc. They are really just yaml definitions and perhaps a few other script files. Most code is in the actual docker images. They would stay where they are - though independently can also be looked at to see where they better belong Comments welcome @mandy-chessell @cmgrote @davidradl @wbittles @lpalashevski & anyone else |
@mstrelchuk please also add as discussion item for next zoom meeting |
I am prototyping this in a new repo https://github.com/planetf1/egeria-charts (including git migration) as I need to validate the actions & publishing |
|
This action has now produced 2 releases. These can be found at https://github.com/planetf1/egeria-charts/releases and are versioned as per the content in the chart definition. So for each publishable change this needs to be manually incremented currently. The charts are published to a compliant helm repository at https://github.com/planetf1/egeria-charts/blob/gh-pages/index.yaml The resulting chart can therefore now be directly installed by adding the repository first:
And updating charts (this is standard practice):
At this point I expect the chart to be installable - however :
So it's possible the dependency may need retrieving before the chart is packaged .... Ultimately though this should mean no need to clone repo, easier versioning, and a more independent lifecycle for the charts |
Yes please -- I have loads of charts in my connector repos that I'd like to add into this new repository as well 😁 |
Agreed in developer call 2021-06-22 that we can go ahead with this |
Waiting for a transfer of this report . Will update when complete and then other charts can be added and should get published automatically |
Mostly done -- but need to update documentation appropriately |
This is now in place & docs updated For example chart can now be installed via
Also can use
to get any development charts |
The egeria-palisade project needs to make use of our 'lab' helm chart
To enable this easily, the egeria lab chart needs to be served via a helm repo as per https://helm.sh/docs/chart_repository/
Ultimately this needs to be done as part of the build process, to ensure these charts are always current. However for expediency in integration the generated file is being checked in to enable this reuse quickly and will be refined in time.
For now only the 'lab' chart is exposed.
Part 1 - create repo (can only be tested after merge due to the way github pages works....)
The text was updated successfully, but these errors were encountered: