Add docker support for terminal
What does this MR do?
Add support of interactive web terminal for the docker
executor.
Are there points in the code the reviewer needs to double check?
The following MR takes the simplistic approach on how to proxy the docker and the WebSocket. There is a more detailed approach at this branch which I am not sure if it is better or not.
If we go with this approach we can refactor the FileDescriptorProxy
and DockerProxy
to be a new ReadWriterProxy
but this will have backward incompatibility consequences, which might not be to much of an issue since we only have 1 consumer of this package thus far.
Does this MR meet the acceptance criteria?
-
Documentation created/updated - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Branch has no merge conflicts with master
(if you do - rebase it please)
What are the relevant issue numbers?
Closes #3 (closed)
Merge request reports
Activity
mentioned in merge request gitlab-runner!1008 (merged)
- Resolved by Kamil Trzciński
- Resolved by Kamil Trzciński
- Resolved by Kamil Trzciński
- Resolved by Kamil Trzciński
@ayufan mind if you take another look at this MR I've addressed all the discussion points
assigned to @ayufan
@SteveAzz It seems OK. I simply just don't know:
- How we gonna inject our messages into streams, as upgraders are implemented by this code,
- I just wonder if the better interface would not be that
gitlab-terminal
provides a decoded stream with clear messages that we can forward to where we need, so this also allows us to send messages.
It is OK, minimal, I simply don't think that this is sufficient change for us to solve the above goals: have an ability to use our own streams to bi-directional communication with Frontend :(
Anyway, I'm fine on iterating. Lets see how it evolves.
Edited by Kamil Trzciński- Resolved by Kamil Trzciński
- Resolved by Kamil Trzciński