@@ -25,6 +25,7 @@ import (
25
25
"k8s.io/apimachinery/pkg/api/resource"
26
26
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
27
27
"k8s.io/apimachinery/pkg/runtime/schema"
28
+ "k8s.io/apimachinery/pkg/util/sets"
28
29
"knative.dev/pkg/apis"
29
30
duckv1beta1 "knative.dev/pkg/apis/duck/v1beta1"
30
31
)
@@ -180,7 +181,7 @@ func (status *AppStatus) PropagateServiceAccountStatus(serviceAccount *corev1.Se
180
181
func (status * AppStatus ) PropagateRouteStatus (bindings []QualifiedRouteBinding , routes []Route , undeclaredBindings []QualifiedRouteBinding ) {
181
182
var rs []AppRouteStatus
182
183
var conditions []apis.Condition
183
- var urls [] string
184
+ urls := sets . NewString ()
184
185
185
186
// Ensure output is deterministic
186
187
sort .Slice (bindings , func (i , j int ) bool {
@@ -245,7 +246,7 @@ func (status *AppStatus) PropagateRouteStatus(bindings []QualifiedRouteBinding,
245
246
246
247
conditions = append (conditions , cond )
247
248
rs = append (rs , bindingStatus )
248
- urls = append ( urls , bindingStatus .URL )
249
+ urls . Insert ( bindingStatus .URL )
249
250
}
250
251
251
252
// Add statuses for all bindings that exist but aren't on the App.
@@ -267,12 +268,10 @@ func (status *AppStatus) PropagateRouteStatus(bindings []QualifiedRouteBinding,
267
268
Reason : "ExtraRouteBinding" ,
268
269
Message : fmt .Sprintf ("The Route %s has an extra binding to this App" , binding .Source .String ()),
269
270
})
270
- urls = append (urls , binding .Source .String ())
271
271
}
272
272
273
- // Sort the URLs for deterministic output.
274
- sort .Strings (urls )
275
- status .URLs = urls
273
+ // Sort and dedupe the URLs for deterministic output.
274
+ status .URLs = urls .List ()
276
275
277
276
summaryCondition , allConditions := SummarizeChildConditions (conditions )
278
277
0 commit comments