aplteam / Tatin

Tatin is a package manager for Dyalog APL
MIT License
25 stars 5 forks source link

Support for proxy server #124

Closed e9gille closed 1 year ago

e9gille commented 1 year ago

Sitting behind a corporate firewall where we need to use a proxy server to access external sites makes it impossible to use public packages from tatin.dev. Having investigated the issue I found that for our scenario, where the proxy server is using http (non-secure), and the endpoint is using https (tatin.dev), one would need to upgrade the tcp connection to the proxy server after it has been established. This is currently not supported by Conga. At the moment we have to modify the Tatin client by replacing the http calls with .NET tools, which isn't great.

e9gille commented 1 year ago

To clarify, Tatin has no support for proxy at all at the moment, but even if it was added, it couldn't cater for our scenario without the use of .NET tools.

DavinChurch commented 1 year ago

Just my initial reaction, but would it help if tatin.dev accepted either HTTP or HTTPS and the client could use HTTP when there's a proxy?

e9gille commented 1 year ago

To be honest, in the read-only scenario maybe so, but we need to use secure channels in all communication, so that wouldn't be accepted.

e9gille commented 1 year ago

Found out from Dyalog that support for this was added, but not announced. I created a draft PR in RumbaLean with the new feature outlined and once that is completed and added we can look at using that in Tatin to make it configurable. https://github.com/aplteam/RumbaLean/pull/1

In my scenario I would need to specify a proxy server per registry, as internal servers should not go via proxy.

aplteam commented 1 year ago

Implemented in 0.95.0

e9gille commented 1 year ago

I can't see that this has been implemented yet, although the underlying tools should support it. I'll see what I can do.

e9gille commented 1 year ago

Found a bug in the change I made to RumbaLean https://github.com/aplteam/RumbaLean/pull/2

Also have a proposal for the proxy support in Tatin: https://github.com/aplteam/Tatin/pull/132

aplteam commented 1 year ago

Works...