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
We are using VMOperator + VM CR recourses, and manage them via terraform.
We modify Cluster CR inside terraform configuration and apply them via terraform's kubernetes provider.
In some cases this results in full replace of CR inside kubernetes cluster, which results in downtimes.
For example, if you modify anything inside vmstoragevolumeClaimTemplate it will force replace of full CR, instead of modifying it.
This happens because of x-kubernetes-preserve-unknown-fields: true flag, which exists in a lot of parts of victoriametrics CRDs.
Hello, thanks for reporting. It's really unexpected to me, that terraform handles such fields with replace.
x-kubernetes-preserve-unknown-fields was added, because CRD definition grows extremely large.
And it's not possible to use all CRDs as bundle. There is 1 MB limit for kubernetes configmaps.
Probably, there is some work arounds for terraform kubernetes provider case?
Hello!
We are using VMOperator + VM CR recourses, and manage them via terraform.
We modify Cluster CR inside terraform configuration and apply them via terraform's kubernetes provider.
In some cases this results in full replace of CR inside kubernetes cluster, which results in downtimes.
For example, if you modify anything inside
vmstorage
volumeClaimTemplate
it will force replace of full CR, instead of modifying it.This happens because of
x-kubernetes-preserve-unknown-fields: true
flag, which exists in a lot of parts of victoriametrics CRDs.This flag basically forces terraform to replace resource, because there is no provided schema for terraform inside this part of CRD. Here is better explanation from one of Terraform's developers .
Is it possible to add schema information for at least some, presumably often modified, parts of Victoriametrics CRDs?
The text was updated successfully, but these errors were encountered: