Skip to content

ADR: CRD versioning #505

@fhennig

Description

@fhennig

We need to know:

  • How do we manage different CRD versions in the operators? At code level, are there multiple rust structs? What about obake?
  • Our operators request our objects as well (i.e. AuthenticationClass) - is there anything to consider here?
  • How to handle breaking changes in common structs like our TLS validation fragment. This will lead to a lot of changes in the operator CRDs. (PDBs, ProductImageSelection, ...)
  • How to keep track of deleted fields
  • Document/ADR: do we deprecate versions after a while or we maintain a full history of all versions? -> https://docs.stackable.tech/home/stable/policies#_crd_versioning_lifecycle_policy

On technical level: How can we reduce the size of our CRDs? yaml anchors? modified serializer?

Conversion webhooks:

  • In code we can write our code with from and into to do our conversions

Conversion use-cases:

  • Upgrade our platform, no skipped versions.
  • What are valid use cases we want to support? Upgrading? Downgrading? skipping versions? ...
  • Upgrade our platform, no skipped versions.
  • ....

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions