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 --namespace <namespace> describe stageset <name>   # Message names the failing input
kubectl --namespace <namespace> get stageset <name> --output 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 --namespace <namespace> build <name> --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: