Clean old
This commit is contained in:
parent
9908137638
commit
72ffa91fe0
195 changed files with 83 additions and 37524 deletions
|
@ -4,19 +4,8 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/containous/flaeg/parse"
|
||||
"github.com/containous/traefik/old/configuration"
|
||||
"github.com/containous/traefik/old/middlewares/accesslog"
|
||||
"github.com/containous/traefik/old/provider/boltdb"
|
||||
"github.com/containous/traefik/old/provider/consul"
|
||||
"github.com/containous/traefik/old/provider/consulcatalog"
|
||||
"github.com/containous/traefik/old/provider/dynamodb"
|
||||
"github.com/containous/traefik/old/provider/ecs"
|
||||
"github.com/containous/traefik/old/provider/etcd"
|
||||
"github.com/containous/traefik/old/provider/eureka"
|
||||
"github.com/containous/traefik/old/provider/mesos"
|
||||
"github.com/containous/traefik/old/provider/rancher"
|
||||
"github.com/containous/traefik/old/provider/zk"
|
||||
"github.com/containous/traefik/pkg/config/static"
|
||||
"github.com/containous/traefik/pkg/middlewares/accesslog"
|
||||
"github.com/containous/traefik/pkg/ping"
|
||||
"github.com/containous/traefik/pkg/provider/docker"
|
||||
"github.com/containous/traefik/pkg/provider/file"
|
||||
|
@ -134,7 +123,7 @@ func NewTraefikDefaultPointersConfiguration() *TraefikConfiguration {
|
|||
defaultMetrics := types.Metrics{
|
||||
Prometheus: &types.Prometheus{
|
||||
Buckets: types.Buckets{0.1, 0.3, 1.2, 5},
|
||||
EntryPoint: configuration.DefaultInternalEntryPointName,
|
||||
EntryPoint: static.DefaultInternalEntryPointName,
|
||||
},
|
||||
Datadog: &types.Datadog{
|
||||
Address: "localhost:8125",
|
||||
|
@ -167,7 +156,7 @@ func NewTraefikDefaultPointersConfiguration() *TraefikConfiguration {
|
|||
|
||||
// default Rest
|
||||
var defaultRest rest.Provider
|
||||
defaultRest.EntryPoint = configuration.DefaultInternalEntryPointName
|
||||
defaultRest.EntryPoint = static.DefaultInternalEntryPointName
|
||||
|
||||
// default Marathon
|
||||
var defaultMarathon marathon.Provider
|
||||
|
@ -180,91 +169,16 @@ func NewTraefikDefaultPointersConfiguration() *TraefikConfiguration {
|
|||
defaultMarathon.KeepAlive = parse.Duration(10 * time.Second)
|
||||
defaultMarathon.DefaultRule = marathon.DefaultTemplateRule
|
||||
|
||||
// default Consul
|
||||
var defaultConsul consul.Provider
|
||||
defaultConsul.Watch = true
|
||||
defaultConsul.Endpoint = "127.0.0.1:8500"
|
||||
defaultConsul.Prefix = "traefik"
|
||||
|
||||
// default CatalogProvider
|
||||
var defaultConsulCatalog consulcatalog.Provider
|
||||
defaultConsulCatalog.Endpoint = "127.0.0.1:8500"
|
||||
defaultConsulCatalog.ExposedByDefault = true
|
||||
defaultConsulCatalog.Prefix = "traefik"
|
||||
defaultConsulCatalog.FrontEndRule = "Host:{{.ServiceName}}.{{.Domain}}"
|
||||
defaultConsulCatalog.Stale = false
|
||||
|
||||
// default Etcd
|
||||
var defaultEtcd etcd.Provider
|
||||
defaultEtcd.Watch = true
|
||||
defaultEtcd.Endpoint = "127.0.0.1:2379"
|
||||
defaultEtcd.Prefix = "/traefik"
|
||||
|
||||
// default Zookeeper
|
||||
var defaultZookeeper zk.Provider
|
||||
defaultZookeeper.Watch = true
|
||||
defaultZookeeper.Endpoint = "127.0.0.1:2181"
|
||||
defaultZookeeper.Prefix = "traefik"
|
||||
|
||||
// default Boltdb
|
||||
var defaultBoltDb boltdb.Provider
|
||||
defaultBoltDb.Watch = true
|
||||
defaultBoltDb.Endpoint = "127.0.0.1:4001"
|
||||
defaultBoltDb.Prefix = "/traefik"
|
||||
|
||||
// default Kubernetes
|
||||
var defaultKubernetes ingress.Provider
|
||||
defaultKubernetes.Watch = true
|
||||
|
||||
// default Mesos
|
||||
var defaultMesos mesos.Provider
|
||||
defaultMesos.Watch = true
|
||||
defaultMesos.Endpoint = "http://127.0.0.1:5050"
|
||||
defaultMesos.ExposedByDefault = true
|
||||
defaultMesos.RefreshSeconds = 30
|
||||
defaultMesos.ZkDetectionTimeout = 30
|
||||
defaultMesos.StateTimeoutSecond = 30
|
||||
|
||||
// default ECS
|
||||
var defaultECS ecs.Provider
|
||||
defaultECS.Watch = true
|
||||
defaultECS.ExposedByDefault = true
|
||||
defaultECS.AutoDiscoverClusters = false
|
||||
defaultECS.Clusters = ecs.Clusters{"default"}
|
||||
defaultECS.RefreshSeconds = 15
|
||||
|
||||
// default Rancher
|
||||
var defaultRancher rancher.Provider
|
||||
defaultRancher.Watch = true
|
||||
defaultRancher.ExposedByDefault = true
|
||||
defaultRancher.RefreshSeconds = 15
|
||||
|
||||
// default DynamoDB
|
||||
var defaultDynamoDB dynamodb.Provider
|
||||
defaultDynamoDB.RefreshSeconds = 15
|
||||
defaultDynamoDB.TableName = "traefik"
|
||||
defaultDynamoDB.Watch = true
|
||||
|
||||
// default Eureka
|
||||
var defaultEureka eureka.Provider
|
||||
defaultEureka.RefreshSeconds = parse.Duration(30 * time.Second)
|
||||
|
||||
defaultProviders := static.Providers{
|
||||
File: &defaultFile,
|
||||
Docker: &defaultDocker,
|
||||
Rest: &defaultRest,
|
||||
Marathon: &defaultMarathon,
|
||||
Consul: &defaultConsul,
|
||||
ConsulCatalog: &defaultConsulCatalog,
|
||||
Etcd: &defaultEtcd,
|
||||
Zookeeper: &defaultZookeeper,
|
||||
Boltdb: &defaultBoltDb,
|
||||
Kubernetes: &defaultKubernetes,
|
||||
Mesos: &defaultMesos,
|
||||
ECS: &defaultECS,
|
||||
Rancher: &defaultRancher,
|
||||
Eureka: &defaultEureka,
|
||||
DynamoDB: &defaultDynamoDB,
|
||||
File: &defaultFile,
|
||||
Docker: &defaultDocker,
|
||||
Rest: &defaultRest,
|
||||
Marathon: &defaultMarathon,
|
||||
Kubernetes: &defaultKubernetes,
|
||||
}
|
||||
|
||||
return &TraefikConfiguration{
|
||||
|
|
|
@ -1,151 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/BurntSushi/toml"
|
||||
"github.com/containous/traefik/old/log"
|
||||
"github.com/containous/traefik/old/types"
|
||||
"github.com/containous/traefik/pkg/config"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
var oldvalue = `
|
||||
[backends]
|
||||
[backends.backend1]
|
||||
[backends.backend1.servers.server1]
|
||||
url = "http://127.0.0.1:9010"
|
||||
weight = 1
|
||||
[backends.backend2]
|
||||
[backends.backend2.servers.server1]
|
||||
url = "http://127.0.0.1:9020"
|
||||
weight = 1
|
||||
|
||||
[frontends]
|
||||
[frontends.frontend1]
|
||||
backend = "backend1"
|
||||
[frontends.frontend1.routes.test_1]
|
||||
rule = "Host:snitest.com"
|
||||
[frontends.frontend2]
|
||||
backend = "backend2"
|
||||
[frontends.frontend2.routes.test_2]
|
||||
rule = "Host:snitest.org"
|
||||
|
||||
`
|
||||
|
||||
// Temporary utility to convert dynamic conf v1 to v2
|
||||
func main() {
|
||||
log.SetOutput(os.Stdout)
|
||||
log.SetLevel(logrus.DebugLevel)
|
||||
|
||||
oldConfig := &types.Configuration{}
|
||||
_, err := toml.Decode(oldvalue, oldConfig)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
newConfig := config.HTTPConfiguration{
|
||||
Routers: make(map[string]*config.Router),
|
||||
Middlewares: make(map[string]*config.Middleware),
|
||||
Services: make(map[string]*config.Service),
|
||||
}
|
||||
|
||||
for frontendName, frontend := range oldConfig.Frontends {
|
||||
newConfig.Routers[replaceFrontend(frontendName)] = convertFrontend(frontend)
|
||||
if frontend.PassHostHeader {
|
||||
log.Warn("ignore PassHostHeader")
|
||||
}
|
||||
}
|
||||
|
||||
for backendName, backend := range oldConfig.Backends {
|
||||
newConfig.Services[replaceBackend(backendName)] = convertBackend(backend)
|
||||
}
|
||||
|
||||
encoder := toml.NewEncoder(os.Stdout)
|
||||
err = encoder.Encode(newConfig)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func replaceBackend(name string) string {
|
||||
return strings.Replace(name, "backend", "service", -1)
|
||||
}
|
||||
|
||||
func replaceFrontend(name string) string {
|
||||
return strings.Replace(name, "frontend", "router", -1)
|
||||
}
|
||||
|
||||
func convertFrontend(frontend *types.Frontend) *config.Router {
|
||||
router := &config.Router{
|
||||
EntryPoints: frontend.EntryPoints,
|
||||
Middlewares: nil,
|
||||
Service: replaceBackend(frontend.Backend),
|
||||
Priority: frontend.Priority,
|
||||
}
|
||||
|
||||
if len(frontend.Routes) > 1 {
|
||||
log.Fatal("Multiple routes")
|
||||
}
|
||||
|
||||
for _, route := range frontend.Routes {
|
||||
router.Rule = route.Rule
|
||||
}
|
||||
|
||||
return router
|
||||
}
|
||||
|
||||
func convertBackend(backend *types.Backend) *config.Service {
|
||||
service := &config.Service{
|
||||
LoadBalancer: &config.LoadBalancerService{
|
||||
Stickiness: nil,
|
||||
Servers: nil,
|
||||
Method: "",
|
||||
HealthCheck: nil,
|
||||
PassHostHeader: false,
|
||||
},
|
||||
}
|
||||
|
||||
if backend.Buffering != nil {
|
||||
log.Warn("Buffering not implemented")
|
||||
}
|
||||
|
||||
if backend.CircuitBreaker != nil {
|
||||
log.Warn("CircuitBreaker not implemented")
|
||||
}
|
||||
|
||||
if backend.MaxConn != nil {
|
||||
log.Warn("MaxConn not implemented")
|
||||
}
|
||||
|
||||
for _, oldserver := range backend.Servers {
|
||||
service.LoadBalancer.Servers = append(service.LoadBalancer.Servers, config.Server{
|
||||
URL: oldserver.URL,
|
||||
Weight: oldserver.Weight,
|
||||
})
|
||||
}
|
||||
|
||||
if backend.LoadBalancer != nil {
|
||||
service.LoadBalancer.Method = backend.LoadBalancer.Method
|
||||
if backend.LoadBalancer.Stickiness != nil {
|
||||
service.LoadBalancer.Stickiness = &config.Stickiness{
|
||||
CookieName: backend.LoadBalancer.Stickiness.CookieName,
|
||||
}
|
||||
}
|
||||
|
||||
if backend.HealthCheck != nil {
|
||||
service.LoadBalancer.HealthCheck = &config.HealthCheck{
|
||||
Scheme: backend.HealthCheck.Scheme,
|
||||
Path: backend.HealthCheck.Path,
|
||||
Port: backend.HealthCheck.Port,
|
||||
Interval: backend.HealthCheck.Interval,
|
||||
Timeout: backend.HealthCheck.Timeout,
|
||||
Hostname: backend.HealthCheck.Hostname,
|
||||
Headers: backend.HealthCheck.Headers,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return service
|
||||
}
|
|
@ -5,7 +5,6 @@ import (
|
|||
"fmt"
|
||||
stdlog "log"
|
||||
|
||||
"github.com/abronan/valkeyrie/store"
|
||||
"github.com/containous/flaeg"
|
||||
"github.com/containous/staert"
|
||||
"github.com/containous/traefik/cmd"
|
||||
|
@ -18,6 +17,7 @@ func NewCmd(traefikConfiguration *cmd.TraefikConfiguration, traefikPointersConfi
|
|||
Description: `Stores the static traefik configuration into a Key-value stores. Traefik will not start.`,
|
||||
Config: traefikConfiguration,
|
||||
DefaultPointersConfig: traefikPointersConfiguration,
|
||||
HideHelp: true, // TODO storeconfig
|
||||
Metadata: map[string]string{
|
||||
"parseAllSources": "true",
|
||||
},
|
||||
|
@ -116,34 +116,35 @@ func Run(kv *staert.KvSource, traefikConfiguration *cmd.TraefikConfiguration) fu
|
|||
// TLS support is enable for Consul and Etcd backends
|
||||
func CreateKvSource(traefikConfiguration *cmd.TraefikConfiguration) (*staert.KvSource, error) {
|
||||
var kv *staert.KvSource
|
||||
var kvStore store.Store
|
||||
// var kvStore store.Store
|
||||
var err error
|
||||
|
||||
switch {
|
||||
case traefikConfiguration.Providers.Consul != nil:
|
||||
kvStore, err = traefikConfiguration.Providers.Consul.CreateStore()
|
||||
kv = &staert.KvSource{
|
||||
Store: kvStore,
|
||||
Prefix: traefikConfiguration.Providers.Consul.Prefix,
|
||||
}
|
||||
case traefikConfiguration.Providers.Etcd != nil:
|
||||
kvStore, err = traefikConfiguration.Providers.Etcd.CreateStore()
|
||||
kv = &staert.KvSource{
|
||||
Store: kvStore,
|
||||
Prefix: traefikConfiguration.Providers.Etcd.Prefix,
|
||||
}
|
||||
case traefikConfiguration.Providers.Zookeeper != nil:
|
||||
kvStore, err = traefikConfiguration.Providers.Zookeeper.CreateStore()
|
||||
kv = &staert.KvSource{
|
||||
Store: kvStore,
|
||||
Prefix: traefikConfiguration.Providers.Zookeeper.Prefix,
|
||||
}
|
||||
case traefikConfiguration.Providers.Boltdb != nil:
|
||||
kvStore, err = traefikConfiguration.Providers.Boltdb.CreateStore()
|
||||
kv = &staert.KvSource{
|
||||
Store: kvStore,
|
||||
Prefix: traefikConfiguration.Providers.Boltdb.Prefix,
|
||||
}
|
||||
}
|
||||
// TODO kv store
|
||||
// switch {
|
||||
// case traefikConfiguration.Providers.Consul != nil:
|
||||
// kvStore, err = traefikConfiguration.Providers.Consul.CreateStore()
|
||||
// kv = &staert.KvSource{
|
||||
// Store: kvStore,
|
||||
// Prefix: traefikConfiguration.Providers.Consul.Prefix,
|
||||
// }
|
||||
// case traefikConfiguration.Providers.Etcd != nil:
|
||||
// kvStore, err = traefikConfiguration.Providers.Etcd.CreateStore()
|
||||
// kv = &staert.KvSource{
|
||||
// Store: kvStore,
|
||||
// Prefix: traefikConfiguration.Providers.Etcd.Prefix,
|
||||
// }
|
||||
// case traefikConfiguration.Providers.Zookeeper != nil:
|
||||
// kvStore, err = traefikConfiguration.Providers.Zookeeper.CreateStore()
|
||||
// kv = &staert.KvSource{
|
||||
// Store: kvStore,
|
||||
// Prefix: traefikConfiguration.Providers.Zookeeper.Prefix,
|
||||
// }
|
||||
// case traefikConfiguration.Providers.Boltdb != nil:
|
||||
// kvStore, err = traefikConfiguration.Providers.Boltdb.CreateStore()
|
||||
// kv = &staert.KvSource{
|
||||
// Store: kvStore,
|
||||
// Prefix: traefikConfiguration.Providers.Boltdb.Prefix,
|
||||
// }
|
||||
// }
|
||||
return kv, err
|
||||
}
|
||||
|
|
|
@ -20,8 +20,6 @@ import (
|
|||
"github.com/containous/traefik/cmd/healthcheck"
|
||||
"github.com/containous/traefik/cmd/storeconfig"
|
||||
cmdVersion "github.com/containous/traefik/cmd/version"
|
||||
"github.com/containous/traefik/old/provider/ecs"
|
||||
oldtypes "github.com/containous/traefik/old/types"
|
||||
"github.com/containous/traefik/pkg/collector"
|
||||
"github.com/containous/traefik/pkg/config"
|
||||
"github.com/containous/traefik/pkg/config/static"
|
||||
|
@ -117,7 +115,6 @@ Complete documentation is available at https://traefik.io`,
|
|||
f.AddParser(reflect.TypeOf(traefiktls.FilesOrContents{}), &traefiktls.FilesOrContents{})
|
||||
f.AddParser(reflect.TypeOf(types.Constraints{}), &types.Constraints{})
|
||||
f.AddParser(reflect.TypeOf(k8s.Namespaces{}), &k8s.Namespaces{})
|
||||
f.AddParser(reflect.TypeOf(ecs.Clusters{}), &ecs.Clusters{})
|
||||
f.AddParser(reflect.TypeOf([]types.Domain{}), &types.Domains{})
|
||||
f.AddParser(reflect.TypeOf(types.DNSResolvers{}), &types.DNSResolvers{})
|
||||
f.AddParser(reflect.TypeOf(types.Buckets{}), &types.Buckets{})
|
||||
|
@ -126,11 +123,6 @@ Complete documentation is available at https://traefik.io`,
|
|||
f.AddParser(reflect.TypeOf(types.FieldNames{}), &types.FieldNames{})
|
||||
f.AddParser(reflect.TypeOf(types.FieldHeaderNames{}), &types.FieldHeaderNames{})
|
||||
|
||||
// FIXME Remove with ACME
|
||||
f.AddParser(reflect.TypeOf([]oldtypes.Domain{}), &oldtypes.Domains{})
|
||||
// FIXME Remove with old providers
|
||||
f.AddParser(reflect.TypeOf(oldtypes.Constraints{}), &oldtypes.Constraints{})
|
||||
|
||||
// add commands
|
||||
f.AddCommand(cmdVersion.NewCmd())
|
||||
f.AddCommand(storeConfigCmd)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue