@@ -74,12 +74,9 @@ func (b Backend) SaveConfigValues(ctx context.Context, key string, values utils.
7474}
7575
7676func (b Backend ) saveGlobalConfigValues (ctx context.Context , values utils.Values ) ( /*checksum*/ string , error ) {
77- globalKubeConfig , err := config .ParseGlobalKubeConfigFromValues (values )
78- if err != nil {
79- return "" , err
80- }
81- if globalKubeConfig == nil {
82- return "" , nil
77+ globalKubeConfig := & config.GlobalKubeConfig {
78+ Values : values ,
79+ Checksum : values .Checksum (),
8380 }
8481
8582 if b .isDebugEnabled (ctx ) {
@@ -90,7 +87,7 @@ func (b Backend) saveGlobalConfigValues(ctx context.Context, values utils.Values
9087 b .logger .Info ("Save global values to ConfigMap" , slog .String ("name" , b .name ))
9188 }
9289
93- err = b .mergeValues (ctx , globalKubeConfig .GetValuesWithGlobalName ())
90+ err : = b .mergeValues (ctx , "global" , globalKubeConfig .GetValues ())
9491
9592 return globalKubeConfig .Checksum , err
9693}
@@ -107,10 +104,9 @@ func (b Backend) isDebugEnabled(ctx context.Context) bool {
107104// saveModuleConfigValues updates module section in ConfigMap.
108105// It uses knownChecksums to prevent KubeConfigChanged event on self-update.
109106func (b Backend ) saveModuleConfigValues (ctx context.Context , moduleName string , values utils.Values ) ( /*checksum*/ string , error ) {
110- moduleKubeConfig := config .ParseModuleKubeConfigFromValues (moduleName , values )
111-
112- if moduleKubeConfig == nil {
113- return "" , nil
107+ moduleKubeConfig := & config.ModuleKubeConfig {
108+ ModuleConfig : * utils .NewModuleConfig (moduleName , values ),
109+ Checksum : values .Checksum (),
114110 }
115111
116112 if b .isDebugEnabled (ctx ) {
@@ -124,7 +120,7 @@ func (b Backend) saveModuleConfigValues(ctx context.Context, moduleName string,
124120 slog .String ("configMapName" , b .name ))
125121 }
126122
127- err := b .mergeValues (ctx , moduleKubeConfig .GetValuesWithModuleName ()) //nolint: staticcheck,nolintlint
123+ err := b .mergeValues (ctx , utils . ModuleNameToValuesKey ( moduleName ), moduleKubeConfig .GetValues ()) //nolint: staticcheck,nolintlint
128124
129125 return moduleKubeConfig .Checksum , err
130126}
@@ -282,15 +278,14 @@ func fromConfigMapData(moduleName string, configData map[string]string) (*utils.
282278 return mc .LoadFromValues (configValues )
283279}
284280
285- func (b Backend ) mergeValues (ctx context.Context , values utils.Values ) error {
286- cmData , err := values .AsConfigMapData ()
287- if err != nil {
288- return err
289- }
281+ func (b Backend ) mergeValues (ctx context.Context , moduleName string , values utils.Values ) error {
290282 return b .updateConfigMap (ctx , func (obj * v1.ConfigMap ) error {
291- for k , v := range cmData {
292- obj .Data [k ] = v
283+ data , err := yaml .Marshal (values )
284+ if err != nil {
285+ return err
293286 }
287+
288+ obj .Data [moduleName ] = string (data )
294289 return nil
295290 })
296291}
0 commit comments