Skip to content

Version Ranges: Introduce Masterminds/semver #346

Closed
@tmshort

Description

@tmshort

Summary

The Masterminds/semver will be used to parse .spec.version field of the Operator CR.The regular expression contained in the CRD that clients use to validate input before sending to the server must be updated to support version ranges. Due to the complexity and imprecision of the hyphen (-) operator, it will not be included.

  • Update the validator for .spec.version to use Masterminds/semver.
  • Update the variable source code to use Masterminds/semver APIs
  • Update other code locations as necessary
  • Use the alias mmsemver (may change in PR) to refer to Masterminds/sever to distinguish it from blang/semver.
  • Validate existing unit & e2e tests continue to work.
  • Add unit tests to validate ranges, both positive and negative; this should be done without a client (i.e. ginkgo). If necessary, remove the regex in the CRD definition to allow ranges to be used.

Reference

RFC: OLMv1 Version Ranges

Update the Operator CR to support version ranges. There are no direct API changes.

Related GitHub Issues

#345

Dependencies

#344

Updates and Amendments

None.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions