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)