dotnet / tye

Tye is a tool that makes developing, testing, and deploying microservices and distributed applications easier. Project Tye includes a local orchestrator to make developing microservices easier and the ability to deploy microservices to Kubernetes with minimal configuration.
MIT License
5.29k stars 520 forks source link

Add url paths on the tye.yaml to make it easier to navigate to available endpoints #618

Open malisancube opened 3 years ago

malisancube commented 3 years ago

What should we add or change to make your life better?

The idea is to have something like this on the tye.yaml

- name: results
  project: results/results.csproj
  -paths: /swagger;/hangfire;/lively;/page=2&pageSize=10

This would then be exposed on the dashboard as URLs. e.g.

These can be ignored during deployment.

Why is this important to you?

This would make it easier to simply navigate to endpoints that you want to use in that service and save a couple of keystrokes.

spboyer commented 3 years ago

@davidfowl / @jkotalik - could we look at Routes and provide these in the dashboard without having to define them explicitly?

davidfowl commented 3 years ago

No, routes are part of the application. There's no way to get that information statically from outside the app.

digitaldias commented 3 years ago

+1 for this. I'm writing a set of microservices that do not have coupling between them (no REST endpoints) but instead use a shared messagebroker for all actions. As such, it'd be nice to have all my services point straight to their /graphql endpoint when clicked from the tye dashboard. This is an important feature to add. It can be read from the launchSettings.json in the property "launchUrl"

ante-maric commented 2 years ago

+100 for this! Judging by the time this issue was created...holding our breath could get us killed.

davidfowl commented 2 years ago

Pull requests are also a thing 😉

ante-maric commented 2 years ago

Pull requests are also a thing 😉

I bet you couldn’t hold it…same as me🤣 Fair enough…

ignacioerrico commented 2 years ago

Believe it or not, I was going to ask if anyone was working on this. You beat me to it, @ante-maric. 😉

I wanted to discuss some finer details too, like how about routes instead of paths, and if there was a preferred way to display the links (instead of repeating the host and port for each, I would just display the same as it's being displayed now with the list of routes underneath, all of them clickable).

Example. This configuration (note I didn't include a hyphen in the routes item, as in the original post):

- name: results
  project: results/results.csproj
  routes: /swagger;/hangfire;/lively;/page=2&pageSize=10

would produce something like this:

http://localhost:54321/
- /swagger
- /hangfire
- /lively
- /page=2&pageSize=10
ante-maric commented 2 years ago

I have investigated a little bit, investigation turned into actual code change and in no time I got it working on my machine.

@ignacioerrico I would also prefer routes over paths. Regarding a way to display the links...connectionStrings are also displayed in Bindings column, so that needs to be taken into account.