-
Notifications
You must be signed in to change notification settings - Fork 15
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
Publish Epinio to the DigitalOcean marketplace #63
Comments
Epinio installation requires at least a We could make the domain optional in Epinio this way:
Maybe this ties to the general "multiple domains" story: epinio/epinio#496 Not needing a domain simplifies the installation and usage of Epinio even more. It allows a zero-input installation and we allow the user to set the domain at any point in the future. On the other hand, it creates the need for a more complex handling of domains post-install. |
We can skip the creation of an ingress when a system domain is not set. The user can always use In other words, if there is a system domain, the applications will get a subdomain of that domain by default. If there isn't one, they won't get a route unless explicitly specified by the user (with |
This is how others (jitsi) work around the issue: https://marketplace.digitalocean.com/apps/jitsi-server (look at the steps). |
Others are also asking for hostname parameters: digitalocean/marketplace-kubernetes#230 |
I'm looking at digitalocean/marketplace-kubernetes#34 which was linked from the others. Do we have access to kubectl in our deploy.sh script? So, the user could:
This would mean, we don't have to change any code. If we're fine with changing the helm templates, we could use the lookup template function to retrieve the domain config from the cluster, like we do with the s3 credentials: https://github.com/epinio/helm-charts/blob/main/chart/epinio-installer/templates/manifest.yaml#L10 |
I wonder if curling out to a "what's my IP" service from deply.sh would allow you to get the external IP and set up a magic DNS. Then the user could finish up by changing that domain to one they control. |
@manno I don't think they user has access to the cluster before (or maybe even after) the creation of the droplet. The droplet is created after you start the installation of the one-click installed app. @agracey I'm imagining digitalocean is running the deploy.sh script on a machine outside the cluster itself. Even if we knew the IP address of that machine, it doesn't mean it's going to be the address of the cluster itself (and thus epinio). |
I wonder if this is a different process: https://github.com/digitalocean/droplet-1-clicks It looks so: https://github.com/digitalocean/marketplace-partners (as compared to: https://github.com/digitalocean/marketplace-kubernetes/) |
This is blocked because Epinio need a wildcard system domain to automatically create routes for applications. One way to solve this from our side would be to switch to manual routes when a system domain is not specified. This would mean applications wouldn't be accessible unless the user manually defined a route for them. Another possibility would be to have path based routing for apps when a domain is not specified. This may not work for some apps though because I think there are applications the discover the hostname in the request headers and use it to construct links to the various endpoints of the app itself. In those cases, if we used rewrite rules to point I don't know if supporting manual-only routing is at the top of our priority list. cc @agracey |
@manno suggested that we just provide instructions on how to change the system domain after installation. This way, we can install with no system domain (or a dummy one) and then point the user to docs that read something like this:
This should unblock this story with not additional features needed. |
Following the docs, I forked the DO repo and created a branch for Epinio: digitalocean/marketplace-kubernetes@master...epinio:epinio-first-pr I tested the scripts and they seem to work fine. |
Upstream PR created: https://github.com/digitalocean/marketplace-kubernetes/pull/334/files |
Done: https://marketplace.digitalocean.com/apps/epinio. We need to bump the version to the latest now. |
New issue: epinio/epinio#1388 |
https://github.com/digitalocean/marketplace-kubernetes/blob/master/CONTRIBUTING.md
The text was updated successfully, but these errors were encountered: