Comments (10)
I completely agree! I'd be quite happy to use Releases here, particularly if someone has already gone through the work of generating a Helm-friendly index that points to them.
We're operating in a bit of a gray area with respect to ASF Releases. This chart started out as something that lived on the Helm side of things, and so clearly wasn't in scope as part of Apache CouchDB. Now it's using an ASF-maintained GitHub org, but we still don't include it as part of the CouchDB source distro. I would say let's go ahead and pursue the GH Releases approach.
If you've got the time to hack on it, great! I'd appreciate it.
@willholley any concerns?
from couchdb-helm.
@colearendt thanks for digging into this. Moving to GH Actions and Releases to align with the Helm community totally makes sense. If you're able to PR the changes, I can run the manual steps as required.
from couchdb-helm.
Worth noting that the helm
project has some nice CI tooling available:
- chart-testing-action
- chart-releaser-action
- (as well as the CLIs that make it possible / easy to use)
In practice, it has the benefit of avoiding the make publish
requirement, and will fail if version conflicts, etc. automatically on your behalf.
It is worth noting that it does have a bit of a different deployment mechanism: using GitHub Releases rather than a directory of tarballs in the repository itself. If you want to see an example, we use here:
https://github.com/rstudio/helm/
from couchdb-helm.
The more I think about this, the more I feel like having the tarballs in the git repository is less than ideal. There is no guarantee that any particular tarball matches the contents of what is in the repository at a given version/time (for instance). Much better to use the GitHub release mechanism to tie the GitHub sources to the released code.
I am happy to help get this set up if this seems like something that would be worthwhile. I suspect we could backfill older releases to ensure backwards compatibility as well.
from couchdb-helm.
Worth noting this commit: 930c909
Which discusses moving from the gh-pages
branch. It's not clear to me whether GitHub Actions and CI as a part of the wider helm community makes this a worthwhile "switch back" or not 😄
The plan that I imagine:
- write a "backfill" script that will move all of the existing
.tar.gz
files into GitHub releases- my thought on how to do this is write a script that:
- gets the last commit that a .tar.gz was added to
docs/
- presume that the git state for the
charts/
directory was correct at that point (i.e.Chart.yaml
updated, etc.). Plan to check that this is the case, but any other changes would be harder to detect. If there are concerns here, we could always SHA the files in the.tar.gz
and compare to the git state - check out that commit, and use the
chart-releaser
to create a GitHub release with that tag, packaged.tar.gz
, etc.
- add the GitHub actions to maintain things going forwards
- Sanity check whether the first run of the GitHub action will populate the index.yaml properly (w/ backfill). If not, we may need to build the index.yaml from scratch, as we do here
Any thoughts / feedback on this approach? I don't have access to do these things, so thought I would just PR with the appropriate bits and y'all can check / merge / run the manual pieces when convenient.
from couchdb-helm.
Sounds good! @willholley I created the scripts with the manual steps for backfill (here: #79). My next step will be to PR the CI changes. One potential downside of this approach is that outstanding branches will likely need to change how they have handled the release process, and there will be a handful of docs changes needed 🙈 Not sure if docs are something you are comfortable merging piecemeal or if it should be handled in the same PR as the CI changes.
from couchdb-helm.
Just added the PR for GitHub Actions additions too: #80
Looking forward to discussing at your convenience!
from couchdb-helm.
@colearendt we're going to need to make some modifications to the workflows to align with ASF policy - apologies I hadn't picked up on this earlier. The lint/test stages are currently failing e.g. https://github.com/apache/couchdb-helm/actions/runs/2516645843
Broadly, I think we need to:
- Bring in the
helm/chart-testing-action
andhelm/kind-action
as submodules and update the workflows to use them. - Specify the minimum permissions for each workflow
from couchdb-helm.
from couchdb-helm.
Created PR to address w/ some discussion: #87
from couchdb-helm.
Related Issues (20)
- Update Installation Guide
- Idempotent Helm chart install action? HOT 1
- Breaking change from Version 3.6.0 -> 3.6.1
- helm chart default install de-facto doesn't work (inconsistent adminHash)
- post-install job uses hard-coded cluster.local DNS suffix
- Container couchdb is going into restart loop right after deploy without any logs HOT 8
- CrashLoopBackoff when PersistentVolume=true HOT 2
- Add an option to specify resources for init container
- JWT Authentication issues HOT 2
- Fresh 3 Nodes cluster do not pass Fauxton GUI replica check. HOT 5
- post-install hook job should also run post-upgrade
- Text search not working with CouchDB 3.3.2
- Automate generation of README values documentation HOT 1
- Fix broken CI on main HOT 1
- Coordinator node regularly restarts in 3 node cluster HOT 3
- Add a NOTES.txt message for adminHash and adminPassword both being set
- Figure out a way to avoid manual action after deploying a cluster with the helm chart HOT 2
- Ingress should point to the "not headless" service
- unable to setup couch db on ipv6 only environemnt. HOT 1
- Erlang cookie not the same on all nodes HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from couchdb-helm.