@@ -67,7 +67,8 @@ func (cnf *Configurator) AddOrUpdateIngress(ingEx *IngressEx) error {
67
67
68
68
func (cnf * Configurator ) addOrUpdateIngress (ingEx * IngressEx ) error {
69
69
pems , jwtKeyFileName := cnf .updateSecrets (ingEx )
70
- nginxCfg := cnf .generateNginxCfg (ingEx , pems , jwtKeyFileName , false )
70
+ isMinion := false
71
+ nginxCfg := cnf .generateNginxCfg (ingEx , pems , jwtKeyFileName , isMinion )
71
72
name := objectMetaToFileName (& ingEx .Ingress .ObjectMeta )
72
73
content , err := cnf .templateExecutor .ExecuteIngressConfigTemplate (& nginxCfg )
73
74
if err != nil {
@@ -120,7 +121,8 @@ func (cnf *Configurator) generateNginxCfgForMergeableIngresses(mergeableIngs *Me
120
121
}
121
122
122
123
pems , jwtKeyFileName := cnf .updateSecrets (mergeableIngs .Master )
123
- masterNginxCfg := cnf .generateNginxCfg (mergeableIngs .Master , pems , jwtKeyFileName , false )
124
+ isMinion := false
125
+ masterNginxCfg := cnf .generateNginxCfg (mergeableIngs .Master , pems , jwtKeyFileName , isMinion )
124
126
125
127
masterServer = masterNginxCfg .Servers [0 ]
126
128
masterServer .IngressResource = objectMetaToFileName (& mergeableIngs .Master .Ingress .ObjectMeta )
@@ -148,7 +150,8 @@ func (cnf *Configurator) generateNginxCfgForMergeableIngresses(mergeableIngs *Me
148
150
}
149
151
150
152
pems , jwtKeyFileName := cnf .updateSecrets (minion )
151
- nginxCfg := cnf .generateNginxCfg (minion , pems , jwtKeyFileName , true )
153
+ isMinion := true
154
+ nginxCfg := cnf .generateNginxCfg (minion , pems , jwtKeyFileName , isMinion )
152
155
153
156
for _ , server := range nginxCfg .Servers {
154
157
for _ , loc := range server .Locations {
@@ -201,7 +204,7 @@ func (cnf *Configurator) updateSecrets(ingEx *IngressEx) (map[string]string, str
201
204
return pems , jwtKeyFileName
202
205
}
203
206
204
- func (cnf * Configurator ) generateNginxCfg (ingEx * IngressEx , pems map [string ]string , jwtKeyFileName string , minion bool ) IngressNginxConfig {
207
+ func (cnf * Configurator ) generateNginxCfg (ingEx * IngressEx , pems map [string ]string , jwtKeyFileName string , isMinion bool ) IngressNginxConfig {
205
208
ingCfg := cnf .createConfig (ingEx )
206
209
207
210
upstreams := make (map [string ]Upstream )
@@ -269,7 +272,7 @@ func (cnf *Configurator) generateNginxCfg(ingEx *IngressEx, pems map[string]stri
269
272
server .SSLCertificateKey = pemFile
270
273
}
271
274
272
- if ! minion && jwtKeyFileName != "" {
275
+ if ! isMinion && jwtKeyFileName != "" {
273
276
server .JWTAuth = & JWTAuth {
274
277
Key : jwtKeyFileName ,
275
278
Realm : ingCfg .JWTRealm ,
@@ -318,7 +321,7 @@ func (cnf *Configurator) generateNginxCfg(ingEx *IngressEx, pems map[string]stri
318
321
319
322
loc := createLocation (pathOrDefault (path .Path ), upstreams [upsName ], & ingCfg , wsServices [path .Backend .ServiceName ], rewrites [path .Backend .ServiceName ],
320
323
sslServices [path .Backend .ServiceName ], grpcServices [path .Backend .ServiceName ])
321
- if minion && jwtKeyFileName != "" {
324
+ if isMinion && jwtKeyFileName != "" {
322
325
loc .JWTAuth = & JWTAuth {
323
326
Key : jwtKeyFileName ,
324
327
Realm : ingCfg .JWTRealm ,
@@ -856,7 +859,9 @@ func upstreamMapToSlice(upstreams map[string]Upstream) []Upstream {
856
859
keys = append (keys , k )
857
860
}
858
861
859
- // this ensures that the slice 'result' is sorted, which is needed for repeatable Unit test results
862
+ // this ensures that the slice 'result' is sorted, which preserves the order of upstream servers
863
+ // in the generated configuration file from one version to another and is also required for repeatable
864
+ // Unit test results
860
865
sort .Strings (keys )
861
866
862
867
result := make ([]Upstream , 0 , len (upstreams ))
0 commit comments