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 521 forks source link

Add first-class ngrok support #980

Open rjygraham opened 3 years ago

rjygraham commented 3 years ago

Add first-class ngrok support as an ingress controller so requests from remote devices can invoke services running on the local dev machine.

This is important to me because one of the pain points developing Android/iOS apps is accessing APIs hosted on the local dev machine. By incorporating ngrok support in Tye, this pain would be completely removed and worked into the normal Tye development workflow.

Today, ngrok can be added to Tye via an executable; however, the ngrok output is not captured by Tye and therefore the developer won't know the subdomain automatically generated for their proxy session. To get around this, the ngrok output can be logged to an external file or the developer can discover it via invoking the ngrok api: http://localhost:4040/api/tunnels.

codeputer commented 3 years ago

Best product.... https://github.com/OfficeDev/microsoft-teams-tunnelrelay

Let know what you think of this tool

R

rjygraham commented 3 years ago

There are are couple things to love about TunnelRelay - flexibility via plugins, the fact it goes over a TLS channel that you control, etc. However, it's minimum $10/mo use since you have to bring your own Hybrid Connection.

On the other hand, ngrok is completely free to get started...

Regardless, thank you for pointing me to TunnelRelay as I've contemplated building this exact thing several times in the past. Instead of from scratch I can contribute to this existing tool.

Misiu commented 3 years ago

On the other hand, ngrok is completely free to get started...

I totally agree. I used ngrok in the bast to develop and debug webhooks solutions. The main advantage is that it is totally free to get started.

So we would need to catch the output of ngrokand parse it to get the subdomain. Maybe the easiest way would be to open http://127.0.0.1:4040/ in the browser after ngrok starts?

codeputer commented 3 years ago

I've used both...and recently invoiced a client show them how to use an Azure Relay Service... I also forked this to picandpost (PR wasn't accepted) something I've done multiple times😆

Ha

I have a lot of fun being hired to show how internal access, and a tool like this, can route in requests to a local work station, by passing the 10 day build process to Dev which has a public point that can route in from public third party services, and attach a debugger.

I would appreciate a 20min teams coffee? This link gets into my cloud based contact sms

https://callrichard.direct/

Regards, Richard


From: Ryan Graham @.> Sent: Sunday, March 14, 2021 12:51:35 PM To: dotnet/tye @.> Cc: Richard Reukema @.>; Comment @.> Subject: Re: [dotnet/tye] Add first-class ngrok support (#980)

There are are couple things to love about TunnelRelay - flexibility via plugins, the fact it goes over a TLS channel that you control, etc. However, it's minimum $10/mo use since you have to bring your own Hybrid Connection.

On the other hand, ngrok is completely free to get started...

Regardless, thank you for pointing me to TunnelRelay as I've contemplated building this exact thing several times in the past. Instead of from scratch I can contribute to this existing tool.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/dotnet/tye/issues/980#issuecomment-798940048, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAEVJVLJ6R5YEG7SYK4FKOLTDTSRPANCNFSM4ZER6I6A.

Misiu commented 3 years ago

Another alternative is Cloudflare Argo Tunnel (https://www.cloudflare.com/products/tunnel/).