Help us shape the future of Go! Take the 2026 Go Developer Survey

uiserver

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2025 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