f68e3aae9325def340ac4f5037168b33c79c0ea2

Author
Ayman Bagabas <ayman.bagabas@gmail.com>
Committer
Ayman Bagabas <ayman.bagabas@gmail.com>
Date

Message

fix(config): trim pk file contents

Diff

 1diff --git a/internal/config/config.go b/internal/config/config.go
 2index b779a7344f0d3a883d5623b37da71f8dbb298b1b..6ec18d799d3358d639c6f0ef0cbbee3d71535e9a 100644
 3--- a/internal/config/config.go
 4+++ b/internal/config/config.go
 5@@ -60,18 +60,19 @@ func NewConfig(cfg *config.Config) (*Config, error) {
 6 
 7 	pks := make([]string, 0)
 8 	for _, k := range cfg.InitialAdminKeys {
 9+		if bts, err := os.ReadFile(k); err == nil {
10+			// pk is a file, set its contents as pk
11+			k = string(bts)
12+		}
13 		var pk = strings.TrimSpace(k)
14-		if pk != "" {
15-			if bts, err := os.ReadFile(k); err == nil {
16-				// pk is a file, set its contents as pk
17-				pk = string(bts)
18-			}
19-			// it is a valid ssh key, nothing to do
20-			if _, _, _, _, err := ssh.ParseAuthorizedKey([]byte(pk)); err != nil {
21-				return nil, fmt.Errorf("invalid initial admin key %q: %w", k, err)
22-			}
23-			pks = append(pks, pk)
24+		if pk == "" {
25+			continue
26+		}
27+		// it is a valid ssh key, nothing to do
28+		if _, _, _, _, err := ssh.ParseAuthorizedKey([]byte(pk)); err != nil {
29+			return nil, fmt.Errorf("invalid initial admin key %q: %w", k, err)
30 		}
31+		pks = append(pks, pk)
32 	}
33 
34 	rs := git.NewRepoSource(cfg.RepoPath)