slackhq/nebula · error
failed to load config: %s
Error message
failed to load config: %s
What it means
Wrapping error in the Windows/macOS service program Start: config.Load failed on the service's config path — no YAML found, unreadable files, or parse errors. The underlying error is appended with %s; the service cannot start without a valid config.
Source
Thrown at cmd/nebula-service/service.go:31
var logger service.Logger
type program struct {
configPath *string
build string
control *nebula.Control
}
func (p *program) Start(s service.Service) error {
// Start should not block.
logger.Info("Nebula service starting.")
l := newPlatformLogger()
c := config.NewC(l)
err := c.Load(*p.configPath)
if err != nil {
return fmt.Errorf("failed to load config: %s", err)
}
if err := logging.ApplyConfig(l, c); err != nil {
return fmt.Errorf("failed to apply logging config: %s", err)
}
c.RegisterReloadCallback(func(c *config.C) {
if err := logging.ApplyConfig(l, c); err != nil {
l.Error("Failed to reconfigure logger on reload", "error", err)
}
})
p.control, err = nebula.Main(c, false, Build, l, nil)
if err != nil {
return err
}
if err := p.control.Start(); err != nil {
return errView on GitHub (pinned to dd8f660c0a)
Solutions
- Check the config path passed to the service is correct and readable
- Fix any YAML syntax or missing-file errors reported in the wrapped message
- Run `nebula-service -config /path/to/config.yaml` explicitly to see the error
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at cmd/nebula-service/service.go:31 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of slackhq/nebula@dd8f660c0a (2026-09-03).
Data as JSON: /api/errors/553da5e3e496a7a3.
Report an issue: GitHub.