GoogleContainerTools/skaffold · error
STATUSCHECK_CONFIG_CONNECTOR_RESOURCES_FETCH_ERR
STATUSCHECK_CONFIG_CONNECTOR_RESOURCES_FETCH_ERR
Error message
could not fetch config connector resources: %w
What it means
statusCheck wraps failures from getConfigConnectorResources with STATUSCHECK_CONFIG_CONNECTOR_RESOURCES_FETCH_ERR. Notably, this specific error is raised before any cluster call: it comes from manifest.ManifestList.SelectResources(manifest.ConfigConnectorResourceSelector...) failing to parse/select resources from the rendered manifests.
Source
Thrown at pkg/skaffold/kubernetes/status/status_check.go:220
resources = append(resources, d)
s.seenResources.Add(d)
}
newStandalonePods, err := getStandalonePods(ctx, client, n, s.labeller, getDeadline((s.deadlineSeconds)), s.tolerateFailures)
if err != nil {
return proto.StatusCode_STATUSCHECK_STANDALONE_PODS_FETCH_ERR, fmt.Errorf("could not fetch standalone pods: %w", err)
}
for _, pods := range newStandalonePods {
if s.seenResources.Contains(pods) {
continue
}
resources = append(resources, pods)
s.seenResources.Add(pods)
}
newConfigConnectorResources, err := getConfigConnectorResources(client, dynClient, s.manifests, n, s.labeller, getDeadline(s.deadlineSeconds), s.tolerateFailures)
if err != nil {
return proto.StatusCode_STATUSCHECK_CONFIG_CONNECTOR_RESOURCES_FETCH_ERR, fmt.Errorf("could not fetch config connector resources: %w", err)
}
for _, d := range newConfigConnectorResources {
if s.seenResources.Contains(d) {
continue
}
resources = append(resources, d)
s.seenResources.Add(d)
}
for _, selector := range s.crSelectors {
customResources, err := getCustomResources(client, dynClient, s.manifests, n, getDeadline(s.deadlineSeconds), s.tolerateFailures, selector)
if err != nil {
return proto.StatusCode_STATUSCHECK_CUSTOM_RESOURCE_FETCH_ERR, fmt.Errorf("could not fetch custom resources: %w", err)
}
for _, d := range customResources {
if s.seenResources.Contains(d) {
continueView on GitHub (pinned to a1189de023)
Solutions
- Inspect the rendered manifests ('skaffold render') and validate YAML with 'kubectl apply --dry-run=client' or yamllint
- Fix malformed manifests referenced by skaffold.yaml (indentation, duplicate keys, bad GVK)
- Update skaffold if the ConfigConnectorResourceSelector GVK list no longer matches your CNRM version
- Isolate the failing manifest by bisecting the manifest list
- Re-run the deploy+status check after manifest fixes
Example fix
// before: malformed manifest (missing GVK)
// apiVersion: cnrm.cloud.google.com/v1beta1
// kind: ""
// after:
// apiVersion: cnrm.cloud.google.com/v1beta1
// kind: SQLInstance
// metadata: { name: my-db } Defensive patterns
Strategy: validation
Validate before calling
// validate manifests before deploy
const rendered = execSync('skaffold render --stdout').toString();
try { YAML.parseAllDocuments(rendered, { uniqueKeys: true }); }
catch (e) { throw new Error('manifest parse error will break config-connector selection: ' + e.message); } Try / catch
try {
await statusCheck();
} catch (err) {
if (err.message.includes('could not fetch config connector resources')) {
// manifest-side failure: re-render and lint manifests
}
throw err;
} Prevention
- Run skaffold render + YAML lint in CI before deploy
- Keep CNRM resource GVKs aligned with your skaffold version
- Avoid hand-editing rendered manifests
- Use uniqueKeys in YAML parsing to catch duplicate keys early
When it happens
Trigger: m.SelectResources(manifest.ConfigConnectorResourceSelector...) returns an error while selecting Config Connector (CNRM) resources from the manifest list — malformed/unparseable manifest YAML, or a selector/predicate error on GVK filtering.
Common situations: Manifests containing invalid or partially-rendered YAML; annotation-based resource injection producing duplicate keys; using Config Connector resources with a manifest pipeline that fails schema-free selection; hand-edited manifests with wrong GVK fields.
Related errors
- could not fetch config connector resources: %w
- error converting %s to map[string]interface{}
- could not fetch custom resources: %w
- invalid local-registry-hosting ConfigMap
- loading post-renderer result: %w
AI-assisted analysis of GoogleContainerTools/skaffold@a1189de023 (2026-09-05).
Data as JSON: /api/errors/4f0c8e3571f3b386.
Report an issue: GitHub.