Skip to content

Commit 29ca727

Browse files
committed
BUG/MINOR: acme: ensure ordering when serializing vars
1 parent f72f549 commit 29ca727

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ spec:
3434

3535
.PHONY: models
3636
models: gentypes spec swagger-check go-method-gen-check
37-
rm -rf models/
37+
rm -rf models/*.go
3838
./bin/swagger generate model --additional-initialism=FCGI -f ${PROJECT_PATH}/specification/build/haproxy_spec.yaml -r ${PROJECT_PATH}/specification/copyright.txt -m models -t ${PROJECT_PATH}
3939
./bin/go-method-gen --header-file=specification/copyright.txt --scan=models --debug --overrides=models/funcs/overrides.yaml && find ./generated -name "*.go" -exec cp {} ./models \; && rm -rf generated
4040
go run cmd/struct_equal_generator/*.go -l ${PROJECT_PATH}/specification/copyright.txt ${PROJECT_PATH}/models

configuration/acme_provider.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package configuration
1818
import (
1919
"errors"
2020
"fmt"
21+
"sort"
2122
"strings"
2223

2324
strfmt "github.com/go-openapi/strfmt"
@@ -271,12 +272,19 @@ func serializeAcmeVars(vars map[string]string) (string, error) {
271272
if len(vars) == 0 {
272273
return "", nil
273274
}
274-
275275
var sb strings.Builder
276276
first := true
277277

278+
// Extract and sort the keys
279+
keys := make([]string, 0, len(vars))
280+
for name := range vars {
281+
keys = append(keys, name)
282+
}
283+
sort.Strings(keys)
284+
278285
sb.WriteByte('"')
279-
for k, v := range vars {
286+
for _, k := range keys {
287+
v := vars[k]
280288
if len(k) == 0 {
281289
continue
282290
}

configuration/acme_provider_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func Test_ParseAcmeVars(t *testing.T) {
5858
want map[string]string
5959
}{
6060
{
61-
vars: `"foo=bar,ApiKey=FEFF\,==\""`,
61+
vars: `"ApiKey=FEFF\,==\",foo=bar"`,
6262
want: map[string]string{"foo": "bar", "ApiKey": "FEFF,==\""},
6363
},
6464
}

0 commit comments

Comments
 (0)