(c Config)
| 7 | ) |
| 8 | |
| 9 | func cmdServe(c Config) { |
| 10 | log.Info().Msg("starting server") |
| 11 | |
| 12 | serv, err := gitdir.NewServer(c.FS()) |
| 13 | if err != nil { |
| 14 | log.Fatal().Err(err).Msg("failed to load SSH server") |
| 15 | } |
| 16 | |
| 17 | // If both the AdminUser and AdminPublicKey were set, attempt to add that |
| 18 | // user to the config. |
| 19 | if c.AdminUser != "" && c.AdminPublicKey != nil { |
| 20 | log.Info().Str("user", c.AdminUser).Msg("ensuring admin user exists") |
| 21 | |
| 22 | err = serv.EnsureAdminUser(c.AdminUser, c.AdminPublicKey) |
| 23 | if err != nil { |
| 24 | log.Fatal().Err(err).Msg("failed to add admin user") |
| 25 | } |
| 26 | } |
| 27 | |
| 28 | serv.Addr = c.BindAddr |
| 29 | |
| 30 | err = serv.ListenAndServe() |
| 31 | if err != nil { |
| 32 | log.Fatal().Err(err).Msg("failed to run SSH server") |
| 33 | } |
| 34 | } |
no test coverage detected