SFTtech / abrechnung

Payment tracking and money splitting for groups 💸
https://abrechnung.readthedocs.io
GNU Affero General Public License v3.0
130 stars 15 forks source link

Add a Helm Chart #180

Closed lukasredev closed 1 month ago

lukasredev commented 9 months ago

Hi everyone,

Found your project on the 37c3 page https://events.ccc.de/congress/2023/hub/en/project/abrechnung/. I wanted to set up the tool on my k8s cluster for my friends to use. I install most tools based on helm charts, and since there was no helm chart for this, I created one.

This PR should not be understood as ready to merge; I just wanted to open it to discuss whether this installation option should be added. I think it would be a great addition since Helm has become the de-facto standard in installing applications on k8s.

If yes, I would be happy to add the necessary documentation to my PR to get this merged.

I will also be at the 37c3, we can also discuss there.

Cheers, Lukas

mikonse commented 9 months ago

Hi, thanks a lot for the MR!

Overall I'm open to adding a helm chart as an alternative installation method.

So long as we keep to the current installation recommendation and not provide postgres instances with the official installation methods the helm chart itself looks good to me, though the last time I've written one myself was a few years ago.

I'm not sure if there is CI tooling which can detect errors in a helm chart but if there are tools like that currently it would be also nice to add those since I don't have a k8s cluster handy to test new releases.

It would be nice if you could also add sections to both the developer and user documentation pages on how to install the helm chart from a user perspective and how to make changes to it from a developer perspective. This would also help me to not forget synchronizing changes to e.g. the config file format with the helm chart if there's a section in the developer docs.

Overall I think we'll have to add some sort of automation for the release process (probably just a shell script) since this would make three official installation methods which we'd need to keep in sync on every release but this is probably something I'll need to do for the next release anyways.

If you want to discuss anything in person just stop by our assembly at 37C3. Cheers Michael

TheJJ commented 1 month ago

Hi @lukasredev! Is this still something you want to follow up?

lukasredev commented 1 month ago

Hi @TheJJ / @mikonse , sorry for not getting back to you sooner. I moved away from using only helm charts in my deployments myself to using tanka, which, for apps that are quite straightforward to install (such as this one), makes it quite easy to set up with k8s without using a helm chart. If you think it provides some value to the community, I could still finish this up and set up the automation for the release, but if I am the only user of this, then I don't think it would be necessary ...

TheJJ commented 1 month ago

ok, no problem :) we try to design our projects with a nice deployability anyway, so its easy to set up in any suitable environment! I'll close this for now, but if the need for an helm-chart re-arises, we can surely look back to this.

are you using an abrechnung instance productively, by the way?

lukasredev commented 4 weeks ago

We used it for a few events; I would love to set it up for a more extensive user group, but I think I would need to add the option to integrate OIDC login; otherwise, account management gets a little annoying. I might look into that in the future.