Generated assets file are only mandatory in main
This commit is contained in:
parent
9420308667
commit
bfdd1997f6
3 changed files with 19 additions and 4 deletions
|
@ -4,15 +4,22 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/containous/mux"
|
"github.com/containous/mux"
|
||||||
"github.com/containous/traefik/autogen/genstatic"
|
"github.com/containous/traefik/log"
|
||||||
"github.com/elazarl/go-bindata-assetfs"
|
"github.com/elazarl/go-bindata-assetfs"
|
||||||
)
|
)
|
||||||
|
|
||||||
// DashboardHandler expose dashboard routes
|
// DashboardHandler expose dashboard routes
|
||||||
type DashboardHandler struct{}
|
type DashboardHandler struct {
|
||||||
|
Assets *assetfs.AssetFS
|
||||||
|
}
|
||||||
|
|
||||||
// AddRoutes add dashboard routes on a router
|
// AddRoutes add dashboard routes on a router
|
||||||
func (g DashboardHandler) AddRoutes(router *mux.Router) {
|
func (g DashboardHandler) AddRoutes(router *mux.Router) {
|
||||||
|
if g.Assets == nil {
|
||||||
|
log.Error("No assets for dashboard")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Expose dashboard
|
// Expose dashboard
|
||||||
router.Methods(http.MethodGet).
|
router.Methods(http.MethodGet).
|
||||||
Path("/").
|
Path("/").
|
||||||
|
@ -28,5 +35,5 @@ func (g DashboardHandler) AddRoutes(router *mux.Router) {
|
||||||
|
|
||||||
router.Methods(http.MethodGet).
|
router.Methods(http.MethodGet).
|
||||||
PathPrefix("/dashboard/").
|
PathPrefix("/dashboard/").
|
||||||
Handler(http.StripPrefix("/dashboard/", http.FileServer(&assetfs.AssetFS{Asset: genstatic.Asset, AssetInfo: genstatic.AssetInfo, AssetDir: genstatic.AssetDir, Prefix: "static"})))
|
Handler(http.StripPrefix("/dashboard/", http.FileServer(g.Assets)))
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import (
|
||||||
"github.com/containous/traefik/safe"
|
"github.com/containous/traefik/safe"
|
||||||
"github.com/containous/traefik/types"
|
"github.com/containous/traefik/types"
|
||||||
"github.com/containous/traefik/version"
|
"github.com/containous/traefik/version"
|
||||||
|
"github.com/elazarl/go-bindata-assetfs"
|
||||||
thoas_stats "github.com/thoas/stats"
|
thoas_stats "github.com/thoas/stats"
|
||||||
"github.com/unrolled/render"
|
"github.com/unrolled/render"
|
||||||
)
|
)
|
||||||
|
@ -22,6 +23,7 @@ type Handler struct {
|
||||||
Statistics *types.Statistics `description:"Enable more detailed statistics" export:"true"`
|
Statistics *types.Statistics `description:"Enable more detailed statistics" export:"true"`
|
||||||
Stats *thoas_stats.Stats `json:"-"`
|
Stats *thoas_stats.Stats `json:"-"`
|
||||||
StatsRecorder *middlewares.StatsRecorder `json:"-"`
|
StatsRecorder *middlewares.StatsRecorder `json:"-"`
|
||||||
|
DashboardAssets *assetfs.AssetFS
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -54,7 +56,7 @@ func (p Handler) AddRoutes(router *mux.Router) {
|
||||||
version.Handler{}.AddRoutes(router)
|
version.Handler{}.AddRoutes(router)
|
||||||
|
|
||||||
if p.Dashboard {
|
if p.Dashboard {
|
||||||
DashboardHandler{}.AddRoutes(router)
|
DashboardHandler{Assets: p.DashboardAssets}.AddRoutes(router)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ import (
|
||||||
"github.com/cenk/backoff"
|
"github.com/cenk/backoff"
|
||||||
"github.com/containous/flaeg"
|
"github.com/containous/flaeg"
|
||||||
"github.com/containous/staert"
|
"github.com/containous/staert"
|
||||||
|
"github.com/containous/traefik/autogen/genstatic"
|
||||||
"github.com/containous/traefik/cmd"
|
"github.com/containous/traefik/cmd"
|
||||||
"github.com/containous/traefik/cmd/bug"
|
"github.com/containous/traefik/cmd/bug"
|
||||||
"github.com/containous/traefik/cmd/healthcheck"
|
"github.com/containous/traefik/cmd/healthcheck"
|
||||||
|
@ -33,6 +34,7 @@ import (
|
||||||
"github.com/containous/traefik/types"
|
"github.com/containous/traefik/types"
|
||||||
"github.com/containous/traefik/version"
|
"github.com/containous/traefik/version"
|
||||||
"github.com/coreos/go-systemd/daemon"
|
"github.com/coreos/go-systemd/daemon"
|
||||||
|
"github.com/elazarl/go-bindata-assetfs"
|
||||||
"github.com/ogier/pflag"
|
"github.com/ogier/pflag"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/vulcand/oxy/roundrobin"
|
"github.com/vulcand/oxy/roundrobin"
|
||||||
|
@ -163,6 +165,10 @@ func runCmd(globalConfiguration *configuration.GlobalConfiguration, configFile s
|
||||||
globalConfiguration.SetEffectiveConfiguration(configFile)
|
globalConfiguration.SetEffectiveConfiguration(configFile)
|
||||||
globalConfiguration.ValidateConfiguration()
|
globalConfiguration.ValidateConfiguration()
|
||||||
|
|
||||||
|
if globalConfiguration.API != nil && globalConfiguration.API.Dashboard {
|
||||||
|
globalConfiguration.API.DashboardAssets = &assetfs.AssetFS{Asset: genstatic.Asset, AssetInfo: genstatic.AssetInfo, AssetDir: genstatic.AssetDir, Prefix: "static"}
|
||||||
|
}
|
||||||
|
|
||||||
jsonConf, _ := json.Marshal(globalConfiguration)
|
jsonConf, _ := json.Marshal(globalConfiguration)
|
||||||
log.Infof("Traefik version %s built on %s", version.Version, version.BuildDate)
|
log.Infof("Traefik version %s built on %s", version.Version, version.BuildDate)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue