crowdsecurity/crowdsec · error

while pulling allowlist: %w

Error message

while pulling allowlist: %w

What it means

PullAllowlist failed while updating a single allowlist link via UpdateAllowlists (download of the allowlist content, parsing, applying). The inner error carries the real cause; this wrapper only identifies the allowlist-pull stage. Note the message text says 'blocklist' — a copy-paste in the wrap.

Source

Thrown at pkg/apiserver/apic.go:704

		}
	}

	return nil
}

// we receive a link to a blocklist, we pull the content of the blocklist and we create one alert
func (a *apic) PullBlocklist(ctx context.Context, blocklist *modelscapi.BlocklistLink, forcePull bool) error {
	addCounters, _ := makeAddAndDeleteCounters()
	if err := a.UpdateBlocklists(ctx, []*modelscapi.BlocklistLink{blocklist}, addCounters, forcePull); err != nil {
		return fmt.Errorf("while pulling blocklist: %w", err)
	}

	return nil
}

func (a *apic) PullAllowlist(ctx context.Context, allowlist *modelscapi.AllowlistLink, forcePull bool) error {
	if err := a.UpdateAllowlists(ctx, []*modelscapi.AllowlistLink{allowlist}, forcePull); err != nil {
		return fmt.Errorf("while pulling allowlist: %w", err)
	}

	return nil
}

func (a *apic) updateOneAllowlist(ctx context.Context, client *apiclient.ApiClient, link *modelscapi.AllowlistLink) error {
	if log.IsLevelEnabled(log.TraceLevel) {
		log.Tracef("allowlist body: %+v", spew.Sdump(link))
	}

	if link.Name == nil {
		log.Warn("allowlist has no name")
		return nil
	}

	if link.URL == nil {
		log.Warnf("allowlist %s has no URL", *link.Name)
		return nil

View on GitHub (pinned to 909b515798)

Solutions

  1. Check the wrapped error for the real cause: URL fetch failure, bad content, or DB error
  2. Verify the allowlist URL is reachable and returns the expected plain-text format
  3. Retry on the next pull cycle once the upstream allowlist host recovers
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at pkg/apiserver/apic.go:704 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of crowdsecurity/crowdsec@909b515798 (2026-09-06). Data as JSON: /api/errors/da65698f80e667f4. Report an issue: GitHub.