aboutsummaryrefslogtreecommitdiff
path: root/pkg/config/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/config/config.go')
-rw-r--r--pkg/config/config.go64
1 files changed, 53 insertions, 11 deletions
diff --git a/pkg/config/config.go b/pkg/config/config.go
index fd19808..812a06e 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -30,10 +30,13 @@ type (
// configuration represents file configuration.
// fields needs to be exported to cmp to work
configuration struct {
- Scan *scan
- RootReadme string
- ListenAddr string
- Repositories []*GitRepositoryConfiguration
+ Scan *scan
+ RootReadme string
+ ListenAddr string
+ Passphrase string
+ SyntaxHighlight string
+ AESKey string
+ Repositories []*GitRepositoryConfiguration
}
// This is a per repository configuration.
@@ -50,9 +53,12 @@ type (
// This holds all the function necessary to ask for configuration
// information.
ConfigurationRepository struct {
- rootReadme string
- listenAddr string
- repositories []*GitRepositoryConfiguration
+ rootReadme string
+ listenAddr string
+ passphrase string
+ aesKey string
+ syntaxHighlight string
+ repositories []*GitRepositoryConfiguration
}
)
@@ -68,9 +74,12 @@ func LoadConfigurationRepository(configPath string) (*ConfigurationRepository, e
}
repo := &ConfigurationRepository{
- rootReadme: config.RootReadme,
- listenAddr: config.ListenAddr,
- repositories: config.Repositories,
+ aesKey: config.AESKey,
+ listenAddr: config.ListenAddr,
+ passphrase: config.Passphrase,
+ repositories: config.Repositories,
+ rootReadme: config.RootReadme,
+ syntaxHighlight: config.SyntaxHighlight,
}
if config.Scan.Path != "" {
@@ -81,7 +90,6 @@ func LoadConfigurationRepository(configPath string) (*ConfigurationRepository, e
}
return repo, nil
-
}
// GetRootReadme returns root read path
@@ -89,6 +97,10 @@ func (c *ConfigurationRepository) GetRootReadme() string {
return c.rootReadme
}
+func (c *ConfigurationRepository) GetSyntaxHighlight() string {
+ return c.syntaxHighlight
+}
+
func (c *ConfigurationRepository) GetListenAddr() string {
return c.listenAddr
}
@@ -170,6 +182,21 @@ 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 = setSyntaxHighlight(block, &config.SyntaxHighlight)
+ if err != nil {
+ return nil, err
+ }
+
err = setRepositories(block, &config.Repositories)
if err != nil {
return nil, err
@@ -263,6 +290,21 @@ 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 setSyntaxHighlight(block scfg.Block, listenAddr *string) error {
+ scanDir := block.Get("syntax-highlight")
+ return setString(scanDir, listenAddr)
+}
+
func setListenAddr(block scfg.Block, listenAddr *string) error {
scanDir := block.Get("listen-addr")
return setString(scanDir, listenAddr)