Skip to content
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

[feature]: k8s deployment strategy - Helm Chart #3007

Open
1 task done
WDaan opened this issue Apr 20, 2023 · 6 comments · May be fixed by #3606
Open
1 task done

[feature]: k8s deployment strategy - Helm Chart #3007

WDaan opened this issue Apr 20, 2023 · 6 comments · May be fixed by #3606
Labels
feature New feature or request self-host Self hosted Hoppscotch instance

Comments

@WDaan
Copy link

WDaan commented Apr 20, 2023

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Hoppscotch should have an easy-to-get-started Helm chart available to further drive the self-hosting adoption. (I did find this one but it seemed rather outdated)
I've started with a basic layout here and would gladly transfer over that repo to the hoppscotch org. (I included Docker container publishes for those 3 components as well, but think these should be move to this main repository)

It's not by any means perfect but it's a good start.

I do believe there is one thing lacking to get this working and that's dynamic env support. As far as I can tell from the docs, you need to build locally with your .env-values already configured. This is very hard/cumbersome to accomplish if you're running in a k8s environment.

Let me know what you think and if you need any help!

Why should this be worked on?

As hoppscotch is getting self-hosted support, a key part of this is being able to run the stack on Kubernetes. And as we now already have 3 components, it's becomes a bit harder to setup. Therefore, an easy to configure Helm Chart template is crucial.

@WDaan WDaan added the feature New feature or request label Apr 20, 2023
@WDaan WDaan changed the title [feature]: k8s deployment [feature]: k8s deployment strategy - Helm Chart Apr 20, 2023
@liyasthomas liyasthomas added the self-host Self hosted Hoppscotch instance label Apr 20, 2023
@Breee
Copy link

Breee commented Sep 18, 2023

We plan to use hoppscotch and host it in k8s.
I would love to help maintaining an official helmchart instead of building a private one.

let me know if you need help with anything - In addition i would like to add out of the box support for ingress using certmanager CRs for Certificates, externalDNS CRs for dnsendpoints and traefik CRs for ingressroutes

@WDaan
Copy link
Author

WDaan commented Oct 3, 2023

@Breee Great!

There are still a couple of things that need to be worked out. I haven't followed up with this project in a while. Last I checked I remembered that we still could not set ENV's dynamically for the frontend, making self-hosting on k8s not really viable as you'd have to rebuild the frontend yourself.

I think we should start by creating a new git repo in this org to store the helm chart. I'm more than happy to transfer mine if that could be a usefull starting point.

@c-hauwel
Copy link

c-hauwel commented Oct 5, 2023

@WDaan Hi,

FWIW, i have successfully deployed Hoppscotch in k8s with helm by using a configmap to provide settings instead of an .env file. Also, I had to rework the images to run as non-root user, as the policies in our clusters doesn't allow root user (which seems to be the best practice nowadays). Now the pods are up and running but i'm plagued with CORS issues.

Edit: CORS issues solved by adding "nginx.ingress.kubernetes.io/cors-allow-..." annotations in the ingress definition.

@WDaan
Copy link
Author

WDaan commented Oct 9, 2023

@c-hauwel Awesome! Did you write your own helm chart for it?

FWIW, i have successfully deployed Hoppscotch in k8s with helm by using a configmap to provide settings instead of an .env

This means we don't have anything blocking us anymore and the hoppscotch team can create a repo to store the helm chart in 😛

@cyberjpb1
Copy link

Can you share your installation procedure?

@shipko shipko linked a pull request Nov 29, 2023 that will close this issue
6 tasks
@BaumMeister
Copy link

@WDaan Hi,

FWIW, i have successfully deployed Hoppscotch in k8s with helm by using a configmap to provide settings instead of an .env file. Also, I had to rework the images to run as non-root user, as the policies in our clusters doesn't allow root user (which seems to be the best practice nowadays). Now the pods are up and running but i'm plagued with CORS issues.

Edit: CORS issues solved by adding "nginx.ingress.kubernetes.io/cors-allow-..." annotations in the ingress definition.

Hi,

do you mind sharing what you did to be able to run the container(s) as none-root?
I'm facing the same issue.

Regards
Chris

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request self-host Self hosted Hoppscotch instance
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants