apisix-ingress-controller icon indicating copy to clipboard operation
apisix-ingress-controller copied to clipboard

proposal: use a uniform CRD APIVersion

Open tao12345666333 opened this issue 2 years ago • 3 comments

Currently in this project, we use different apiversions for management of different resources. However, the frequency of change of different resources is not the same, which leads to management confusion.

E.g

ApisixRoute -> v2beta2 ApisixUpstream -> v1 ApisixTls -> v1 ApisixConsumer -> v2alpha1 ApisixClusterConfig -> v2alpha1

Users who are not familiar with this project may be confused about this, and because of the possible lag in the documentation, users may use the old version.

This aspect will increase the user's learning cost. On the other hand, it will increase the maintenance cost of the project. We have to maintain mutual references of multiple resources in the code.

So I propose to use a unified CRD apiversion.

In order to achieve this, we can implement it step by step:`

Introduce the v2beta3 apiversion in the APISIX Ingress v1.4, unify all resources to this version, and deprecate all alpha version resources.

  • [x] v1.3: Introduce v2beta2 api version for ApisixRoute #698
  • [x] v1.4: Introduce v2beta3 api version & remove v1 and v2alpha1 #746
  • [x] v1.5: Introduce v2 stable api version #954 and remove v2beta1 api version #928
  • [ ] v1.6: Remove v2beta2 api version
  • [ ] v1.7: Remove v2beta3 api version

Release v2 apiversion in APISIX Ingress v1.5 and mark all beta versions as deprecated.

tao12345666333 avatar Oct 12 '21 01:10 tao12345666333

mail list discuss:

https://lists.apache.org/thread.html/r7f1d6037334d5558550ceaf79738ca421b6154b0b32854f9a331d1e9%40%3Cdev.apisix.apache.org%3E

tao12345666333 avatar Oct 12 '21 01:10 tao12345666333

Agree, The feature can reduce the cost of understanding.

gxthrj avatar Oct 12 '21 01:10 gxthrj

Update:

I think we can drop the v2beta1 support when the v2 API version is introduced in v1.5. This makes the whole easier to maintain.

tao12345666333 avatar Mar 22 '22 04:03 tao12345666333

This issue has been marked as stale due to 90 days of inactivity. It will be closed in 30 days if no further activity occurs. If this issue is still relevant, please simply write any comment. Even if closed, you can still revive the issue at any time or discuss it on the [email protected] list. Thank you for your contributions.

github-actions[bot] avatar Oct 31 '22 01:10 github-actions[bot]

This issue has been marked as stale due to 90 days of inactivity. It will be closed in 30 days if no further activity occurs. If this issue is still relevant, please simply write any comment. Even if closed, you can still revive the issue at any time or discuss it on the [email protected] list. Thank you for your contributions.

github-actions[bot] avatar Mar 21 '23 01:03 github-actions[bot]

After the release of v1.7, we will be able to close this issue.

tao12345666333 avatar Jul 25 '23 05:07 tao12345666333

https://github.com/apache/apisix-ingress-controller/releases/tag/v1.7.0

V1.7.0 has been released. I will close this one. Thanks all !!!

tao12345666333 avatar Sep 11 '23 13:09 tao12345666333