uiserver

package
v1.16.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2023 License: MPL-2.0 Imports: 16 Imported by: 0

README

uiserver

The contents of dist/ are generated by make ui in the root of this repo which compiles ui assets and copies them here.

A CI job (publish-static-assets) will detect any diffs in ui files and commit the compiled files. Avoid committing files manually to dist/.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Handler

type Handler struct {
	// contains filtered or unexported fields
}

Handler is the http.Handler that serves the Consul UI. It may serve from the embedded fs.FS or from an external directory. It provides a few important transformations on the index.html file and includes a proxy for metrics backends.

func NewHandler

func NewHandler(runtimeCfg *config.RuntimeConfig, logger hclog.Logger, transform UIDataTransform) *Handler

NewHandler returns a Handler that can be used to serve UI http requests. It accepts a full agent config since properties like ACLs being enabled affect the UI so we need more than just UIConfig parts.

func (*Handler) ReloadConfig

func (h *Handler) ReloadConfig(newCfg *config.RuntimeConfig) error

ReloadConfig is called by the agent when the configuration is reloaded and updates the UIConfig values the handler uses to serve requests.

func (*Handler) ServeHTTP

func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP implements http.Handler and serves UI HTTP requests

type UIDataTransform

type UIDataTransform func(data map[string]interface{}) error

UIDataTransform is an optional dependency that allows the agent to add additional data into the UI index as needed. For example we use this to inject enterprise-only feature flags into the template without making this package inherently dependent on Enterprise-only code.

It is passed the current RuntimeConfig being applied and a map containing the current data that will be passed to the template. It should be modified directly to inject additional context.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL