You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 :)
The text was updated successfully, but these errors were encountered:
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
andshareVolumeMount
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
andshareVolumeMount
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 :)
The text was updated successfully, but these errors were encountered: