Skip to content
Snippets Groups Projects

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?

gitlab-runner#3467 (closed)

Closes #3 (closed)

Merge request reports

Pipeline #31027578 passed

Pipeline passed for 5af59b87 on 3-proxy-docker-connection

Merged by Kamil TrzcińskiKamil Trzciński 6 years ago (Sep 24, 2018 12:10pm UTC)

Loading

Pipeline #31031904 passed

Pipeline passed for 087cdeae on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Kamil Trzciński assigned to @SteveAzz

    assigned to @SteveAzz

  • Kamil Trzciński
  • added 1 commit

    • 7f1ec686 - Add docker support for terminal

    Compare with previous version

  • @ayufan mind if you take another look at this MR I've addressed all the discussion points

  • Steve Xuereb - Out of Office Back 2025-04-21 marked the checklist item Added for this feature/bug as completed

    marked the checklist item Added for this feature/bug as completed

  • Steve Xuereb - Out of Office Back 2025-04-21 marked the checklist item All builds are passing as completed

    marked the checklist item All builds are passing as completed

  • Steve Xuereb - Out of Office Back 2025-04-21 marked the checklist item Branch has no merge conflicts with master (if you do - rebase it please) as completed

    marked the checklist item Branch has no merge conflicts with master (if you do - rebase it please) as completed

  • @SteveAzz It seems OK. I simply just don't know:

    1. How we gonna inject our messages into streams, as upgraders are implemented by this code,
    2. 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
  • Kamil Trzciński resolved all discussions

    resolved all discussions

  • Kamil Trzciński resolved all discussions

    resolved all discussions

  • Kamil Trzciński
  • Kamil Trzciński assigned to @SteveAzz

    assigned to @SteveAzz

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading