GoogleContainerTools/skaffold · error
retrieving insecure registries
Error message
retrieving insecure registries: %w
What it means
Wraps a failure from getInsecureRegistries(opts, configs) while preparing the registries configuration for debugging transforms. It means Skaffold could not compute the set of insecure registries from options and loaded configs.
Solutions
- Read the wrapped error to see which config source failed
- Validate skaffold.yaml registry/insecure settings
- Fix or remove the malformed configuration entry
- Re-run the filter command
Defensive patterns
Strategy: try-catch
Try / catch
if err != nil {
return fmt.Errorf("retrieving insecure registries: %w", err)
} Prevention
- Keep registry/insecure entries in skaffold.yaml well-formed
- Avoid duplicate or contradictory registry settings across config sources
When it happens
Trigger: debuggingFilters is enabled and getInsecureRegistries fails after the debug-helpers lookup succeeded, wrapped at filter.go:125 (e.g. config iteration/parse issue in the cfg chain).
Common situations: Malformed registry-related entries in skaffold.yaml or global config, or an internal config-access failure while resolving insecure registries.
Related errors
- resolving debug helpers
- retrieving debug helpers registry
- transforming manifests
- unsupported trigger
- `apply` requires at least one manifest argument
AI-assisted analysis of GoogleContainerTools/skaffold@a1189de023 (2026-09-05).
Data as JSON: /api/errors/313a8c78c0d69f75.
Report an issue: GitHub.
Appendix: source
Thrown at cmd/skaffold/app/cmd/filter.go:125
manifestList, err = manifestList.SetLabels(pkgutil.EnvSliceToMap(opts.CustomLabels, "="),
manifest.NewResourceSelectorLabels(allow, deny))
if err != nil {
return err
}
manifestList, err = manifestList.ReplaceImages(ctx, buildArtifacts, manifest.NewResourceSelectorImages(allow, deny))
if err != nil {
return err
}
if debuggingFilters {
// TODO(bdealwis): refactor this code
debugHelpersRegistry, err := config.GetDebugHelpersRegistry(opts.GlobalConfig)
if err != nil {
return fmt.Errorf("resolving debug helpers: %w", err)
}
insecureRegistries, err := getInsecureRegistries(opts, configs)
if err != nil {
return fmt.Errorf("retrieving insecure registries: %w", err)
}
manifestList, err = debugging.ApplyDebuggingTransforms(manifestList, buildArtifacts, manifest.Registries{
DebugHelpersRegistry: debugHelpersRegistry,
InsecureRegistries: insecureRegistries,
})
if err != nil {
return fmt.Errorf("transforming manifests: %w", err)
}
}
out.Write([]byte(manifestList.String()))
return nil
})
}
func getTransformList(configs []util.VersionedConfig) (map[apim.GroupKind]latest.ResourceFilter, map[apim.GroupKind]latest.ResourceFilter) {
// TODO: remove code duplication by adding a new Filter method to the runner.
// and reuse renderer/util.ConsolidateTransformConfigurationView on GitHub (pinned to a1189de023)