@@ -1333,9 +1333,50 @@ func getImmutableFieldChanges(currentSpec, desiredSpec map[string]any) []string
13331333
13341334// formatVolumeClaimChanges handles the special case of formatting changes to volumeClaimTemplates
13351335func formatVolumeClaimChanges (currentVal , desiredVal any ) []string {
1336- // Special formatting for volumeClaimTemplates changes
1337- // Shows storage size changes for each template
1338- return []string {}
1336+ currentTemplates , ok := currentVal .([]any )
1337+ if ! ok {
1338+ return []string {formatFieldChange ("volumeClaimTemplates" , currentVal , desiredVal )}
1339+ }
1340+
1341+ desiredTemplates , ok := desiredVal .([]any )
1342+ if ! ok {
1343+ return []string {formatFieldChange ("volumeClaimTemplates" , currentVal , desiredVal )}
1344+ }
1345+
1346+ if len (currentTemplates ) != len (desiredTemplates ) {
1347+ return []string {formatFieldChange ("volumeClaimTemplates" , currentVal , desiredVal )}
1348+ }
1349+
1350+ var changes []string
1351+ for i := range desiredTemplates {
1352+ desiredTemplate , ok := desiredTemplates [i ].(map [string ]any )
1353+ if ! ok {
1354+ continue
1355+ }
1356+ currentTemplate , ok := currentTemplates [i ].(map [string ]any )
1357+ if ! ok {
1358+ continue
1359+ }
1360+
1361+ // Extract just the template name without storage size
1362+ metadata , ok := desiredTemplate ["metadata" ].(map [string ]any )
1363+ if ! ok {
1364+ continue
1365+ }
1366+ name , ok := metadata ["name" ].(string )
1367+ if ! ok || name == "" {
1368+ continue
1369+ }
1370+
1371+ desiredStorage := getTemplateStorage (desiredTemplate )
1372+ currentStorage := getTemplateStorage (currentTemplate )
1373+
1374+ if currentStorage != desiredStorage {
1375+ changes = append (changes , fmt .Sprintf (" - volumeClaimTemplates.%s:\n from: %q\n to: %q" ,
1376+ name , currentStorage , desiredStorage ))
1377+ }
1378+ }
1379+ return changes
13391380}
13401381
13411382func (sc * syncContext ) applyObject (t * syncTask , dryRun , validate bool ) (common.ResultCode , string ) {
0 commit comments