Skip to content

Commit

Permalink
Replace experimental maps and slices with stdlib
Browse files Browse the repository at this point in the history
  • Loading branch information
Juneezee authored Dec 17, 2024
1 parent 68a8650 commit aa8eb1a
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 17 deletions.
12 changes: 6 additions & 6 deletions cmd/traefik/traefik.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@ import (
"fmt"
"io"
stdlog "log"
"maps"
"net/http"
"os"
"os/signal"
"sort"
"slices"
"strings"
"syscall"
"time"
Expand Down Expand Up @@ -48,7 +49,6 @@ import (
"github.com/traefik/traefik/v3/pkg/tracing"
"github.com/traefik/traefik/v3/pkg/types"
"github.com/traefik/traefik/v3/pkg/version"
"golang.org/x/exp/maps"
)

func main() {
Expand Down Expand Up @@ -232,8 +232,8 @@ func setupServer(staticConfiguration *static.Configuration) (*server.Server, err
pluginLogger := log.Ctx(ctx).With().Logger()
hasPlugins := staticConfiguration.Experimental != nil && (staticConfiguration.Experimental.Plugins != nil || staticConfiguration.Experimental.LocalPlugins != nil)
if hasPlugins {
pluginsList := maps.Keys(staticConfiguration.Experimental.Plugins)
pluginsList = append(pluginsList, maps.Keys(staticConfiguration.Experimental.LocalPlugins)...)
pluginsList := slices.Collect(maps.Keys(staticConfiguration.Experimental.Plugins))
pluginsList = append(pluginsList, slices.Collect(maps.Keys(staticConfiguration.Experimental.LocalPlugins))...)

pluginLogger = pluginLogger.With().Strs("plugins", pluginsList).Logger()
pluginLogger.Info().Msg("Loading plugins...")
Expand Down Expand Up @@ -427,7 +427,7 @@ func getDefaultsEntrypoints(staticConfiguration *static.Configuration) []string
}
}

sort.Strings(defaultEntryPoints)
slices.Sort(defaultEntryPoints)
return defaultEntryPoints
}

Expand Down Expand Up @@ -568,7 +568,7 @@ func registerMetricClients(metricsConfig *types.Metrics) []metrics.Registry {
}

func appendCertMetric(gauge gokitmetrics.Gauge, certificate *x509.Certificate) {
sort.Strings(certificate.DNSNames)
slices.Sort(certificate.DNSNames)

labels := []string{
"cn", certificate.Subject.CommonName,
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ require (
go.opentelemetry.io/otel/sdk/log v0.8.0
go.opentelemetry.io/otel/sdk/metric v1.28.0
go.opentelemetry.io/otel/trace v1.32.0
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // No tag on the repo.
golang.org/x/mod v0.21.0
golang.org/x/net v0.30.0
golang.org/x/sync v0.10.0
Expand Down Expand Up @@ -365,6 +364,7 @@ require (
go.uber.org/zap v1.26.0 // indirect
golang.org/x/arch v0.4.0 // indirect
golang.org/x/crypto v0.31.0 // indirect
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
golang.org/x/oauth2 v0.23.0 // indirect
golang.org/x/term v0.27.0 // indirect
google.golang.org/api v0.204.0 // indirect
Expand Down
5 changes: 2 additions & 3 deletions pkg/api/sort.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package api

import (
"cmp"
"net/url"
"sort"

"golang.org/x/exp/constraints"
)

const (
Expand Down Expand Up @@ -357,7 +356,7 @@ func sortByName[T orderedWithName](direction string, results []T) {
})
}

func sortByFunc[T orderedWithName, U constraints.Ordered](direction string, results []T, fn func(int) U) {
func sortByFunc[T orderedWithName, U cmp.Ordered](direction string, results []T, fn func(int) U) {
// Ascending
if direction == ascendantSorting {
sort.Slice(results, func(i, j int) bool {
Expand Down
2 changes: 1 addition & 1 deletion pkg/muxer/http/matcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import (
"fmt"
"net/http"
"regexp"
"slices"
"strings"
"unicode/utf8"

"github.com/rs/zerolog/log"
"github.com/traefik/traefik/v3/pkg/ip"
"github.com/traefik/traefik/v3/pkg/middlewares/requestdecorator"
"golang.org/x/exp/slices"
)

var httpFuncs = map[string]func(*matchersTree, ...string) error{
Expand Down
12 changes: 6 additions & 6 deletions pkg/provider/configuration.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ package provider
import (
"bytes"
"context"
"maps"
"reflect"
"sort"
"slices"
"strings"
"text/template"
"unicode"
Expand All @@ -14,7 +15,6 @@ import (
"github.com/traefik/traefik/v3/pkg/config/dynamic"
"github.com/traefik/traefik/v3/pkg/logs"
"github.com/traefik/traefik/v3/pkg/tls"
"golang.org/x/exp/maps"
)

// Merge merges multiple configurations.
Expand Down Expand Up @@ -80,7 +80,7 @@ func Merge(ctx context.Context, configurations map[string]*dynamic.Configuration
for key := range configurations {
sortedKeys = append(sortedKeys, key)
}
sort.Strings(sortedKeys)
slices.Sort(sortedKeys)

for _, root := range sortedKeys {
conf := configurations[root]
Expand Down Expand Up @@ -423,7 +423,7 @@ func BuildTCPRouterConfiguration(ctx context.Context, configuration *dynamic.TCP
if len(configuration.Services) > 1 {
delete(configuration.Routers, routerName)
loggerRouter.Error().
Msgf("Router %s cannot be linked automatically with multiple Services: %q", routerName, maps.Keys(configuration.Services))
Msgf("Router %s cannot be linked automatically with multiple Services: %q", routerName, slices.Collect(maps.Keys(configuration.Services)))
continue
}

Expand All @@ -446,7 +446,7 @@ func BuildUDPRouterConfiguration(ctx context.Context, configuration *dynamic.UDP
if len(configuration.Services) > 1 {
delete(configuration.Routers, routerName)
loggerRouter.Error().
Msgf("Router %s cannot be linked automatically with multiple Services: %q", routerName, maps.Keys(configuration.Services))
Msgf("Router %s cannot be linked automatically with multiple Services: %q", routerName, slices.Collect(maps.Keys(configuration.Services)))
continue
}

Expand Down Expand Up @@ -494,7 +494,7 @@ func BuildRouterConfiguration(ctx context.Context, configuration *dynamic.HTTPCo
if len(configuration.Services) > 1 {
delete(configuration.Routers, routerName)
loggerRouter.Error().
Msgf("Router %s cannot be linked automatically with multiple Services: %q", routerName, maps.Keys(configuration.Services))
Msgf("Router %s cannot be linked automatically with multiple Services: %q", routerName, slices.Collect(maps.Keys(configuration.Services)))
continue
}

Expand Down

0 comments on commit aa8eb1a

Please sign in to comment.