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

Breaking changes in release 0.12.0 #197

Open
Starttoaster opened this issue Oct 22, 2024 · 0 comments
Open

Breaking changes in release 0.12.0 #197

Starttoaster opened this issue Oct 22, 2024 · 0 comments

Comments

@Starttoaster
Copy link
Contributor

Starttoaster commented Oct 22, 2024

It's not common in this project that we release breaking changes to the custom resource configurations, but we found it necessary in 0.12.0 to make one that induced another (where the second was actually inevitable anyway.)

tl;dr- The advanced configuration for sidecar containers has changed. And the custom resource definitions will need to be applied with kubectl apply --server-side from this point and onward.

We changed the configuration for both sidecar and init container configurations, which is an advanced feature of chia-operator that you likely only use if you develop an application that is meant to be run alongside a chia component installation. Kind of like chia-exporter (though the configuration for the exporter is unchanged.) We changed them so that they were identical in configuration so that it would be more intuitive to use either. Please see the documentation for this here so that you can migrate your config to the new format. Notably, sidecar containers can now use the shareEnv and shareVolumeMount toggles that init containers always had.

The init container configuration had changed too, but in a backwards compatible way, that just introduced new features. It keeps the shareEnv and shareVolumeMount toggles, but also adds the ability to specify your own volumes and volumeMounts for your init containers.

The second breaking change I mentioned being induced by this is that it is now necessary to server-side apply the custom resource definitions. The default for kubectl is to do a client-side apply, which plants an annotation on the deployed resource notating managed fields. All k8s annotations have a length limit, so larger resources like custom resource definitions tend to have issues with client side applies. See this Issue for example on the prometheus operator repository. See the install documentation for information on how to install the CRDs correctly as of now.

I will leave this Issue up through the end of 2024 for people to find if they run into these breaking changes. Thanks for the patience! Hopefully this will very seldomly be required going forward, as we work towards a stable v1.0.0 release of the operator :)

@Starttoaster Starttoaster pinned this issue Oct 22, 2024
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

No branches or pull requests

1 participant