1. 13 Jan, 2017 6 commits
    • Stan Hu's avatar
      Simplify test payload · 0f137cf6
      Stan Hu authored
      0f137cf6
    • Stan Hu's avatar
      Refactor handlePostRPC to be more clear · 37389823
      Stan Hu authored
      37389823
    • Stan Hu's avatar
      Revise error statement to reflect reality · 232cd84c
      Stan Hu authored
      232cd84c
    • Stan Hu's avatar
      Test git receive-pack · 0ef15b36
      Stan Hu authored
      0ef15b36
    • Stan Hu's avatar
      Add spec that exercises #92 · 8950dfc1
      Stan Hu authored
      8950dfc1
    • Stan Hu's avatar
      Fix stalled HTTP fetches with large payloads · b8ab8bed
      Stan Hu authored
      For fetches over HTTP, Workhorse executes git-upload-pack and first
      attempts to send all the input data to stdin before reading from the
      stdout pipe. However, when the payload is large, the stdout pipe may
      fill up, causing git-upload-pack to stop reading from stdin. Workhorse
      will then be deadlocked, since it will be waiting to send more data
      to a buffer that will never be drained.
      
      An addition side effect is that git-upload-pack processes also get left
      around. These processes are cleaned up only after Workhorse is
      restarted.
      
      This fix modifies the git-upload-pack behavior to consume the entire
      HTTP input first so that reading the data from stdout and sending the
      reply can be performed in a separate Goroutine.
      
      Closes #92
      
      Closes gitlab-org/gitlab-ce#25916
      
      Closes gitlab-com/infrastructure#941
      b8ab8bed
  2. 12 Jan, 2017 2 commits
  3. 04 Jan, 2017 3 commits
  4. 03 Jan, 2017 2 commits
  5. 02 Jan, 2017 1 commit
  6. 20 Dec, 2016 4 commits
  7. 19 Dec, 2016 3 commits
  8. 16 Dec, 2016 7 commits
  9. 15 Dec, 2016 5 commits
  10. 14 Dec, 2016 1 commit
  11. 13 Dec, 2016 1 commit
  12. 12 Dec, 2016 2 commits
  13. 09 Dec, 2016 3 commits
    • Tomasz Maczukin's avatar
      Count git clone/fetch bytes send · bad25752
      Tomasz Maczukin authored
      bad25752
    • Tomasz Maczukin's avatar
      be1c3faa
    • Jacob Vosmaer (GitLab)'s avatar
      Merge branch 'nick-kube-proxy' into 'master' · d01ee210
      Jacob Vosmaer (GitLab) authored
      Handle environments/:id/terminal.ws, providing access to terminal websockets
      
      A GitLab environment may expose a terminal connection for out-of-band access. Workhorse is responsible for providing a websocket connection to the terminal if present. 
      
      It authenticates the user and retrieves connection details from GitLab using the environments/:id/terminal.ws/authorize endpoint, and sets up a proxy to the terminal provider, converting from the remote's subprotocol to a common format.
      
      Authentication is periodically re-done, and the connection will be broken if it fails, or if the connection details change in any way.
      
      This MR includes support for the `channel.k8s.io` websocket subprotocol, allowing connections to be made to Kubernetes / OpenShift containers. 
      
      Based on top of (some of) !72 
      
      Related to https://gitlab.com/gitlab-org/gitlab-ce/issues/22864
      
      See merge request !83
      d01ee210