diff options
-rw-r--r-- | config.example.scfg | 2 | ||||
-rw-r--r-- | pkg/config/config.go | 26 | ||||
-rw-r--r-- | pkg/config/config_test.go | 4 |
3 files changed, 32 insertions, 0 deletions
diff --git a/config.example.scfg b/config.example.scfg index 9de249b..f29e3ca 100644 --- a/config.example.scfg +++ b/config.example.scfg @@ -3,6 +3,8 @@ listen-addr unix://var/run/cerrado.sock root-readme /srv/git/README.md +passphrase $2a$14$VnB/ZcB1DUDkMnosRA6Y7.dj8h5eroslDxTeXlLwfQX/x86mh6WAq +aes-key 8XHptZxSWCGs1m7QzztX5zNQ7D9NiQevVX0DaUTNMbDpRwFzoJiB0U7K6O/kqIt01jJVgzBUfiR8ES46ZLLb4w== scan /srv/git/ { public true diff --git a/pkg/config/config.go b/pkg/config/config.go index fd19808..902ff0d 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -33,6 +33,8 @@ type ( Scan *scan RootReadme string ListenAddr string + Passphrase string + AESKey string Repositories []*GitRepositoryConfiguration } @@ -52,6 +54,8 @@ type ( ConfigurationRepository struct { rootReadme string listenAddr string + passphrase string + aesKey string repositories []*GitRepositoryConfiguration } ) @@ -71,6 +75,8 @@ func LoadConfigurationRepository(configPath string) (*ConfigurationRepository, e rootReadme: config.RootReadme, listenAddr: config.ListenAddr, repositories: config.Repositories, + passphrase: config.Passphrase, + aesKey: config.AESKey, } if config.Scan.Path != "" { @@ -170,6 +176,16 @@ func parse(r io.Reader) (*configuration, error) { return nil, err } + err = setPassphrase(block, &config.Passphrase) + if err != nil { + return nil, err + } + + err = setAESKey(block, &config.AESKey) + if err != nil { + return nil, err + } + err = setRepositories(block, &config.Repositories) if err != nil { return nil, err @@ -263,6 +279,16 @@ func setRootReadme(block scfg.Block, readme *string) error { return setString(scanDir, readme) } +func setPassphrase(block scfg.Block, listenAddr *string) error { + scanDir := block.Get("passphrase") + return setString(scanDir, listenAddr) +} + +func setAESKey(block scfg.Block, listenAddr *string) error { + scanDir := block.Get("aes-key") + return setString(scanDir, listenAddr) +} + func setListenAddr(block scfg.Block, listenAddr *string) error { scanDir := block.Get("listen-addr") return setString(scanDir, listenAddr) diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 8c1d27e..0970cfa 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -103,6 +103,8 @@ repository /srv/git/cerrado.git { name: "complete", config: ` listen-addr unix://var/run/cerrado/cerrado.sock +passphrase $2a$14$VnB/ZcB1DUDkMnosRA6Y7.dj8h5eroslDxTeXlLwfQX/x86mh6WAq +aes-key 8XHptZxSWCGs1m7QzztX5zNQ7D9NiQevVX0DaUTNMbDpRwFzoJiB0U7K6O/kqIt01jJVgzBUfiR8ES46ZLLb4w== scan "/srv/git" { public true @@ -122,6 +124,8 @@ repository /srv/git/cerrado.git { Path: "/srv/git", }, ListenAddr: "unix://var/run/cerrado/cerrado.sock", + Passphrase: "$2a$14$VnB/ZcB1DUDkMnosRA6Y7.dj8h5eroslDxTeXlLwfQX/x86mh6WAq", + AESKey: "8XHptZxSWCGs1m7QzztX5zNQ7D9NiQevVX0DaUTNMbDpRwFzoJiB0U7K6O/kqIt01jJVgzBUfiR8ES46ZLLb4w==", Repositories: []*GitRepositoryConfiguration{ { Name: "linux.git", |