feat: add `ui-disabled` flag to run server with UI disabled (#21910)

* feat: add `ui-disabled` flag to run server with UI disabled

* chore: update CHANGELOG
pull/21909/head
William Baker 2021-07-21 19:52:57 -06:00 committed by GitHub
parent a78729b2ff
commit e7685fff01
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 16 additions and 0 deletions

View File

@ -35,6 +35,7 @@ This release adds an embedded SQLite database for storing metadata required by t
1. [21888](https://github.com/influxdata/influxdb/pull/21888/): Ported the `influxd inspect dump-wal` command from 1.x.
1. [21828](https://github.com/influxdata/influxdb/pull/21828): Added the command `influx inspect verify-wal`.
1. [21814](https://github.com/influxdata/influxdb/pull/21814): Ported the `influxd inspect report-tsm` command from 1.x.
1. [21910](https://github.com/influxdata/influxdb/pull/21910): Added `--ui-disabled` option to `influxd` to allow for running with the UI disabled.
### Bug Fixes

View File

@ -149,6 +149,7 @@ type InfluxdOpts struct {
ProfilingDisabled bool
MetricsDisabled bool
UIDisabled bool
NatsPort int
NatsMaxPayloadBytes int
@ -199,6 +200,7 @@ func NewOpts(viper *viper.Viper) *InfluxdOpts {
ProfilingDisabled: false,
MetricsDisabled: false,
UIDisabled: false,
StoreType: DiskStore,
SecretStore: BoltStore,
@ -580,5 +582,12 @@ func (o *InfluxdOpts) BindCliOpts() []cli.Opt {
Desc: "Don't expose metrics over HTTP at /metrics",
Default: o.MetricsDisabled,
},
// UI Config
{
DestP: &o.UIDisabled,
Flag: "ui-disabled",
Default: o.UIDisabled,
Desc: "Disable the InfluxDB UI",
},
}
}

View File

@ -759,6 +759,7 @@ func (m *Launcher) run(ctx context.Context, opts *InfluxdOpts) (err error) {
m.apibackend = &http.APIBackend{
AssetsPath: opts.AssetsPath,
UIDisabled: opts.UIDisabled,
HTTPErrorHandler: kithttp.ErrorHandler(0),
Logger: m.log,
SessionRenewDisabled: opts.SessionRenewDisabled,

View File

@ -34,6 +34,7 @@ type APIHandler struct {
// an APIHandler.
type APIBackend struct {
AssetsPath string // if empty then assets are served from bindata.
UIDisabled bool // if true requests for the UI will return 404
Logger *zap.Logger
errors.HTTPErrorHandler
SessionRenewDisabled bool

View File

@ -35,6 +35,10 @@ func NewPlatformHandler(b *APIBackend, opts ...APIHandlerOptFn) *PlatformHandler
h.RegisterNoAuthRoute("GET", "/api/v2/swagger.json")
assetHandler := static.NewAssetHandler(b.AssetsPath)
if b.UIDisabled {
b.Logger.Debug("http server running with UI disabled")
assetHandler = http.NotFoundHandler()
}
wrappedHandler := kithttp.SetCORS(h)
wrappedHandler = kithttp.SkipOptions(wrappedHandler)