deislabs / hippo

The WebAssembly Platform
https://docs.hippofactory.dev
Other
415 stars 38 forks source link

Show port when viewing the app in the portal #101

Closed carolynvs closed 3 years ago

carolynvs commented 3 years ago

Right now I think the only way to know where to view your app is by looking in the hippo logs. It would be great if the portal provided a link to your deployed app, and showed the port number in the app details.

bacongobbler commented 3 years ago

In #86 I mentioned that port information should not be visible to the end-user. Instead, the domain bound to the channel should be displayed, which is served by Traefik.

I'm currently working on a IHostedService implementation for Traefik. We have most of this functionality available in the systemd job scheduler so it's just a matter of abstracting that logic away in the IHostedService interface so that each scheduler can take advantage of that implementation.

At the same time, we can indeed set up the Web UI to provide that information. We had an early prototype available somewhere... I'll ask @flynnduism where that is so we can share a link here.

bacongobbler commented 3 years ago

https://www.figma.com/proto/SlB5QZ4lEDekkFu7EcE0R3/03-hippo-app-wireframes-03?node-id=0%3A2&scaling=min-zoom&page-id=0%3A1

carolynvs commented 3 years ago

If someone is running hippo locally to try it out, will they have a domain available to use? I was assuming that they would see what I see now, a random port.

bacongobbler commented 3 years ago

https://github.com/deislabs/hippo/pull/103

I know of a few tricks we used for Deis workflow where in-development scenarios can use curl http://app.hippos.rocks and see their app through a "magic redirect domain". Really it's just a wildcard A record pointing to 127.0.0.1. Essentially this means that [anything].hippos.rocks will point to your local machine. The default seeded apps use app.hippos.rocks, v1.hippos.rocks, and staging.hippos.rocks, so those will all work out of the box. I'll be implementing those shortly.

https://docs.teamhephy.com/applications/domains-and-routing/

The end result is that a user running hippo locally can curl http://app.hippos.rocks:32780 and it'll "magically" redirect to Traefik.

bacongobbler commented 3 years ago

solved in demo 1. That application URL is now exposed in the UI. The YARP port being exposed in the UI is being tracked in #140. Thanks for opening this!