@@ -317,9 +317,17 @@ func serializeBackendSection(a StructuredToParserArgs, b *models.Backend) error
317317 return a .HandleError (strconv .FormatInt (int64 (i ), 10 ), BackendParentName , b .Name , a .TID , a .TID == "" , err )
318318 }
319319 }
320- for _ , template := range b .ServerTemplates {
321- if err = p .Insert (parser .Backends , b .Name , "server-template" , SerializeServerTemplate (template , a .Options ), - 1 ); err != nil {
322- return a .HandleError (template .Prefix , BackendParentName , b .Name , a .TID , a .TID == "" , err )
320+
321+ // Ensure sorting of ServerTemplates by name
322+ orderedNames = make ([]string , 0 , len (b .ServerTemplates ))
323+ for name := range b .ServerTemplates {
324+ orderedNames = append (orderedNames , name )
325+ }
326+ sort .Strings (orderedNames )
327+ for _ , name := range orderedNames {
328+ localT := b .ServerTemplates [name ]
329+ if err = p .Insert (parser .Backends , b .Name , "server-template" , SerializeServerTemplate (localT , a .Options ), - 1 ); err != nil {
330+ return a .HandleError (localT .Prefix , BackendParentName , b .Name , a .TID , a .TID == "" , err )
323331 }
324332 }
325333 for i , rule := range b .HTTPAfterResponseRuleList {
0 commit comments