Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <psteinhardt@gitlab.com>2022-05-25 06:48:40 +0300
committerPatrick Steinhardt <psteinhardt@gitlab.com>2022-05-30 09:09:53 +0300
commit0bc5c6dd945972ffa0b118ce00ca14a6123e09a4 (patch)
tree668be2c397a4f7d859a168e0f40024e1215a90cc
parent5a252a7bfe81e29d0ea673d52f5d28243ec333cc (diff)
gitaly-lfs-smudge: Move configuration-code into separate package
Move the configuration-related code of gitaly-lfs-smudge into a separate package so that we can access and inject it in Gitaly's services.
-rw-r--r--cmd/gitaly-lfs-smudge/lfs_smudge.go5
-rw-r--r--cmd/gitaly-lfs-smudge/lfs_smudge_test.go19
-rw-r--r--cmd/gitaly-lfs-smudge/main.go5
-rw-r--r--cmd/gitaly-lfs-smudge/main_test.go3
-rw-r--r--internal/git/smudge/config.go (renamed from cmd/gitaly-lfs-smudge/config.go)5
-rw-r--r--internal/git/smudge/config_test.go (renamed from cmd/gitaly-lfs-smudge/config_test.go)4
6 files changed, 23 insertions, 18 deletions
diff --git a/cmd/gitaly-lfs-smudge/lfs_smudge.go b/cmd/gitaly-lfs-smudge/lfs_smudge.go
index 501e8ca47..74852bf3a 100644
--- a/cmd/gitaly-lfs-smudge/lfs_smudge.go
+++ b/cmd/gitaly-lfs-smudge/lfs_smudge.go
@@ -7,13 +7,14 @@ import (
"net/url"
"github.com/git-lfs/git-lfs/lfs"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/git/smudge"
"gitlab.com/gitlab-org/gitaly/v15/internal/gitaly/config/prometheus"
"gitlab.com/gitlab-org/gitaly/v15/internal/gitlab"
"gitlab.com/gitlab-org/labkit/log"
"gitlab.com/gitlab-org/labkit/tracing"
)
-func smudge(cfg Config, to io.Writer, from io.Reader) (returnedErr error) {
+func smudgeContents(cfg smudge.Config, to io.Writer, from io.Reader) (returnedErr error) {
// Since the environment is sanitized at the moment, we're only
// using this to extract the correlation ID. The finished() call
// to clean up the tracing will be a NOP here.
@@ -37,7 +38,7 @@ func smudge(cfg Config, to io.Writer, from io.Reader) (returnedErr error) {
return nil
}
-func handleSmudge(ctx context.Context, cfg Config, to io.Writer, from io.Reader) (io.ReadCloser, error) {
+func handleSmudge(ctx context.Context, cfg smudge.Config, to io.Writer, from io.Reader) (io.ReadCloser, error) {
logger := log.ContextLogger(ctx)
ptr, contents, err := lfs.DecodeFrom(from)
diff --git a/cmd/gitaly-lfs-smudge/lfs_smudge_test.go b/cmd/gitaly-lfs-smudge/lfs_smudge_test.go
index 5d8e50db7..477a2131f 100644
--- a/cmd/gitaly-lfs-smudge/lfs_smudge_test.go
+++ b/cmd/gitaly-lfs-smudge/lfs_smudge_test.go
@@ -7,6 +7,7 @@ import (
"testing"
"github.com/stretchr/testify/require"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/git/smudge"
"gitlab.com/gitlab-org/gitaly/v15/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/v15/internal/gitlab"
)
@@ -66,7 +67,7 @@ func TestSuccessfulLfsSmudge(t *testing.T) {
gitlabCfg, cleanup := runTestServer(t, defaultOptions)
defer cleanup()
- cfg := Config{
+ cfg := smudge.Config{
GlRepository: "project-1",
Gitlab: gitlabCfg,
TLS: config.TLS{
@@ -75,15 +76,15 @@ func TestSuccessfulLfsSmudge(t *testing.T) {
},
}
- require.NoError(t, smudge(cfg, &b, reader))
+ require.NoError(t, smudgeContents(cfg, &b, reader))
require.Equal(t, testData, b.String())
})
}
}
func TestUnsuccessfulLfsSmudge(t *testing.T) {
- defaultConfig := func(t *testing.T, gitlabCfg config.Gitlab) Config {
- return Config{
+ defaultConfig := func(t *testing.T, gitlabCfg config.Gitlab) smudge.Config {
+ return smudge.Config{
GlRepository: "project-1",
Gitlab: gitlabCfg,
}
@@ -91,7 +92,7 @@ func TestUnsuccessfulLfsSmudge(t *testing.T) {
testCases := []struct {
desc string
- setupCfg func(*testing.T, config.Gitlab) Config
+ setupCfg func(*testing.T, config.Gitlab) smudge.Config
data string
expectedError bool
options gitlab.TestServerOptions
@@ -121,7 +122,7 @@ func TestUnsuccessfulLfsSmudge(t *testing.T) {
{
desc: "missing GL_REPOSITORY",
data: lfsPointer,
- setupCfg: func(t *testing.T, gitlabCfg config.Gitlab) Config {
+ setupCfg: func(t *testing.T, gitlabCfg config.Gitlab) smudge.Config {
cfg := defaultConfig(t, gitlabCfg)
cfg.GlRepository = ""
return cfg
@@ -132,7 +133,7 @@ func TestUnsuccessfulLfsSmudge(t *testing.T) {
{
desc: "missing GL_INTERNAL_CONFIG",
data: lfsPointer,
- setupCfg: func(t *testing.T, gitlabCfg config.Gitlab) Config {
+ setupCfg: func(t *testing.T, gitlabCfg config.Gitlab) smudge.Config {
cfg := defaultConfig(t, gitlabCfg)
cfg.Gitlab = config.Gitlab{}
return cfg
@@ -156,7 +157,7 @@ func TestUnsuccessfulLfsSmudge(t *testing.T) {
{
desc: "invalid TLS paths",
data: lfsPointer,
- setupCfg: func(t *testing.T, gitlabCfg config.Gitlab) Config {
+ setupCfg: func(t *testing.T, gitlabCfg config.Gitlab) smudge.Config {
cfg := defaultConfig(t, gitlabCfg)
cfg.TLS = config.TLS{CertPath: "fake-path", KeyPath: "not-real"}
return cfg
@@ -174,7 +175,7 @@ func TestUnsuccessfulLfsSmudge(t *testing.T) {
cfg := tc.setupCfg(t, gitlabCfg)
var b bytes.Buffer
- err := smudge(cfg, &b, strings.NewReader(tc.data))
+ err := smudgeContents(cfg, &b, strings.NewReader(tc.data))
if tc.expectedError {
require.Error(t, err)
diff --git a/cmd/gitaly-lfs-smudge/main.go b/cmd/gitaly-lfs-smudge/main.go
index 397989b3c..9db0fbd55 100644
--- a/cmd/gitaly-lfs-smudge/main.go
+++ b/cmd/gitaly-lfs-smudge/main.go
@@ -6,6 +6,7 @@ import (
"os"
"path/filepath"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/git/smudge"
"gitlab.com/gitlab-org/gitaly/v15/internal/helper/env"
gitalylog "gitlab.com/gitlab-org/gitaly/v15/internal/log"
"gitlab.com/gitlab-org/labkit/log"
@@ -58,12 +59,12 @@ func initLogging(environment []string) (io.Closer, error) {
}
func run(environment []string, out io.Writer, in io.Reader) error {
- cfg, err := configFromEnvironment(environment)
+ cfg, err := smudge.ConfigFromEnvironment(environment)
if err != nil {
return fmt.Errorf("loading configuration: %w", err)
}
- if err := smudge(cfg, out, in); err != nil {
+ if err := smudgeContents(cfg, out, in); err != nil {
return fmt.Errorf("running smudge filter: %w", err)
}
diff --git a/cmd/gitaly-lfs-smudge/main_test.go b/cmd/gitaly-lfs-smudge/main_test.go
index 68011289b..37814a34b 100644
--- a/cmd/gitaly-lfs-smudge/main_test.go
+++ b/cmd/gitaly-lfs-smudge/main_test.go
@@ -11,6 +11,7 @@ import (
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitaly/v15/internal/command"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/git/smudge"
"gitlab.com/gitlab-org/gitaly/v15/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/v15/internal/testhelper"
"gitlab.com/gitlab-org/gitaly/v15/internal/testhelper/testcfg"
@@ -70,7 +71,7 @@ func TestGitalyLFSSmudge(t *testing.T) {
setup: func(t *testing.T) ([]string, string) {
logDir := testhelper.TempDir(t)
- cfg := Config{
+ cfg := smudge.Config{
GlRepository: "project-1",
Gitlab: gitlabCfg,
TLS: tlsCfg,
diff --git a/cmd/gitaly-lfs-smudge/config.go b/internal/git/smudge/config.go
index 521373617..79ca4b1ba 100644
--- a/cmd/gitaly-lfs-smudge/config.go
+++ b/internal/git/smudge/config.go
@@ -1,4 +1,4 @@
-package main
+package smudge
import (
"encoding/json"
@@ -26,7 +26,8 @@ type Config struct {
TLS config.TLS `json:"tls"`
}
-func configFromEnvironment(environment []string) (Config, error) {
+// ConfigFromEnvironment loads the Config structure from the set of given environment variables.
+func ConfigFromEnvironment(environment []string) (Config, error) {
var cfg Config
// If ConfigEnvironmentKey is set, then we use that instead of the separate environment
diff --git a/cmd/gitaly-lfs-smudge/config_test.go b/internal/git/smudge/config_test.go
index a7a855953..d988bf16c 100644
--- a/cmd/gitaly-lfs-smudge/config_test.go
+++ b/internal/git/smudge/config_test.go
@@ -1,4 +1,4 @@
-package main
+package smudge
import (
"encoding/json"
@@ -134,7 +134,7 @@ func TestConfigFromEnvironment(t *testing.T) {
},
} {
t.Run(tc.desc, func(t *testing.T) {
- cfg, err := configFromEnvironment(tc.environment)
+ cfg, err := ConfigFromEnvironment(tc.environment)
if tc.expectedErr == "" {
require.NoError(t, err)
} else {