feat(proxy): add gateway routes#9600
Conversation
|
Hi @ShadowArcanist! 👋 It appears to us that you are adding a new feature to Coolify. Coolify Docs Repository: https://github.com/coollabsio/coolify-docs |
|
Hey @ShadowArcanist this is much closer to the right direction than the closed team-wide auto-routing PR. It keeps routing per-route, preserves the remote server’s Traefik as the authority, and avoids mutating application labels. I think the remaining work is mostly around hardening the file-backed UI. A few things I’d improve:
Overall, I think the architecture is right. The biggest gap is making sure the file-backed model is actually robust when users manually edit files, because that’s the main reason this approach is safer than the old auto-derived team-wide routing design. |
|
I reviewed the latest state of this PR and found 3 remaining issues:
|
|
Hey @ShadowArcanist, could you add support for UDP/TCP (level 4) packets aswell? This is something I worked a lot on in the other PR so I can implement it fairly easily if you'd like. This is absolutely something that I have to have in my setup. |
|
I am looking forward to this |
Changes
Issues
Notes:
This is UI only because users who know to setup Traefik to be single entrypoint can do this by manually adding dynamic config, this UI is to simplify the process so new users can easily setup.
Layer 7 proxying for now, this is enough for most users and if enough people ask for layer 4 then we can add it.
The UI uses the dynamic config files as source of truth so if user edits the file manually then the UI will reflect it without any issues.
This feature basically creates and edits dynamic config files so all files managed by this start with
gateway-on the name and is readonly from the UI.The proxy will simply forward the request to the target, the target can be anything and is not tied to servers connected to Coolify, this allows users to set Tailscale clients or host:ip as target without any issues.
This gateway feature is available on all servers connected to Coolify so user can make any of their server as a main entry point for flexibility.
Each route is stored in its own separate dynamic configuration file, making it easier to edit, update, and delete compared to managing a single large file containing all routes.
Category
Preview
AI Assistance
If AI was used:
Testing
Used this feature to create the routes (which creates the dynamic config files) on local dev and used that dynamic conf on a staging server since I have DNS proper set on staging server and this feature only has to create dynamic config files correctly.
I tested editing, deleting, creating new file with same name (rejects new file and throws an error toast), and all are working fine.
Contributor Agreement
Important