stackabletech / issues

This repository is only for issues that concern multiple repositories or don't fit into any specific repository
2 stars 0 forks source link

tracking: CRD versioning #642

Open Techassi opened 1 month ago

Techassi commented 1 month ago

This tracks the process of introducing versioning for all CRD related data types and CRDs itself across the SDP. In addition to cross-cutting tasks, there are still some open tasks specific to the stackable-versioned crate. The ADR on CRD versioning will be written based on learnings from all phases.

Documentation Tasks

- [ ] https://github.com/stackabletech/issues/issues/505

Macro Tasks

These open tasks are taken from the CRD versioning macro tracking issue ^1.

### Tasks
- [ ] https://github.com/stackabletech/operator-rs/pull/866
- [ ] https://github.com/stackabletech/operator-rs/pull/881
- [ ] https://github.com/stackabletech/operator-rs/pull/883
- [ ] https://github.com/stackabletech/operator-rs/pull/884
- [ ] https://github.com/stackabletech/operator-rs/pull/891
- [ ] Add support for version pruning / removal
- [ ] Handle up/downgrade round-tripping
- [ ] Auto-generate action docs
- [ ] https://github.com/stackabletech/operator-rs/pull/892
- [ ] Handle versioning of named/unnamed enum fields

Phase One

Introduce stackable-versioned in all operator CRDs. This includes adding the macro to the CRD structs and producing the current v1alpha1 version without introducing any changes. Additionally, generate the merged CRD.

Replace the items in the task lists below with the applicable Pull Requests.

### Tasks
- [ ] https://github.com/stackabletech/airflow-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/commons-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/druid-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/edc-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/hbase-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/hdfs-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/hello-world-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/hive-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/kafka-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/listener-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/nifi-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/opa-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/secret-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/spark-k8s-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/superset-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/trino-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning
- [ ] https://github.com/stackabletech/zookeeper-operator/compare/main...chore/add-crd-versioning?quick_pull=1&title=chore%3A+Add+CRD+versioning

Phase Two

This phase will be an end-to-end implementation of CRD versioning, meaning we do the following tasks:

Phase Three

Profit.