Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-workhorse
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-workhorse
Commits
ff480401
Commit
ff480401
authored
Apr 04, 2016
by
Jacob Vosmaer
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'use-gopath' into 'master'
Be compatible with GOPATH See merge request !43
parents
b04210fe
fece6a3b
Changes
33
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
123 additions
and
80 deletions
+123
-80
.gitignore
.gitignore
+1
-0
Makefile
Makefile
+22
-11
authorization_test.go
authorization_test.go
+4
-3
cmd/gitlab-zip-cat/main.go
cmd/gitlab-zip-cat/main.go
+2
-1
cmd/gitlab-zip-metadata/main.go
cmd/gitlab-zip-metadata/main.go
+2
-1
internal/api/api.go
internal/api/api.go
+3
-2
internal/artifacts/artifact_download.go
internal/artifacts/artifact_download.go
+4
-3
internal/artifacts/artifact_download_test.go
internal/artifacts/artifact_download_test.go
+4
-3
internal/artifacts/artifacts_upload.go
internal/artifacts/artifacts_upload.go
+5
-4
internal/artifacts/artifacts_upload_test.go
internal/artifacts/artifacts_upload_test.go
+6
-5
internal/badgateway/roundtripper.go
internal/badgateway/roundtripper.go
+2
-1
internal/git/archive.go
internal/git/archive.go
+3
-2
internal/git/blob.go
internal/git/blob.go
+3
-2
internal/git/git-http.go
internal/git/git-http.go
+4
-3
internal/lfs/lfs.go
internal/lfs/lfs.go
+3
-2
internal/proxy/proxy.go
internal/proxy/proxy.go
+3
-2
internal/sendfile/sendfile.go
internal/sendfile/sendfile.go
+2
-1
internal/staticpages/deploy_page.go
internal/staticpages/deploy_page.go
+2
-1
internal/staticpages/deploy_page_test.go
internal/staticpages/deploy_page_test.go
+2
-1
internal/staticpages/error_pages.go
internal/staticpages/error_pages.go
+2
-1
internal/staticpages/error_pages_test.go
internal/staticpages/error_pages_test.go
+2
-1
internal/staticpages/servefile.go
internal/staticpages/servefile.go
+3
-2
internal/staticpages/servefile_test.go
internal/staticpages/servefile_test.go
+2
-1
internal/upload/uploads.go
internal/upload/uploads.go
+2
-1
internal/upload/uploads_test.go
internal/upload/uploads_test.go
+4
-3
internal/upstream/development_test.go
internal/upstream/development_test.go
+2
-1
internal/upstream/handlers.go
internal/upstream/handlers.go
+2
-1
internal/upstream/handlers_test.go
internal/upstream/handlers_test.go
+2
-1
internal/upstream/routes.go
internal/upstream/routes.go
+9
-8
internal/upstream/upstream.go
internal/upstream/upstream.go
+4
-3
main.go
main.go
+2
-1
main_test.go
main_test.go
+5
-4
proxy_test.go
proxy_test.go
+5
-4
No files found.
.gitignore
View file @
ff480401
...
...
@@ -4,3 +4,4 @@ testdata/scratch
testdata/public
gitlab-zip-cat
gitlab-zip-metadata
_build
Makefile
View file @
ff480401
PREFIX
=
/usr/local
VERSION
=
$(
shell
git describe
)
-
$(
shell
date
-u
+%Y%m%d.%H%M%S
)
export
GOPATH
=
$(
shell
pwd
)
/_build
GOBUILD
=
go build
-ldflags
"-X main.Version=
${VERSION}
"
PKG
=
gitlab.com/gitlab-org/gitlab-workhorse
all
:
gitlab-zip-cat gitlab-zip-metadata gitlab-workhorse
all
:
clean-build
gitlab-zip-cat gitlab-zip-metadata gitlab-workhorse
gitlab-zip-cat
:
$(shell find cmd/gitlab-zip-cat/ -name '*.go')
${GOBUILD}
-o
$@
.
/cmd/
$@
gitlab-zip-cat
:
_build
$(shell find cmd/gitlab-zip-cat/ -name '*.go')
${GOBUILD}
-o
$@
${PKG}
/cmd/
$@
gitlab-zip-metadata
:
$(shell find cmd/gitlab-zip-metadata/ -name '*.go')
${GOBUILD}
-o
$@
.
/cmd/
$@
gitlab-zip-metadata
:
_build
$(shell find cmd/gitlab-zip-metadata/ -name '*.go')
${GOBUILD}
-o
$@
${PKG}
/cmd/
$@
gitlab-workhorse
:
$(shell find . -name '*.go
')
${GOBUILD}
-o
$@
gitlab-workhorse
:
_build $(shell find . -name '*.go' | grep -v '^
\.
/_
')
${GOBUILD}
-o
$@
${PKG}
install
:
gitlab-workhorse gitlab-zip-cat gitlab-zip-metadata
mkdir
-p
$(DESTDIR)${PREFIX}
/bin/
install
gitlab-workhorse gitlab-zip-cat gitlab-zip-metadata
${DESTDIR}${PREFIX}
/bin/
_build
:
mkdir
-p
$@
/src/
${PKG}
tar
-cf
-
--exclude
$@
--exclude
.git
.
|
(
cd
$@
/src/
${PKG}
&&
tar
-xf
-
)
touch
$@
.PHONY
:
test
test
:
testdata/data/group/test.git clean-workhorse all
go
fmt
.
/... |
awk
'{ print } END { if (NR > 0) { print "Please run go fmt"; exit 1 } }'
support/path go
test
.
/...
test
:
testdata/data/group/test.git clean-
build clean-
workhorse all
go
fmt
${PKG}
/... |
awk
'{ print } END { if (NR > 0) { print "Please run go fmt"; exit 1 } }'
support/path go
test
${PKG}
/...
@
echo
SUCCESS
coverage
:
testdata/data/group/test.git
...
...
@@ -38,9 +45,13 @@ testdata/data:
mkdir
-p
$@
.PHONY
:
clean
clean
:
clean-workhorse
clean
:
clean-workhorse
clean-build
rm
-rf
testdata/data testdata/scratch
.PHONY
:
clean-workhorse
clean-workhorse
:
rm
-f
gitlab-workhorse gitlab-zip-cat gitlab-zip-metadata
.PHONY
:
clean-build
clean-build
:
rm
-rf
_build
authorization_test.go
View file @
ff480401
package
main
import
(
"./internal/api"
"./internal/helper"
"./internal/testhelper"
"fmt"
"net/http"
"net/http/httptest"
"regexp"
"testing"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/api"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
)
func
okHandler
(
w
http
.
ResponseWriter
,
_
*
http
.
Request
,
_
*
api
.
Response
)
{
...
...
cmd/gitlab-zip-cat/main.go
View file @
ff480401
package
main
import
(
"../../internal/zipartifacts"
"archive/zip"
"flag"
"fmt"
"io"
"os"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/zipartifacts"
)
const
progName
=
"gitlab-zip-cat"
...
...
cmd/gitlab-zip-metadata/main.go
View file @
ff480401
package
main
import
(
"../../internal/zipartifacts"
"flag"
"fmt"
"os"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/zipartifacts"
)
const
progName
=
"gitlab-zip-metadata"
...
...
internal/api/api.go
View file @
ff480401
package
api
import
(
"../badgateway"
"../helper"
"encoding/json"
"fmt"
"io"
...
...
@@ -10,6 +8,9 @@ import (
"net/http"
"net/url"
"strings"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/badgateway"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
)
type
API
struct
{
...
...
internal/artifacts/artifact_download.go
View file @
ff480401
package
artifacts
import
(
"../api"
"../helper"
"../zipartifacts"
"bufio"
"errors"
"fmt"
...
...
@@ -15,6 +12,10 @@ import (
"path/filepath"
"strings"
"syscall"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/api"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/zipartifacts"
)
func
detectFileContentType
(
fileName
string
)
string
{
...
...
internal/artifacts/artifact_download_test.go
View file @
ff480401
package
artifacts
import
(
"../api"
"../helper"
"../testhelper"
"archive/zip"
"encoding/base64"
"encoding/json"
...
...
@@ -13,6 +10,10 @@ import (
"net/http/httptest"
"os"
"testing"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/api"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
)
func
testArtifactDownloadServer
(
t
*
testing
.
T
,
archive
string
,
entry
string
)
*
httptest
.
Server
{
...
...
internal/artifacts/artifacts_upload.go
View file @
ff480401
package
artifacts
import
(
"../api"
"../helper"
"../upload"
"../zipartifacts"
"errors"
"fmt"
"io/ioutil"
...
...
@@ -13,6 +9,11 @@ import (
"os"
"os/exec"
"syscall"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/api"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/upload"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/zipartifacts"
)
type
artifactsUploadProcessor
struct
{
...
...
internal/artifacts/artifacts_upload_test.go
View file @
ff480401
package
artifacts
import
(
"../api"
"../helper"
"../proxy"
"../testhelper"
"../zipartifacts"
"archive/zip"
"bytes"
"compress/gzip"
...
...
@@ -18,6 +13,12 @@ import (
"net/http/httptest"
"os"
"testing"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/api"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/proxy"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/zipartifacts"
)
func
testArtifactsUploadServer
(
t
*
testing
.
T
,
tempPath
string
)
*
httptest
.
Server
{
...
...
internal/badgateway/roundtripper.go
View file @
ff480401
package
badgateway
import
(
"../helper"
"bytes"
"fmt"
"io/ioutil"
"net"
"net/http"
"time"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
)
// Values from http.DefaultTransport
...
...
internal/git/archive.go
View file @
ff480401
...
...
@@ -5,8 +5,6 @@ In this file we handle 'git archive' downloads
package
git
import
(
"../helper"
"../senddata"
"fmt"
"io"
"io/ioutil"
...
...
@@ -18,6 +16,9 @@ import (
"path/filepath"
"syscall"
"time"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/senddata"
)
type
archive
struct
{
senddata
.
Prefix
}
...
...
internal/git/blob.go
View file @
ff480401
package
git
import
(
"../helper"
"../senddata"
"fmt"
"io"
"log"
"net/http"
"strings"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/senddata"
)
type
blob
struct
{
senddata
.
Prefix
}
...
...
internal/git/git-http.go
View file @
ff480401
...
...
@@ -5,9 +5,6 @@ In this file we handle the Git 'smart HTTP' protocol
package
git
import
(
"../api"
"../delay"
"../helper"
"errors"
"fmt"
"io"
...
...
@@ -17,6 +14,10 @@ import (
"path"
"path/filepath"
"strings"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/api"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/delay"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
)
func
GetInfoRefs
(
a
*
api
.
API
)
http
.
Handler
{
...
...
internal/lfs/lfs.go
View file @
ff480401
...
...
@@ -5,8 +5,6 @@ In this file we handle git lfs objects downloads and uploads
package
lfs
import
(
"../api"
"../helper"
"bytes"
"crypto/sha256"
"encoding/hex"
...
...
@@ -17,6 +15,9 @@ import (
"net/http"
"os"
"path/filepath"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/api"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
)
func
PutStore
(
a
*
api
.
API
,
h
http
.
Handler
)
http
.
Handler
{
...
...
internal/proxy/proxy.go
View file @
ff480401
package
proxy
import
(
"../badgateway"
"../helper"
"net/http"
"net/http/httputil"
"net/url"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/badgateway"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
)
type
Proxy
struct
{
...
...
internal/sendfile/sendfile.go
View file @
ff480401
...
...
@@ -7,9 +7,10 @@ via the X-Sendfile mechanism. All that is needed in the Rails code is the
package
sendfile
import
(
"../helper"
"log"
"net/http"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
)
const
sendFileResponseHeader
=
"X-Sendfile"
...
...
internal/staticpages/deploy_page.go
View file @
ff480401
package
staticpages
import
(
"../helper"
"io/ioutil"
"net/http"
"path/filepath"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
)
func
(
s
*
Static
)
DeployPage
(
handler
http
.
Handler
)
http
.
Handler
{
...
...
internal/staticpages/deploy_page_test.go
View file @
ff480401
package
staticpages
import
(
"../testhelper"
"io/ioutil"
"net/http"
"net/http/httptest"
"os"
"path/filepath"
"testing"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
)
func
TestIfNoDeployPageExist
(
t
*
testing
.
T
)
{
...
...
internal/staticpages/error_pages.go
View file @
ff480401
package
staticpages
import
(
"../helper"
"fmt"
"io/ioutil"
"log"
"net/http"
"path/filepath"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
)
type
errorPageResponseWriter
struct
{
...
...
internal/staticpages/error_pages_test.go
View file @
ff480401
package
staticpages
import
(
"../testhelper"
"fmt"
"io/ioutil"
"net/http"
...
...
@@ -9,6 +8,8 @@ import (
"os"
"path/filepath"
"testing"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
)
func
TestIfErrorPageIsPresented
(
t
*
testing
.
T
)
{
...
...
internal/staticpages/servefile.go
View file @
ff480401
package
staticpages
import
(
"../helper"
"../urlprefix"
"log"
"net/http"
"os"
"path/filepath"
"strings"
"time"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/urlprefix"
)
type
CacheMode
int
...
...
internal/staticpages/servefile_test.go
View file @
ff480401
package
staticpages
import
(
"../testhelper"
"bytes"
"compress/gzip"
"io/ioutil"
...
...
@@ -10,6 +9,8 @@ import (
"os"
"path/filepath"
"testing"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
)
func
TestServingNonExistingFile
(
t
*
testing
.
T
)
{
...
...
internal/upload/uploads.go
View file @
ff480401
package
upload
import
(
"../helper"
"bytes"
"fmt"
"io"
...
...
@@ -9,6 +8,8 @@ import (
"mime/multipart"
"net/http"
"os"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
)
type
MultipartFormProcessor
interface
{
...
...
internal/upload/uploads_test.go
View file @
ff480401
package
upload
import
(
"../helper"
"../proxy"
"../testhelper"
"bytes"
"errors"
"fmt"
...
...
@@ -16,6 +13,10 @@ import (
"regexp"
"strings"
"testing"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/proxy"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
)
var
nilHandler
=
http
.
HandlerFunc
(
func
(
http
.
ResponseWriter
,
*
http
.
Request
)
{})
...
...
internal/upstream/development_test.go
View file @
ff480401
package
upstream
import
(
"../testhelper"
"net/http"
"net/http/httptest"
"testing"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
)
func
TestDevelopmentModeEnabled
(
t
*
testing
.
T
)
{
...
...
internal/upstream/handlers.go
View file @
ff480401
package
upstream
import
(
"../helper"
"compress/gzip"
"fmt"
"io"
"net/http"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
)
func
contentEncodingHandler
(
h
http
.
Handler
)
http
.
Handler
{
...
...
internal/upstream/handlers_test.go
View file @
ff480401
package
upstream
import
(
"../testhelper"
"bytes"
"compress/gzip"
"fmt"
...
...
@@ -10,6 +9,8 @@ import (
"net/http/httptest"
"reflect"
"testing"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
)
func
TestGzipEncoding
(
t
*
testing
.
T
)
{
...
...
internal/upstream/routes.go
View file @
ff480401
package
upstream
import
(
apipkg
"../api"
"../artifacts"
"../git"
"../lfs"
proxypkg
"../proxy"
"../senddata"
"../sendfile"
"../staticpages"
"net/http"
"regexp"
apipkg
"gitlab.com/gitlab-org/gitlab-workhorse/internal/api"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/artifacts"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/git"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/lfs"
proxypkg
"gitlab.com/gitlab-org/gitlab-workhorse/internal/proxy"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/senddata"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/sendfile"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/staticpages"
)
type
route
struct
{
...
...
internal/upstream/upstream.go
View file @
ff480401
...
...
@@ -7,14 +7,15 @@ In this file we handle request routing and interaction with the authBackend.
package
upstream
import
(
"../badgateway"
"../helper"
"../urlprefix"
"fmt"
"net/http"
"net/url"
"strings"
"time"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/badgateway"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/urlprefix"
)
var
DefaultBackend
=
helper
.
URLMustParse
(
"http://localhost:8080"
)
...
...
main.go
View file @
ff480401
...
...
@@ -14,7 +14,6 @@ In this file we start the web server and hand off to the upstream type.
package
main
import
(
"./internal/upstream"
"flag"
"fmt"
"log"
...
...
@@ -24,6 +23,8 @@ import (
"os"
"syscall"
"time"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/upstream"
)
// Current version of GitLab Workhorse
...
...
main_test.go
View file @
ff480401
package
main
import
(
"./internal/api"
"./internal/helper"
"./internal/testhelper"
"./internal/upstream"
"bytes"
"encoding/base64"
"encoding/json"
...
...
@@ -22,6 +18,11 @@ import (
"strings"
"testing"
"time"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/api"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/upstream"
)
const
scratchDir
=
"testdata/scratch"
...
...
proxy_test.go
View file @
ff480401
package
main
import
(
"./internal/badgateway"
"./internal/helper"
"./internal/proxy"
"./internal/testhelper"
"bytes"
"fmt"
"io"
...
...
@@ -14,6 +10,11 @@ import (
"regexp"
"testing"
"time"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/badgateway"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/helper"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/proxy"
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
)
func
newProxy
(
url
string
,
rt
*
badgateway
.
RoundTripper
)
*
proxy
.
Proxy
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment