summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>2017-07-06 17:33:13 +0200
committerKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>2017-07-06 17:33:13 +0200
commit10b19aab2193d1c1e6ce77ed9b68a0f8e9cff4b8 (patch)
treee5502a477dc5425f31ccb3a9c6b06470e15d5899
parent947d4d49aa01614137c2a79ea5f865c289f4a39a (diff)
downloadgitlab-shell-10b19aab2193d1c1e6ce77ed9b68a0f8e9cff4b8.tar.gz
Authentication
-rw-r--r--go/internal/handler/receive_pack.go10
-rw-r--r--go/internal/handler/upload_pack.go10
2 files changed, 18 insertions, 2 deletions
diff --git a/go/internal/handler/receive_pack.go b/go/internal/handler/receive_pack.go
index 781bbab..ee55780 100644
--- a/go/internal/handler/receive_pack.go
+++ b/go/internal/handler/receive_pack.go
@@ -5,7 +5,10 @@ import (
"fmt"
"os"
+ "google.golang.org/grpc"
+
pb "gitlab.com/gitlab-org/gitaly-proto/go"
+ "gitlab.com/gitlab-org/gitaly/auth"
"gitlab.com/gitlab-org/gitaly/client"
)
@@ -14,7 +17,12 @@ func ReceivePack(gitalyAddress string, request *pb.SSHReceivePackRequest) (int32
return -1, fmt.Errorf("no gitaly_address given")
}
- conn, err := client.Dial(gitalyAddress, client.DefaultDialOpts)
+ connOpts := client.DefaultDialOpts
+ if token := os.Getenv("GITALY_TOKEN"); token != "" {
+ connOpts = append(client.DefaultDialOpts, grpc.WithPerRPCCredentials(gitalyauth.RPCCredentials(token)))
+ }
+
+ conn, err := client.Dial(gitalyAddress, connOpts)
if err != nil {
return -1, err
}
diff --git a/go/internal/handler/upload_pack.go b/go/internal/handler/upload_pack.go
index 27620f0..b7e81f0 100644
--- a/go/internal/handler/upload_pack.go
+++ b/go/internal/handler/upload_pack.go
@@ -5,7 +5,10 @@ import (
"fmt"
"os"
+ "google.golang.org/grpc"
+
pb "gitlab.com/gitlab-org/gitaly-proto/go"
+ "gitlab.com/gitlab-org/gitaly/auth"
"gitlab.com/gitlab-org/gitaly/client"
)
@@ -14,7 +17,12 @@ func UploadPack(gitalyAddress string, request *pb.SSHUploadPackRequest) (int32,
return -1, fmt.Errorf("no gitaly_address given")
}
- conn, err := client.Dial(gitalyAddress, client.DefaultDialOpts)
+ connOpts := client.DefaultDialOpts
+ if token := os.Getenv("GITALY_TOKEN"); token != "" {
+ connOpts = append(client.DefaultDialOpts, grpc.WithPerRPCCredentials(gitalyauth.RPCCredentials(token)))
+ }
+
+ conn, err := client.Dial(gitalyAddress, connOpts)
if err != nil {
return -1, err
}