Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

change: sync config of APISIX V3 version #347

Closed
wants to merge 1 commit into from

Conversation

tzssangglass
Copy link
Member

@tzssangglass tzssangglass commented Sep 15, 2022

In APISIX V3 version, there are some breaking changes in config-default.yaml, and this PR is changed synchronously to this repo.

The following are the PRs I have filtered in relation to breaking changes:
apache/apisix#7716
apache/apisix#7717
apache/apisix#7806
apache/apisix#7860
apache/apisix#7823
apache/apisix#7901 (in review)

I am not familiar with the helm chart, please let me know if there is anything else that needs to be changed.

@tzssangglass tzssangglass marked this pull request as ready for review September 15, 2022 08:10
@tokers
Copy link
Contributor

tokers commented Sep 19, 2022

I have a concern that once we synced the content of config.yaml to v3, how can we improve the config.yaml for APISIX v2.x? IMHO the content of config.yaml in the ConfigMap may still lose some content in comparison to the one in APISIX repo. We don't have a release branch to allow us to iterate released versions.

Also, v3 is brand new and it's not uncommon that in a long while a lot of users will still use APISIX v2. It's worth paying more attention to this, not just syncing the differences.

cc @tao12345666333 @moonming

@moonming
Copy link
Member

can we add version when installing apisix?

@tzssangglass
Copy link
Member Author

There should be two versions, corresponding to V2 and V3 of APISIX?

@tokers
Copy link
Contributor

tokers commented Sep 19, 2022

There should be two versions, corresponding to V2 and V3 of APISIX?

Yes.

@tao12345666333
Copy link
Member

I have a concern that once we synced the content of config.yaml to v3, how can we improve the config.yaml for APISIX v2.x? IMHO the content of config.yaml in the ConfigMap may still lose some content in comparison to the one in APISIX repo. We don't have a release branch to allow us to iterate released versions.

Also, v3 is brand new and it's not uncommon that in a long while a lot of users will still use APISIX v2. It's worth paying more attention to this, not just syncing the differences.

cc @tao12345666333 @moonming

Maybe we can maintain a new branch dedicated to releasing v3 related Helm charts.
But this causes users to install v3 silently when installing the latest version.

I suggest that instead of maintaining a specific branch, we can directly add a configuration item to complete its compatibility.

@tokers
Copy link
Contributor

tokers commented Sep 20, 2022

I have a concern that once we synced the content of config.yaml to v3, how can we improve the config.yaml for APISIX v2.x? IMHO the content of config.yaml in the ConfigMap may still lose some content in comparison to the one in APISIX repo. We don't have a release branch to allow us to iterate released versions.

Also, v3 is brand new and it's not uncommon that in a long while a lot of users will still use APISIX v2. It's worth paying more attention to this, not just syncing the differences.

cc @tao12345666333 @moonming

Maybe we can maintain a new branch dedicated to releasing v3 related Helm charts.

But this causes users to install v3 silently when installing the latest version.

I suggest that instead of maintaining a specific branch, we can directly add a configuration item to complete its compatibility.

You mean, translating the configuration according to the apisix version?

@tao12345666333
Copy link
Member

It can be like this:

# Add option for APISIX major version.

if apisix_major_version == 'v3'
    # using v3 configuration template    
else
     # using v2 configuration template

Or we can add some translate logic in Chart.
I think this way the user experience will be better, but this may also lead to some confusion for users.

Typically, users prefer the configuration item to be the same as the actual configuration used.

@tzssangglass
Copy link
Member Author

any news?

@tao12345666333
Copy link
Member

I tend to use the first way.
If we want to continue, we should first reach a consensus

@tzssangglass
Copy link
Member Author

what are your options? cc @tokers @nic-6443 @moonming @gxthrj

@tokers
Copy link
Contributor

tokers commented Sep 25, 2022

The apisix_major_version can be detected from the APISXI image? We don't need to let our users do the choice.

@tao12345666333
Copy link
Member

The apisix_major_version can be detected from the APISXI image? We don't need to let our users do the choice.

In this case, it means that APISIX is required to complete the compatibility of related configurations?

@tzssangglass
Copy link
Member Author

The apisix_major_version can be detected from the APISXI image? We don't need to let our users do the choice.

here: https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L588

@tzssangglass
Copy link
Member Author

In this case, it means that APISIX is required to complete the compatibility of related configurations?

In fact APISIX is hardly compatible and some modifications are inherently breaking change.

@tokers
Copy link
Contributor

tokers commented Sep 26, 2022

The apisix_major_version can be detected from the APISXI image? We don't need to let our users do the choice.

here: https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L588

I mean, from the APISIX image tag, we can know the version. Then we can decide how to render the config.

@tzssangglass
Copy link
Member Author

I mean, from the APISIX image tag, we can know the version.

Use an image with a 3.0 version number after the 3.0 release?
ref: https://hub.docker.com/r/apache/apisix/tags

@tokers
Copy link
Contributor

tokers commented Sep 26, 2022

I mean, from the APISIX image tag, we can know the version.

Use an image with a 3.0 version number after the 3.0 release? ref: https://hub.docker.com/r/apache/apisix/tags

Yep.

@tzssangglass
Copy link
Member Author

tzssangglass commented Sep 29, 2022

The APISIX 3.0 beta image has been generated: https://hub.docker.com/r/apache/apisix/tags?page=1&name=2.99 and we can move forward. I need someone to help me to deal with determining based on the version number.

cc @tao12345666333

@tao12345666333
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants