api

package
v0.16.1 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2020 License: Apache-2.0 Imports: 22 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewGRPCServer added in v0.14.0

func NewGRPCServer(service Service) *grpcServer

Types

type API

type API interface {
	// Addr is the address of the API service.
	Addr() string
	// Start starts the API. To stop the API, cancel the context.
	Start(context.Context) error
}

API controls the dashboard API service.

func New

func New(service Service) (API, error)

New creates a new API instance for DashService.

type Client

type Client struct {
	DashboardConnection DashboardConnection
}

Client is a dashboard service API client.

func NewClient

func NewClient(address string, options ...ClientOption) (*Client, error)

NewClient creates an instance of the API client. It requires the address of the API.

func (*Client) CancelPortForward

func (c *Client) CancelPortForward(ctx context.Context, id string)

CancelPortForward cancels a port forward.

func (*Client) Close

func (c *Client) Close() error

Close closes the client's connection.

func (*Client) Create added in v0.12.0

func (c *Client) Create(ctx context.Context, object *unstructured.Unstructured) error

func (*Client) ForceFrontendUpdate

func (c *Client) ForceFrontendUpdate(ctx context.Context) error

ForceFrontendUpdate forces the frontend to update itself.

func (*Client) Get

Get retrieves an object from the dashboard's objectStore.

func (*Client) List

List lists objects in the dashboard's object store.

func (*Client) ListNamespaces added in v0.11.0

func (c *Client) ListNamespaces(ctx context.Context) (NamespacesResponse, error)

ListNamespaces lists namespaces.

func (*Client) PortForward

func (c *Client) PortForward(ctx context.Context, req PortForwardRequest) (PortForwardResponse, error)

PortForward creates a port forward.

func (*Client) SendAlert added in v0.16.0

func (c *Client) SendAlert(ctx context.Context, clientID string, alert action.Alert) error

SendAlert sends an alert

func (*Client) Update

func (c *Client) Update(ctx context.Context, object *unstructured.Unstructured) error

Update updates an object in the store.

type ClientOption

type ClientOption func(c *Client)

type DashboardConnection

type DashboardConnection interface {
	Close() error
	Client() proto.DashboardClient
}

type FrontendProxy

type FrontendProxy struct {
	FrontendUpdateController FrontendUpdateController
}

FrontendProxy is a proxy for messaging the frontend.

func (*FrontendProxy) ForceFrontendUpdate

func (proxy *FrontendProxy) ForceFrontendUpdate() error

ForceFrontendUpdate forces the frontend to update

type FrontendUpdateController

type FrontendUpdateController interface {
	ForceUpdate() error
}

FrontendUpdateController can control the frontend. ie. the web gui

type GRPCService

type GRPCService struct {
	ObjectStore            store.Store
	PortForwarder          portforward.PortForwarder
	FrontendProxy          FrontendProxy
	NamespaceInterface     cluster.NamespaceInterface
	WebsocketClientManager event.WSClientGetter
}

GRPCService is an implementation of the dashboard service based on GRPC.

func (*GRPCService) CancelPortForward

func (s *GRPCService) CancelPortForward(ctx context.Context, id string)

CancelPortForward cancels a port forward

func (*GRPCService) Create added in v0.12.0

func (s *GRPCService) Create(ctx context.Context, object *unstructured.Unstructured) error

func (*GRPCService) ForceFrontendUpdate

func (s *GRPCService) ForceFrontendUpdate(ctx context.Context) error

func (*GRPCService) Get

Get retrieves an object.

func (*GRPCService) List

List lists objects.

func (*GRPCService) ListNamespaces added in v0.11.0

func (s *GRPCService) ListNamespaces(ctx context.Context) (NamespacesResponse, error)

ListNamespaces lists namespaces

func (*GRPCService) PortForward

PortForward creates a port forward.

func (*GRPCService) SendAlert added in v0.16.0

func (s *GRPCService) SendAlert(ctx context.Context, clientID string, alert action.Alert) error

SendAlert sends an alert

func (*GRPCService) Update

func (s *GRPCService) Update(ctx context.Context, object *unstructured.Unstructured) error

type NamespacesResponse added in v0.11.0

type NamespacesResponse struct {
	Namespaces []string
}

NamespacesResponse is a response from listing namespaces

type PortForwardRequest

type PortForwardRequest struct {
	Namespace     string
	PodName       string
	ContainerName string
	Port          uint16
}

PortForwardRequest describes a port forward request.

type PortForwardResponse

type PortForwardResponse struct {
	ID   string
	Port uint16
}

PortForwardResponse is the response from a port forward request.

type Service

type Service interface {
	List(ctx context.Context, key store.Key) (*unstructured.UnstructuredList, error)
	Get(ctx context.Context, key store.Key) (*unstructured.Unstructured, error)
	PortForward(ctx context.Context, req PortForwardRequest) (PortForwardResponse, error)
	CancelPortForward(ctx context.Context, id string)
	ListNamespaces(ctx context.Context) (NamespacesResponse, error)
	Update(ctx context.Context, object *unstructured.Unstructured) error
	Create(ctx context.Context, object *unstructured.Unstructured) error
	ForceFrontendUpdate(ctx context.Context) error
	SendAlert(ctx context.Context, clientID string, alert action.Alert) error
}

Service is the dashboard service.

Directories

Path Synopsis
Package fake is a generated GoMock package.
Package fake is a generated GoMock package.

Jump to

Keyboard shortcuts

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