docspell icon indicating copy to clipboard operation
docspell copied to clipboard

[Kubernetes] Add Kubernetes Helm Chart for Docspell

Open TheAnachronism opened this issue 1 year ago • 18 comments

An often used strategy to deploy something to Kubernetes is per Helm chart. This way, people only have to specify their settings inside a values.yaml file and the chart will take care of generating the correct Kubernetes manifests and configs for the entire application and its dependencies.

Docspell already has somewhat of a Kubernetes deployment with Kustomize, where I've tried to fix some issues in #2498.

TheAnachronism avatar Feb 17 '24 22:02 TheAnachronism

I've published a first version of the helm chart here: https://git.anachronis.dev/TheAnachronism/-/packages/helm/docspell/

Anyone's free to test around with this and suggest any improvements ^^

TheAnachronism avatar Feb 18 '24 15:02 TheAnachronism

Thanks so much for submitting this. One concern I had about adding a helm chart: How would it be hosted? Usually helm charts need a separate HTTP server, which is why you added this to your own git host, I assume.

waldher avatar Feb 19 '24 01:02 waldher

AFAIK, GitHub has a package registry for public repos, right? I thought Helm was included there. Otherwise, https://artifacthub.io/ would be an option too. Or using the OCI registry version, docker hub could be used as well.

I hosted it on my own git instance, for testing purposes. When I started this, I wasn't really concerned about what registry it would end up on, I just wanted to start the discussion and development of one.

TheAnachronism avatar Feb 19 '24 09:02 TheAnachronism

Let me know if I can help with anything hosting related. There should be (i hope) some options.

eikek avatar Feb 20 '24 08:02 eikek

Mhh I think it would be worth looking into artifact hub. If we want to make a helm chart available @eikek, we'll need some registry to host it.

TheAnachronism avatar Feb 20 '24 20:02 TheAnachronism

btw I've been using my own chart for a couple of months now: https://github.com/pschichtel/helm-charts/tree/main/charts/docspell

pschichtel avatar Feb 20 '24 21:02 pschichtel

Nice work! I see you went the route of just supplying the entire config as the docspell.conf file. I was thinking about that as well, but eventually, I thought I'd go for configuring everything purely by the values.yaml file and converting that into env variables.

TheAnachronism avatar Feb 21 '24 09:02 TheAnachronism

Hi there, I had some thought about the k8s setup: I will sooner or later move the docker setup into a separate repo, because it becomes too tedious to maintain for me. I was thinking to also create a separate repo in the docspell org for the helm setup. Both of you could be committers there and do whatever, whenever you like. (it could also build the docker images) WDYT? For me, the repo becomes a bit too heavy. @waldher @TheAnachronism (and whoever else likes)

eikek avatar Feb 25 '24 08:02 eikek

Mhhh, yeah why not. Do you want to separate docker and kubernetes stuff as well? Or just make the kubernetes stuff a subdirectory of the docker repo?

TheAnachronism avatar Feb 25 '24 10:02 TheAnachronism

I don't care how to organize, tbh. Would leave that all to you 😄 We can as well have docker + kubernetes in one repo, perhaps not so bad an idea? I had the idea with the separate repo for the docker images for a while now. Now with the kubernetes setup, I thought that it could live next to each other, or be a separate repo as well.

eikek avatar Feb 25 '24 20:02 eikek

For starters, I think it would be OK if we have one repo for all the containerization stuff. So docker and different Kubernetes deployment options (Helm and Kustomize, I'd say)

If we later need to pull out the helm chart, that shouldn't be much of a problem, I think.

TheAnachronism avatar Feb 25 '24 22:02 TheAnachronism

I'm finally able to pick this topic up again. Like I said, it's going in a separate repo @eikek ?

TheAnachronism avatar Jul 27 '24 01:07 TheAnachronism

Thanh you @TheAnachronism ! Yes, I think a separate repo would be great. I can create one in the docspell org and assign you to it. Or you can also do it under your account name? What do you prefer?

Also, the hard part, what name to choose :-)?

eikek avatar Jul 28 '24 07:07 eikek

Lets just call it docker and have it under the Docspell org.

I'll look into how the helm chart can be properly hosted ^^

TheAnachronism avatar Jul 28 '24 16:07 TheAnachronism

It looks like with a GitHub pages set up, the helm chart can be hosted on there. Maybe this page can then be published under helm.docspell.org or whatever.

TheAnachronism avatar Jul 28 '24 17:07 TheAnachronism

I have a working setup with chart-releaser that I can contribute.

pschichtel avatar Jul 28 '24 17:07 pschichtel

Also, @eikek, do you have an email I could reach you on? Had a look at your profile and wanted to ask you something directly ^^

TheAnachronism avatar Jul 28 '24 19:07 TheAnachronism

Sorry for the delay, I'm currently away. I created the repo at docspell/docker and added both of you (@pschichtel + @TheAnachronism) as maintainers. You can reach me at info [at] docspell.org via E-Mail.

eikek avatar Jul 29 '24 13:07 eikek