-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HandleRoute and HandlePort update #249
Comments
@Menzorg @ivansglazunov do you have any objections or improvements to these changes? |
One port for one docker container is the good idea. Keep it simple, stupid. |
@suenot Why do you think it is good idea? Why we cannot use multiple ports for docker? What would you do if the docker needs server in regular sockets and also a way to check its And what would you do if you need multiple ports for HandleRoute? Where to host them? We should start a docker container for each port? But what if the logic inside needs two or more ports per process? |
I agree that it is okay to open more ports for one |
We can pass range of ports with
And then we can run new file docker-compose.subst.yml:
This solution I found on stackoverflow. Also there is an issue in github.com/docker/compose: docker/compose#4249 |
We can also may try to combine multiple https://stackoverflow.com/questions/33408118/inheritance-or-nesting-with-docker-compose |
Another way to solve this issue would be a way to define different way to check |
HandleRoute ports handling
Today it is impossible to open port on server using HandleRoute because
deeplinks
is launched with single opened port, for example:deeplinks/docker-prod/deep/docker-compose.yml
Line 122 in 00a1ca0
That means we can only access
deeplinks
via 3006 port.And in order to solve it we might use:
docker-compose.yml
adding new port each time (this will require to restart the orchestrator itself, which I think is a bad idea, because it will break ongoing GQL and File connections).deep-links
container. (this is also a bad idea, because if on server we have any post that is already in use in that range thedeep-links
container will be unable to start).HandleContainer/HandleDocker/HandlePorts
for that.HandlePort ports handling
It is also not possible for HandlePort to use more than single port.
For example we could start a game server for
Ragnarok Online
that uses 3 different ports (login, char, map servers). We could also want to start an operating system with macOS, Linux, Windows and we might want to configure freely which ports are available to external network. We also might want to have universal way to monitorhealthz
of the docker container.So the best solution would be to configure the port for
healthz
or full featured Deep-compatible controller that has rest or may be even GQL API? We need a way to transfer initial data, for example we might useinit
route to pass the token of the package that create that container to use it for operations. For example using the token passed viainit
we might create subscriptions to links that control the behaviour of docker container. Or may be we could create a mini-deep inside that would allow docker container control via the same Deep GQL API.HandleContainer/HandleDocker/HandlePorts
Once we have something like HandleDocker/HandlePorts, with support of multiple ports, we can move the responsibility for HandleRoute module there. So it in the separate docker and once port configuration is changed it may be restarted separately. It will also be better for performance scaling.
Related to #200
The text was updated successfully, but these errors were encountered: