diff --git a/docker.go b/docker.go index bd92b068b..607e7811c 100644 --- a/docker.go +++ b/docker.go @@ -123,19 +123,27 @@ func (provider *DockerProvider) loadDockerConfig() *Configuration { provider.Domain, } gtf.Inject(DockerFuncMap) - buf, err := Asset("providerTemplates/docker.tmpl") - if err != nil { - log.Error("Error reading file", err) - } - tmpl, err := template.New(provider.Filename).Funcs(DockerFuncMap).Parse(string(buf)) - if err != nil { - log.Error("Error reading file", err) - return nil + tmpl := template.New(provider.Filename).Funcs(DockerFuncMap) + if(len(provider.Filename) > 0){ + _, err := tmpl.ParseFiles(provider.Filename) + if err != nil { + log.Error("Error reading file", err) + return nil + } + }else{ + buf, err := Asset("providerTemplates/docker.tmpl") + if err != nil { + log.Error("Error reading file", err) + } + _, err = tmpl.Parse(string(buf)) + if err != nil { + log.Error("Error reading file", err) + return nil + } } var buffer bytes.Buffer - - err = tmpl.Execute(&buffer, templateObjects) + err := tmpl.Execute(&buffer, templateObjects) if err != nil { log.Error("Error with docker template", err) return nil diff --git a/marathon.go b/marathon.go index 83c302dff..b8de0f6c4 100644 --- a/marathon.go +++ b/marathon.go @@ -138,14 +138,23 @@ func (provider *MarathonProvider) loadMarathonConfig() *Configuration { } gtf.Inject(MarathonFuncMap) - buf, err := Asset("providerTemplates/marathon.tmpl") - if err != nil { - log.Error("Error reading file", err) - } - tmpl, err := template.New(provider.Filename).Funcs(MarathonFuncMap).ParseFiles(string(buf)) - if err != nil { - log.Error("Error reading file:", err) - return nil + tmpl := template.New(provider.Filename).Funcs(DockerFuncMap) + if(len(provider.Filename) > 0){ + _, err := tmpl.ParseFiles(provider.Filename) + if err != nil { + log.Error("Error reading file", err) + return nil + } + }else{ + buf, err := Asset("providerTemplates/marathon.tmpl") + if err != nil { + log.Error("Error reading file", err) + } + _, err = tmpl.Parse(string(buf)) + if err != nil { + log.Error("Error reading file", err) + return nil + } } var buffer bytes.Buffer diff --git a/traefik.go b/traefik.go index 243725f2f..419400f00 100644 --- a/traefik.go +++ b/traefik.go @@ -201,13 +201,13 @@ func LoadConfig(configuration *Configuration, gloablConfiguration *GlobalConfigu } backends[route.Backend]=lb }else { - log.Debug("Reusing backend", route.Backend) + log.Debug("Reusing backend %s", route.Backend) } for _, muxRoute := range newRoutes { if (len(gloablConfiguration.AccessLogsFile) > 0 ) { fi, err := os.OpenFile(gloablConfiguration.AccessLogsFile, os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666) if err != nil { - log.Fatal("Error opening file", err) + log.Fatal("Error opening file ", err) } muxRoute.Handler(handlers.CombinedLoggingHandler(fi, backends[route.Backend])) }else { @@ -215,7 +215,7 @@ func LoadConfig(configuration *Configuration, gloablConfiguration *GlobalConfigu } err := muxRoute.GetError() if err != nil { - log.Error("Error building route", err) + log.Error("Error building route ", err) } } } @@ -233,7 +233,7 @@ func Invoke(any interface{}, name string, args ...interface{}) []reflect.Value { func LoadFileConfig(file string) *GlobalConfiguration { configuration := NewGlobalConfiguration() if _, err := toml.DecodeFile(file, configuration); err != nil { - log.Fatal("Error reading file", err) + log.Fatal("Error reading file ", err) } log.Debug("Global configuration loaded %+v", configuration) return configuration diff --git a/traefik.toml b/traefik.toml index b72fcc428..51a79c561 100644 --- a/traefik.toml +++ b/traefik.toml @@ -9,8 +9,8 @@ logLevel = "DEBUG" endpoint = "unix:///var/run/docker.sock" watch = true domain = "toto.fr" -filename = "docker.tmpl" -# +# filename = "docker.tmpl" + # [marathon] # endpoint = "http://127.0.0.1:8080" # networkInterface = "eth0"