Skip to content

Commit 54d7c7c

Browse files
committed
config merge: handle nil values
Signed-off-by: Benedikt Bongartz <[email protected]>
1 parent 1ed7f6d commit 54d7c7c

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

apis/v1beta1/config.go

+11-3
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,18 @@ func (c *Config) applyDefaultForComponentKinds(logger logr.Logger, componentKind
250250
if err != nil {
251251
return err
252252
}
253+
253254
// We need to ensure we don't remove any fields in defaulting.
254-
mappedCfg := newCfg.(map[string]interface{})
255-
err = mergo.Merge(&mappedCfg, componentConf)
256-
if err != nil {
255+
mappedCfg, ok := newCfg.(map[string]interface{})
256+
if !ok || mappedCfg == nil {
257+
logger.V(1).Info("returned default configuration invalid",
258+
"warn", "could not apply component defaults",
259+
"component", componentName,
260+
)
261+
continue
262+
}
263+
264+
if err := mergo.Merge(&mappedCfg, componentConf); err != nil {
257265
return err
258266
}
259267
cfg.Object[componentName] = mappedCfg

0 commit comments

Comments
 (0)