-
Notifications
You must be signed in to change notification settings - Fork 326
-
When migrating from operator version 2.4.0 to 2.9.0 I came across a bit of a breaking change. I think in version 2.8.0 a new spec property "service" was added to FluentBitConfig CRD.
My issue with this is, that even though my feeling is that the configuration in this part is optional (there are defaults), this peace of code essentially makes the presence of property mandatory: https://github.com/fluent/fluent-operator/blob/59a231611d9b2d86b24f90902d459b2a7abde679/controllers/fluentbitconfig_controller.go#L402C2-L412C3
So basically, all FluentBitConfig CRs needs to have at least empty object value present:
spec: service: {}
I know it doesn't seem to be such big of a deal, but in the project where we use it it kind of is. Long story short, in our case it is not so easy to enforce every environment on our cluster de redeployed with the updated configuration, so basically it takes just one out of date deployment to render operator stuck in restart loop because of "nil reference panic" (sorry, not a Go developer).
What are your thoughts about it?
Thank you
Beta Was this translation helpful? Give feedback.