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 err

View on GitHub (pinned to dd8f660c0a)

Solutions

  1. Check the config path passed to the service is correct and readable
  2. Fix any YAML syntax or missing-file errors reported in the wrapped message
  3. 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.