kong
kong copied to clipboard
feat(test): add reconfiguration completion detection plugin
Summary
Unlike the previous implementation, this one does not require changes to Kong and its proxy path. It works based on the assumption that the order of admin API changes is preserved. The admin API client marks the end of the changes that it needs to see propagated to the data plane(s) by changing the configuration of this plugin, setting a particular configuration version number. On the proxy path, a header X-Kong-Configuration-Version is sent with that version number. The plugin's access handler verifies that the version number configured in the plugin (on the dataplane) matches the version number requested by the client. If the version numbers do not match, a 503 error is generated, which causes the client to retry.
Checklist
- [X] The Pull Request has tests
- [ ] A changelog file has been created under
changelog/unreleased/kong
orskip-changelog
label added on PR if changelog is unnecessary. README.md - [ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE
Issue reference
KAG-3265