#4483 WIP - Add Helm Chart for deploying on Kubernetes
Closed by ryanlerch. Opened by dminca.
dminca/pagure feature/helm-chart  into  master

Download 4483.patch

Hi there,

Just saw your presentation from openSuse Conference '19 from Nürnberg, thrown a few questions after the presentation and now I want to contribute to this cool project, therefore:

  • Create Helm Chart for easily deploying pagure on K8s
  • clean-up some stuff in here to make it more readable
  • refactor

Resolves:
Related:
Signed-off-by: Daniel Andrei Minca

1 new commit added

  • generate the scaffold code for the Helm Chart

1 new commit added

  • add README for describing what we're doing here

1 new commit added

  • fix markdown table

@dminca Thanks for writing this!

Question: doesn't a Helm chart require a container image with Pagure in it to work from?

@ngompa yes that's a prerequisite.

And from the looks of it, it has the web and worker Docker images https://pagure.io/pagure/blob/master/f/dev/containers

I am unfortunately not able to test this, is this PR still valid? If so then we should get it in (with all my apologies for the lag)

hi there,

yes it's valid. Unfortunately I also didn't have much time to work on it, but now since we're isolated in our houses will try to make this thing work.

One question tho: where do you push Docker images, do you have some Container Registry? I'm gonna need that for the Kubernetes Deployment - ideally it should run official Fedora images

This is something that @pingou and I should probably figure out ASAP. I think we do have a way of making these, but we need to confirm that...

One question tho: where do you push Docker images, do you have some Container Registry? I'm gonna need that for the Kubernetes Deployment - ideally it should run official Fedora images

Fedora has its own registry and otherwise people use quay.io

rebased onto 730958c07d13b555b2004c730416423309b6a89a

2 new commits added

  • make it compatible with k8s version >=1.14
  • replace old syntax

going through this https://pagure.io/docs/pagure/ need to understand what components I need to glue together

in the mean-time, this remains an open question; where exactly is this pagure image pushed right now? From what I saw in the code there's a registry available at registry.fedoraproject.org

Is the pagure image pushed there also?

Right now, the image isn't pushed anywhere yet...

1 new commit added

  • add instructions for hacking on kubernetes

mah lawd - it's amazing how this markdown gets formatted 🤦‍♂️

Do I need to turn this into *.rst? We use only *.rst docs in the repo I guess

1 new commit added

  • add instructions for hacking on kubernetes

1 new commit added

  • try a first spin

just pushed it to https://hub.docker.com/repository/docker/dminca/pagure-web for now, to catch some speed; will update the image later on

1 new commit added

  • fix indentation

hey, I think having a helm chart is great, but it pretty much requires having an automaticly built and updated container image generated by the project. Wanna open an issue requesting that?

@jberkus Do you have any suggestions on how to do that? I would love to get something set up for that...

Ideally it would get built by Fedora automation and published to registry.fedoraproject.org. I understand that can take a while to make happen, though.

Are there RPMs for Pagure?

@dminca I see the postgres and redis instances in the docker-compose you have here, but not in the Helm chart. Where are they?

Ideally it would get built by Fedora automation and published to registry.fedoraproject.org. I understand that can take a while to make happen, though.
Are there RPMs for Pagure?

Yes. RPMs exist for all supported releases of Fedora and both EPEL 7 and EPEL 8.

pretty please pagure-ci rebuild

Bit dated but I'm highly interested to move that forward.
@ngompa what if we build and upload images to quay.io/pagure on commit to the master branch for now to get started? That relates a bit to the work I wanna do in https://pagure.io/pagure/issue/5466. If I already touch Jenkins and build containers for unit tests, this doesn't seem to be much of an extra step then. And we might able to use https://docs.pagure.org to publish the helm chart if we want it classic or we push it to quay.io too.

You have much more experience with this than I do. I certainly would be interested in having a Kubernetes pattern for this.

This project has moved to https://forge.fedoraproject.org/apps/pagure. As part of the migration, all open pull requests on pagure.io have been closed. If you'd like to continue working on this, please fork the repository on the new forge and re-submit your PR there.

Pull-Request has been closed by ryanlerch

Metadata