InvalidVersion see history edit this page

Talks about: , , and

Symptom

READY=False, REASON=InvalidVersion. Terminal: the run does not requeue until the spec or the version file is fixed.

Cause

A version spec.version (or a migration boundary) could not be resolved to a parseable semver. The controller refuses to proceed rather than deploy a half-versioned system — a system whose recorded version is unknown is worse for migrations than an unversioned one. The Message names which input failed. By version source:

Common triggers across all of them: a v prefix or trailing whitespace the parser rejects, or non-semver text (e.g. a Git SHA or a latest tag) where a version was expected.

Diagnosis

kubectl describe stageset <name> -n <namespace>   # Message names the failing input
kubectl get stageset <name> -n <namespace> -o jsonpath='{.spec.version}{"\n"}'

Then, depending on which source the Message names:

# fromObject: confirm the field carries a bare semver on the rendered object
stagesetctl build <name> -n <namespace> --stage <stage> | grep -i version

# fromArtifact: confirm the file exists and contains only a semver (e.g. 2.1.0)
# inspect the resolved artifact for the stage named in the Message

Remediation

Match the failing input in the Message: