1. 13 Jan, 2017 1 commit
    • 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
  14. 08 Dec, 2016 4 commits
    • Nick Thomas's avatar
      Handle environments/:id/terminal.ws · fe16eae3
      Nick Thomas authored
      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.
      fe16eae3
    • Jacob Vosmaer (GitLab)'s avatar
      Merge branch 'version-1.1.1' into 'master' · f2d0435b
      Jacob Vosmaer (GitLab) authored
      Version 1.1.1
      
      See merge request !96
      f2d0435b
    • Jacob Vosmaer's avatar
      Version 1.1.1 · 45016a71
      Jacob Vosmaer authored
      45016a71
    • Jacob Vosmaer (GitLab)'s avatar
      Merge branch 'rate-limit-builds-register' into 'master' · ed9d1e66
      Jacob Vosmaer (GitLab) authored
      Rate limit builds register
      
      Previously we were rate-limiting `/api` and `/ci/api`. This makes the it more targeted to only limit the capacity given to `builds/register.json` as this seems to be a main culprit of our stability problems.
      
      @jacobvosmaer-gitlab @stanhu @pcarranza What do you think?
      
      See merge request !95
      ed9d1e66
  15. 07 Dec, 2016 1 commit