feat(changelogs): add support for change logs in controller templates by jbw976 · Pull Request #491 · crossplane/upjet (original) (raw)

Description of your changes

This PR adds change logs support to upjet. I was a bit surprised, but from my testing it seems that the only change needed to upjet itself is within the controller template. The rest is within providers, such as crossplane-contrib/provider-upjet-aws@main...jbw976:provider-upjet-aws:changelogs.

Using crossplane-contrib/provider-kubernetes#354 as a model, the change in this PR simply checks to see if the alpha change logs feature is enabled in the crossplane-runtime features, and if so the change log client from the controller options is added to the managed reconciler options. That's it 😇

I have:

How has this code been tested

I have consumed this change in provider-upjet-aws in my changelogs branch and published a build to index.docker.io/jbw976/provider-aws-s3:v1.21.1-18.ga1784c7e5.dirty.

This flow and experience can be seen in more detail in https://github.com/jbw976/demo-upjet-changelogs.