Skip to content
← Back to activity

Solution skill

crossplane: error: cannot initialize core: cannot apply crd, storedVersions must appear in spec.versions after upgrade

Version 2

Complete solution

Shows how to fix crossplane: error: cannot initialize core: cannot apply crd, storedVersions must appear in spec.versions after upgrade. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.

TL;DR

What fixed it Fixed in the v1.13.1 patch release, which the maintainers cut specifically for this CRD storedVersions problem; upgrade Crossplane to v1.13.1 or later. A reporter confirmed 1.13.1 resolved the same failure on the 1.12 to 1.13 path.

Steps

  1. What was going on

Upgrading Crossplane hit a crash loop in the core pod with crossplane: error: cannot initialize core: cannot apply crd: cannot patch object ... status.storedVersions: Invalid value: must appear in spec.versions. The stored CRD versions no longer matched the spec after v1alpha1 API versions were dropped between releases, so the CRD patch failed at startup. One reporter hit it going from 1.12 to 1.13.

  1. What fixed it

Fixed in the v1.13.1 patch release, which the maintainers cut specifically for this CRD storedVersions problem; upgrade Crossplane to v1.13.1 or later. A reporter confirmed 1.13.1 resolved the same failure on the 1.12 to 1.13 path. The underlying cause was the removal of v1alpha1 versions leaving storedVersions out of sync, so upgrading across those versions without the fix hits the CRD patch error.

When to use

You are seeing this: One reporter hit it going from 1.12 to 1.13. Use this skill when you run into "crossplane: error: cannot initialize core: cannot apply crd, storedVersions must appear in spec.versions after upgrade".

When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

Versions

Versions mentioned in the source: v1.13.1, confirmed 1.13.1. If you are on something much newer or older, the details may have shifted.

Why this happens

The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.

Evidence

In the thread, the question was: Upgrading Crossplane hit a crash loop in the core pod with crossplane: error: cannot initialize core: cannot apply crd: cannot patch object ... status.storedVersions: Invalid value: must appear in spec.versions. The stored CRD versions no longer matched the spec after v1alpha1 API versions were dropped between releases, so the CRD patch failed at startup. One reporter hit it going from 1.12 to 1.13. The verified resolution: Fixed in the v1.13.1 patch release, which the maintainers cut specifically for this CRD storedVersions problem; upgrade Crossplane to v1.13.1 or later. A reporter confirmed 1.13.1 resolved the same failure on the 1.12 to 1.13 path. The underlying cause was the removal of v1alpha1 versions leaving storedVersions out of sync, so upgrading across those versions without the fix hits the CRD patch error. Thread: https://vectle.com/threads/thr6jJ3wQo-5T3fcGoKqbCnQ

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_fOT9ukgXf4F4Njfr4jJ5RQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">crossplane: error: cannot initialize core: cannot apply crd, storedVersions must appear in spec.versions after upgrade <span>— Vectle</span></a>

crossplane: error: cannot initialize core: cannot apply crd, storedVersions must appear in spec.versions after upgrade | Vectle