Documentation
¶
Index ¶
- Constants
- func CreateAlertUpdate(alert action.Alert) event.Event
- func CreateContentEvent(contentResponse component.ContentResponse, namespace, contentPath string, ...) oevent.Event
- func CreateFiltersUpdate(filters []octant.Filter) event.Event
- func CreateNamespacesEvent(namespaces []string) oevent.Event
- func CreateNavigationEvent(sections []navigation.Navigation, defaultPath string) oevent.Event
- func FilterFromPayload(in action.Payload) (octant.Filter, bool)
- func FiltersFromQueryParams(in interface{}) ([]octant.Filter, error)
- func FiltersToLabelSet(filters []octant.Filter) *labels.Set
- func ListenerAddr() string
- func NamespacesGenerator(_ context.Context, config NamespaceManagerConfig) ([]string, error)
- func NavigationGenerator(ctx context.Context, state octant.State, config NavigationManagerConfig) ([]navigation.Navigation, error)
- func NewPodLogsStateManager(dashConfig config.Dash) *podLogsStateManager
- func ParseFilterQueryParam(in string) (octant.Filter, error)
- func RespondWithError(w http.ResponseWriter, code int, message string, logger log.Logger)
- type API
- type ActionDispatcher
- type ActionRequestManager
- type ClientManager
- type Content
- type ContentGenerateFunc
- type ContentManager
- func (cm *ContentManager) Handlers() []octant.ClientRequestHandler
- func (cm *ContentManager) Loaded(state octant.State, payload action.Payload) error
- func (cm *ContentManager) SetContentPath(state octant.State, payload action.Payload) error
- func (cm *ContentManager) SetNamespace(state octant.State, payload action.Payload) error
- func (cm *ContentManager) SetQueryParams(state octant.State, payload action.Payload) error
- func (cm *ContentManager) Start(ctx context.Context, state octant.State, s OctantClient)
- type ContentManagerOption
- type ContextGenerateFunc
- type ContextManager
- type ContextManagerOption
- type FilterManager
- func (fm *FilterManager) AddFilter(state octant.State, payload action.Payload) error
- func (fm *FilterManager) ClearFilters(state octant.State, payload action.Payload) error
- func (fm *FilterManager) Handlers() []octant.ClientRequestHandler
- func (fm *FilterManager) RemoveFilter(state octant.State, payload action.Payload) error
- func (fm *FilterManager) Start(ctx context.Context, state octant.State, s OctantClient)
- type HelperGenerateFunc
- type HelperStateManager
- type HelperStateManagerOption
- type InterruptiblePoller
- type LoadingAPI
- type LoadingManager
- func (l *LoadingManager) CheckLoading(state octant.State, payload action.Payload) error
- func (l *LoadingManager) Handlers() []octant.ClientRequestHandler
- func (l *LoadingManager) Start(ctx context.Context, state octant.State, client OctantClient)
- func (l *LoadingManager) UploadKubeConfig(state octant.State, payload action.Payload) error
- func (l *LoadingManager) WatchConfig(path chan string, client OctantClient, fs afero.Fs)
- type NamespaceManagerConfig
- type NamespacesGenerateFunc
- type NamespacesManager
- type NamespacesManagerOption
- type NavigationGeneratorFunc
- type NavigationManager
- type NavigationManagerConfig
- type NavigationManagerOption
- type NotFoundError
- type OctantClient
- type Poller
- type PollerFunc
- type Service
- type SingleRunPoller
- type StateManager
- type WebsocketClient
- type WebsocketClientManager
- func (m *WebsocketClientManager) ClientFromRequest(dashConfig config.Dash, w http.ResponseWriter, r *http.Request) (*WebsocketClient, error)
- func (m *WebsocketClientManager) Clients() []*WebsocketClient
- func (m *WebsocketClientManager) Get(id string) event.WSEventSender
- func (m *WebsocketClientManager) Run(ctx context.Context)
- func (m *WebsocketClientManager) TemporaryClientFromLoadingRequest(w http.ResponseWriter, r *http.Request) (*WebsocketClient, error)
- type WebsocketState
- func (c *WebsocketState) AddFilter(filter octant.Filter)
- func (c *WebsocketState) Dispatch(ctx context.Context, actionName string, payload action.Payload) error
- func (c *WebsocketState) GetClientID() string
- func (c *WebsocketState) GetContentPath() string
- func (c *WebsocketState) GetFilters() []octant.Filter
- func (c *WebsocketState) GetNamespace() string
- func (c *WebsocketState) GetQueryParams() map[string][]string
- func (c *WebsocketState) Handlers() []octant.ClientRequestHandler
- func (c *WebsocketState) OnContentPathUpdate(fn octant.ContentPathUpdateFunc) octant.UpdateCancelFunc
- func (c *WebsocketState) OnNamespaceUpdate(fn octant.NamespaceUpdateFunc) octant.UpdateCancelFunc
- func (c *WebsocketState) RemoveFilter(filter octant.Filter)
- func (c *WebsocketState) SendAlert(alert action.Alert)
- func (c *WebsocketState) SetContentPath(contentPath string)
- func (c *WebsocketState) SetContext(requestedContext string)
- func (c *WebsocketState) SetFilters(filters []octant.Filter)
- func (c *WebsocketState) SetNamespace(namespace string)
- func (c *WebsocketState) Start(ctx context.Context)
- type WebsocketStateOption
Constants ¶
const ( // ListenerAddrKey is the environment variable for the Octant listener address. ListenerAddrKey = "listener-addr" AcceptedHostsKey = "accepted-hosts" // PathPrefix is a string for the api path prefix. PathPrefix = "/api/v1" )
const ( RequestPodLogsSubscribe = "action.octant.dev/podLogs/subscribe" RequestPodLogsUnsubscribe = "action.octant.dev/podLogs/unsubscribe" DefaultSinceSeconds = 300 )
const ( RequestAddFilter = "action.octant.dev/addFilter" RequestClearFilters = "action.octant.dev/clearFilters" RequestRemoveFilter = "action.octant.dev/removeFilter" )
const ( UploadKubeConfig = "action.octant.dev/uploadKubeConfig" CheckLoading = "action.octant.dev/loading" )
const ( RequestTerminalCommand = "action.octant.dev/sendTerminalCommand" RequestTerminalResize = "action.octant.dev/sendTerminalResize" RequestActiveTerminal = "action.octant.dev/setActiveTerminal" )
const (
RequestPerformAction = "action.octant.dev/performAction"
)
const (
RequestSetContentPath = "action.octant.dev/setContentPath"
)
const (
RequestSetContext = "action.octant.dev/setContext"
)
Variables ¶
This section is empty.
Functions ¶
func CreateAlertUpdate ¶
CreateAlertUpdate creates an alert update event.
func CreateContentEvent ¶
func CreateContentEvent(contentResponse component.ContentResponse, namespace, contentPath string, queryParams map[string][]string) oevent.Event
CreateContentEvent creates a content event.
func CreateFiltersUpdate ¶
CreateFiltersUpdate creates a filters update event.
func CreateNamespacesEvent ¶
CreateNamespacesEvent creates a namespaces event.
func CreateNavigationEvent ¶
func CreateNavigationEvent(sections []navigation.Navigation, defaultPath string) oevent.Event
CreateNavigationEvent creates a navigation event.
func FilterFromPayload ¶
FilterFromPayload creates a filter from a payload. Returns false if the payload is invalid.
func FiltersFromQueryParams ¶
FiltersFromQueryParams converts query params to filters. Can handle one or multiple query params.
func FiltersToLabelSet ¶
FiltersToLabelSet converts a slice of filters to a label set.
func ListenerAddr ¶
func ListenerAddr() string
ListenerAddr returns the default listener address if OCTANT_LISTENER_ADDR is not set.
func NamespacesGenerator ¶
func NamespacesGenerator(_ context.Context, config NamespaceManagerConfig) ([]string, error)
NamespacesGenerator generates a list of namespaces.
func NavigationGenerator ¶
func NavigationGenerator(ctx context.Context, state octant.State, config NavigationManagerConfig) ([]navigation.Navigation, error)
NavigationGenerator generates a navigation tree given a set of modules and a namespace.
func NewPodLogsStateManager ¶ added in v0.12.0
NewPodLogsStateManager returns a terminal state manager.
func ParseFilterQueryParam ¶
ParseFilterQueryParam parsers a single filter from a query param in the format `key:value`.
func RespondWithError ¶
RespondWithError responds with an error message.
Types ¶
type API ¶
type API struct {
// contains filtered or unexported fields
}
API is the API for the dashboard client
func New ¶
func New(ctx context.Context, prefix string, actionDispatcher ActionDispatcher, websocketClientManager *WebsocketClientManager, dashConfig config.Dash) *API
New creates an instance of API.
func (*API) ForceUpdate ¶
type ActionDispatcher ¶
type ActionDispatcher interface {
Dispatch(ctx context.Context, alerter action.Alerter, actionName string, payload action.Payload) error
}
ActionDispatcher dispatches actions.
type ActionRequestManager ¶
type ActionRequestManager struct {
}
ActionRequestManager manages action requests. Action requests allow a generic interface for supporting dynamic requests from clients.
func NewActionRequestManager ¶
func NewActionRequestManager() *ActionRequestManager
NewActionRequestManager creates an instance of ActionRequestManager.
func (*ActionRequestManager) Handlers ¶
func (a *ActionRequestManager) Handlers() []octant.ClientRequestHandler
Handlers returns the handlers this manager supports.
func (*ActionRequestManager) PerformAction ¶
PerformAction is a handler than runs an action.
func (ActionRequestManager) Start ¶
func (a ActionRequestManager) Start(ctx context.Context, state octant.State, s OctantClient)
type ClientManager ¶
type ClientManager interface {
Run(ctx context.Context)
Clients() []*WebsocketClient
ClientFromRequest(dashConfig config.Dash, w http.ResponseWriter, r *http.Request) (*WebsocketClient, error)
TemporaryClientFromLoadingRequest(w http.ResponseWriter, r *http.Request) (*WebsocketClient, error)
Get(id string) event.WSEventSender
}
ClientManager is an interface for managing clients.
type Content ¶ added in v0.11.0
type Content struct {
// Response is a content response.
Response component.ContentResponse
// Path is the path of the content.
Path string
}
Content is a content to be sent to clients.
type ContentGenerateFunc ¶
ContentGenerateFunc is a function that generates content. It returns `rerun=true` if the action should be be immediately rerun.
type ContentManager ¶
type ContentManager struct {
// contains filtered or unexported fields
}
ContentManager manages content for websockets.
func NewContentManager ¶
func NewContentManager(moduleManager module.ManagerInterface, logger log.Logger, options ...ContentManagerOption) *ContentManager
NewContentManager creates an instance of ContentManager.
func (*ContentManager) Handlers ¶
func (cm *ContentManager) Handlers() []octant.ClientRequestHandler
Handlers returns a slice of client request handlers.
func (*ContentManager) SetContentPath ¶
SetContentPath sets the current content path.
func (*ContentManager) SetNamespace ¶
SetNamespace sets the current namespace.
func (*ContentManager) SetQueryParams ¶
SetQueryParams sets the current query params.
func (*ContentManager) Start ¶
func (cm *ContentManager) Start(ctx context.Context, state octant.State, s OctantClient)
Start starts the manager.
type ContentManagerOption ¶
type ContentManagerOption func(manager *ContentManager)
ContentManagerOption is an option for configuring ContentManager.
func WithContentGenerator ¶
func WithContentGenerator(fn ContentGenerateFunc) ContentManagerOption
WithContentGenerator configures the content generate function.
func WithContentGeneratorPoller ¶
func WithContentGeneratorPoller(poller Poller) ContentManagerOption
WithContentGeneratorPoller configures the poller.
type ContextGenerateFunc ¶
ContextGenerateFunc is a function which generates a context event.
type ContextManager ¶
type ContextManager struct {
// contains filtered or unexported fields
}
ContextManager manages context.
func NewContextManager ¶
func NewContextManager(dashConfig config.Dash, options ...ContextManagerOption) *ContextManager
NewContextManager creates an instances of ContextManager.
func (*ContextManager) Handlers ¶
func (c *ContextManager) Handlers() []octant.ClientRequestHandler
Handlers returns a slice of handlers.
func (*ContextManager) SetContext ¶
SetContext sets the current context.
func (*ContextManager) Start ¶
func (c *ContextManager) Start(ctx context.Context, state octant.State, s OctantClient)
Start starts the manager.
type ContextManagerOption ¶
type ContextManagerOption func(manager *ContextManager)
ContextManagerOption is an option for configuring ContextManager.
func WithContextGenerator ¶
func WithContextGenerator(fn ContextGenerateFunc) ContextManagerOption
WithContextGenerator sets the context generator.
func WithContextGeneratorPoll ¶
func WithContextGeneratorPoll(poller Poller) ContextManagerOption
WithContextGeneratorPoll generates the poller.
type FilterManager ¶
type FilterManager struct {
}
FilterManager manages filters.
func NewFilterManager ¶
func NewFilterManager() *FilterManager
NewFilterManager creates an instance of FilterManager.
func (*FilterManager) ClearFilters ¶
ClearFilters clears all filters.
func (*FilterManager) Handlers ¶
func (fm *FilterManager) Handlers() []octant.ClientRequestHandler
Handlers returns a slice of handlers.
func (*FilterManager) RemoveFilter ¶
RemoveFilters removes a filter.
func (*FilterManager) Start ¶
func (fm *FilterManager) Start(ctx context.Context, state octant.State, s OctantClient)
Start starts the manager. Current is a no-op.
type HelperGenerateFunc ¶ added in v0.13.0
HelperGenerateFunc is a function which generates a helper event
type HelperStateManager ¶ added in v0.13.0
type HelperStateManager struct {
// contains filtered or unexported fields
}
HelperStateManager manages buildInfo
func NewHelperStateManager ¶ added in v0.13.0
func NewHelperStateManager(dashConfig config.Dash, options ...HelperStateManagerOption) *HelperStateManager
NewHelperStateManager creates an instance of HelperStateManager
func (*HelperStateManager) Handlers ¶ added in v0.13.0
func (h *HelperStateManager) Handlers() []octant.ClientRequestHandler
Handlers returns a slice of handlers
func (*HelperStateManager) Start ¶ added in v0.13.0
func (h *HelperStateManager) Start(ctx context.Context, state octant.State, client OctantClient)
Start starts the manager
type HelperStateManagerOption ¶ added in v0.13.0
type HelperStateManagerOption func(manager *HelperStateManager)
HelperStateManagerOption is an option for configuration HelperManager
func WithHelperGenerator ¶ added in v0.13.0
func WithHelperGenerator(fn HelperGenerateFunc) HelperStateManagerOption
WithHelperGenerator sets the helper generator
func WithHelperGeneratorPoll ¶ added in v0.13.0
func WithHelperGeneratorPoll(poller Poller) HelperStateManagerOption
WithHelperGeneratorPoll generates the poller
type InterruptiblePoller ¶
type InterruptiblePoller struct {
// contains filtered or unexported fields
}
InterruptiblePoller is a poller than runs an action and allows for interrupts.
func NewInterruptiblePoller ¶
func NewInterruptiblePoller(name string) *InterruptiblePoller
NewInterruptiblePoller creates an instance of InterruptiblePoller.
func (*InterruptiblePoller) Run ¶
func (a *InterruptiblePoller) Run(ctx context.Context, ch <-chan struct{}, action PollerFunc, resetDuration time.Duration)
Run runs the poller.
type LoadingAPI ¶ added in v0.14.0
type LoadingAPI struct {
// contains filtered or unexported fields
}
LoadingAPI is an API for startup modules to run
func NewLoadingAPI ¶ added in v0.14.0
func NewLoadingAPI(ctx context.Context, prefix string, actionDispatcher ActionDispatcher, websocketClientManager *WebsocketClientManager, logger log.Logger) *LoadingAPI
NewLoadingAPI creates an instance of LoadingAPI
func (*LoadingAPI) ForceUpdate ¶ added in v0.14.0
func (l *LoadingAPI) ForceUpdate() error
type LoadingManager ¶ added in v0.14.0
type LoadingManager struct {
// contains filtered or unexported fields
}
func NewLoadingManager ¶ added in v0.14.0
func NewLoadingManager() *LoadingManager
func (*LoadingManager) CheckLoading ¶ added in v0.14.0
func (*LoadingManager) Handlers ¶ added in v0.14.0
func (l *LoadingManager) Handlers() []octant.ClientRequestHandler
func (*LoadingManager) Start ¶ added in v0.14.0
func (l *LoadingManager) Start(ctx context.Context, state octant.State, client OctantClient)
func (*LoadingManager) UploadKubeConfig ¶ added in v0.14.0
func (*LoadingManager) WatchConfig ¶ added in v0.14.0
func (l *LoadingManager) WatchConfig(path chan string, client OctantClient, fs afero.Fs)
type NamespaceManagerConfig ¶
type NamespaceManagerConfig interface {
ClusterClient() cluster.ClientInterface
}
NamespaceManagerConfig is configuration for NamespacesManager.
type NamespacesGenerateFunc ¶
type NamespacesGenerateFunc func(ctx context.Context, config NamespaceManagerConfig) ([]string, error)
NamespacesGenerateFunc is a function that generates a list of namespaces.
type NamespacesManager ¶
type NamespacesManager struct {
// contains filtered or unexported fields
}
NamespacesManager manages namespaces.
func NewNamespacesManager ¶
func NewNamespacesManager(config NamespaceManagerConfig, options ...NamespacesManagerOption) *NamespacesManager
NewNamespacesManager creates an instance of NamespacesManager.
func (NamespacesManager) Handlers ¶
func (n NamespacesManager) Handlers() []octant.ClientRequestHandler
Handlers returns nil.
func (*NamespacesManager) Start ¶
func (n *NamespacesManager) Start(ctx context.Context, state octant.State, s OctantClient)
Start starts the manager. It periodically generates a list of namespaces.
type NamespacesManagerOption ¶
type NamespacesManagerOption func(n *NamespacesManager)
NamespacesManagerOption is an option for configuring NamespacesManager.
func WithNamespacesGenerator ¶
func WithNamespacesGenerator(fn NamespacesGenerateFunc) NamespacesManagerOption
WithNamespacesGenerator configures the namespaces generator function.
func WithNamespacesGeneratorPoller ¶
func WithNamespacesGeneratorPoller(poller Poller) NamespacesManagerOption
WithNamespacesGeneratorPoller configures the poller.
type NavigationGeneratorFunc ¶
type NavigationGeneratorFunc func(ctx context.Context, state octant.State, config NavigationManagerConfig) ([]navigation.Navigation, error)
NavigationGeneratorFunc is a function that generates a navigation tree.
type NavigationManager ¶
type NavigationManager struct {
// contains filtered or unexported fields
}
NavigationManager manages the navigation tree.
func NewNavigationManager ¶
func NewNavigationManager(config NavigationManagerConfig, options ...NavigationManagerOption) *NavigationManager
NewNavigationManager creates an instance of NavigationManager.
func (NavigationManager) Handlers ¶
func (n NavigationManager) Handlers() []octant.ClientRequestHandler
Handlers returns nil.
func (*NavigationManager) Start ¶
func (n *NavigationManager) Start(ctx context.Context, state octant.State, s OctantClient)
Start starts the manager. It periodically generates navigation updates.
type NavigationManagerConfig ¶
type NavigationManagerConfig interface {
}
NavigationManagerConfig is configuration of NavigationManager.
type NavigationManagerOption ¶
type NavigationManagerOption func(n *NavigationManager)
NavigationManagerConfig is an option for configuration NavigationManager.
func WithNavigationGenerator ¶
func WithNavigationGenerator(fn NavigationGeneratorFunc) NavigationManagerOption
WithNavigationGenerator configures the navigation generator function.
func WithNavigationGeneratorPoller ¶
func WithNavigationGeneratorPoller(poller Poller) NavigationManagerOption
WithNavigationGeneratorPoller configures the poller.
type NotFoundError ¶
type NotFoundError struct {
// contains filtered or unexported fields
}
NotFoundError is a not found error.
func NewNotFoundError ¶
func NewNotFoundError(path string) *NotFoundError
NewNotFoundError creates an instance of NotFoundError
func (*NotFoundError) Error ¶
func (e *NotFoundError) Error() string
Error returns the error string.
func (*NotFoundError) NotFound ¶
func (e *NotFoundError) NotFound() bool
NotFound returns true to signify this is a not found error.
type OctantClient ¶
OctantClient is an OctantClient.
type Poller ¶
type Poller interface {
// Run runs `action` and delays `resetDuration` before starting again. If a message
// is sent to `ch`, it will cancel current work and restart `action`.
Run(ctx context.Context, ch <-chan struct{}, action PollerFunc, resetDuration time.Duration)
}
Poller is a poller. It runs an action.
type PollerFunc ¶
PollerFunc is a function run by the poller.
type SingleRunPoller ¶
type SingleRunPoller struct{}
SingleRunPoller is a a poller runs the supplied action once. It is useful for testing.
func NewSingleRunPoller ¶
func NewSingleRunPoller() *SingleRunPoller
NewSingleRunPoller creates an instance of SingleRunPoller.
func (SingleRunPoller) Run ¶
func (a SingleRunPoller) Run(ctx context.Context, _ <-chan struct{}, action PollerFunc, resetDuration time.Duration)
Run runs the poller.
type StateManager ¶
type StateManager interface {
Handlers() []octant.ClientRequestHandler
Start(ctx context.Context, state octant.State, s OctantClient)
}
StateManager manages states for WebsocketState.
func NewTerminalStateManager ¶ added in v0.10.0
func NewTerminalStateManager(dashConfig config.Dash) StateManager
NewTerminalStateManager returns a terminal state manager.
type WebsocketClient ¶
type WebsocketClient struct {
// contains filtered or unexported fields
}
WebsocketClient manages websocket clients.
func NewTemporaryWebsocketClient ¶ added in v0.14.0
func NewTemporaryWebsocketClient(ctx context.Context, conn *websocket.Conn, manager *WebsocketClientManager, actionDispatcher ActionDispatcher, id uuid.UUID) *WebsocketClient
NewTemporaryWebsocketClient creates an instance of WebsocketClient
func NewWebsocketClient ¶
func NewWebsocketClient(ctx context.Context, conn *websocket.Conn, manager *WebsocketClientManager, dashConfig config.Dash, actionDispatcher ActionDispatcher, id uuid.UUID) *WebsocketClient
NewWebsocketClient creates an instance of WebsocketClient.
func (*WebsocketClient) ID ¶
func (c *WebsocketClient) ID() string
ID returns the ID of the websocket client.
func (*WebsocketClient) RegisterHandler ¶
func (c *WebsocketClient) RegisterHandler(handler octant.ClientRequestHandler)
func (*WebsocketClient) Send ¶
func (c *WebsocketClient) Send(ev event.Event)
func (*WebsocketClient) StopCh ¶ added in v0.16.0
func (c *WebsocketClient) StopCh() <-chan struct{}
StopCh returns the client's stop channel. It will be closed when the WebsocketClient is closed.
type WebsocketClientManager ¶
type WebsocketClientManager struct {
// contains filtered or unexported fields
}
WebsocketClientManager is a client manager for websockets.
func NewWebsocketClientManager ¶
func NewWebsocketClientManager(ctx context.Context, dispatcher ActionDispatcher) *WebsocketClientManager
NewWebsocketClientManager creates an instance of WebsocketClientManager.
func (*WebsocketClientManager) ClientFromRequest ¶
func (m *WebsocketClientManager) ClientFromRequest(dashConfig config.Dash, w http.ResponseWriter, r *http.Request) (*WebsocketClient, error)
ClientFromRequest creates a websocket client from a http request.
func (*WebsocketClientManager) Clients ¶ added in v0.10.0
func (m *WebsocketClientManager) Clients() []*WebsocketClient
func (*WebsocketClientManager) Get ¶ added in v0.16.0
func (m *WebsocketClientManager) Get(id string) event.WSEventSender
func (*WebsocketClientManager) Run ¶
func (m *WebsocketClientManager) Run(ctx context.Context)
Run runs the manager. It manages multiple websocket clients.
func (*WebsocketClientManager) TemporaryClientFromLoadingRequest ¶ added in v0.14.0
func (m *WebsocketClientManager) TemporaryClientFromLoadingRequest(w http.ResponseWriter, r *http.Request) (*WebsocketClient, error)
type WebsocketState ¶
type WebsocketState struct {
// contains filtered or unexported fields
}
WebsocketState manages state for a websocket client.
func NewTemporaryWebsocketState ¶ added in v0.14.0
func NewTemporaryWebsocketState(actionDispatcher ActionDispatcher, wsClient OctantClient, options ...WebsocketStateOption) *WebsocketState
func NewWebsocketState ¶
func NewWebsocketState(dashConfig config.Dash, actionDispatcher ActionDispatcher, wsClient OctantClient, options ...WebsocketStateOption) *WebsocketState
NewWebsocketState creates an instance of WebsocketState.
func (*WebsocketState) AddFilter ¶
func (c *WebsocketState) AddFilter(filter octant.Filter)
AddFilter adds a content filter.
func (*WebsocketState) Dispatch ¶
func (c *WebsocketState) Dispatch(ctx context.Context, actionName string, payload action.Payload) error
Dispatch dispatches a message.
func (*WebsocketState) GetClientID ¶ added in v0.16.0
func (c *WebsocketState) GetClientID() string
func (*WebsocketState) GetContentPath ¶
func (c *WebsocketState) GetContentPath() string
GetContentPath returns the content path.
func (*WebsocketState) GetFilters ¶
func (c *WebsocketState) GetFilters() []octant.Filter
GetFilters returns all filters.
func (*WebsocketState) GetNamespace ¶
func (c *WebsocketState) GetNamespace() string
GetNamespace gets the namespace.
func (*WebsocketState) GetQueryParams ¶
func (c *WebsocketState) GetQueryParams() map[string][]string
func (*WebsocketState) Handlers ¶
func (c *WebsocketState) Handlers() []octant.ClientRequestHandler
Handlers returns all the handlers for WebsocketState.
func (*WebsocketState) OnContentPathUpdate ¶
func (c *WebsocketState) OnContentPathUpdate(fn octant.ContentPathUpdateFunc) octant.UpdateCancelFunc
OnContentPathUpdate registers a function that will be called when the content path changes.
func (*WebsocketState) OnNamespaceUpdate ¶
func (c *WebsocketState) OnNamespaceUpdate(fn octant.NamespaceUpdateFunc) octant.UpdateCancelFunc
OnNamespaceUpdate registers a function that will be run when the namespace changes.
func (*WebsocketState) RemoveFilter ¶
func (c *WebsocketState) RemoveFilter(filter octant.Filter)
RemoveFilter removes a content filter.
func (*WebsocketState) SendAlert ¶
func (c *WebsocketState) SendAlert(alert action.Alert)
SendAlert sends an alert to the websocket client.
func (*WebsocketState) SetContentPath ¶
func (c *WebsocketState) SetContentPath(contentPath string)
SetContentPath sets the content path.
func (*WebsocketState) SetContext ¶
func (c *WebsocketState) SetContext(requestedContext string)
SetContext sets the Kubernetes context.
func (*WebsocketState) SetFilters ¶
func (c *WebsocketState) SetFilters(filters []octant.Filter)
func (*WebsocketState) SetNamespace ¶
func (c *WebsocketState) SetNamespace(namespace string)
SetNamespace sets the namespace.
func (*WebsocketState) Start ¶
func (c *WebsocketState) Start(ctx context.Context)
Start starts WebsocketState by starting all associated StateManagers.
type WebsocketStateOption ¶
type WebsocketStateOption func(w *WebsocketState)
WebsocketStateOption is an option for configuring WebsocketState.
func WebsocketStateManagers ¶
func WebsocketStateManagers(managers []StateManager) WebsocketStateOption
WebsocketStateManagers configures WebsocketState's state managers.
Source Files
¶
- action.go
- action_request_manager.go
- api.go
- container_logs.go
- content_manager.go
- context_manager.go
- filter_manager.go
- helper_manager.go
- loading_state.go
- middleware.go
- namespaces_manager.go
- navigation_manager.go
- poller.go
- stream.go
- terminal_manager.go
- websocket_client.go
- websocket_client_manager.go
- websocket_service.go
- websocket_state.go