dashboardserver

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2022 License: AGPL-3.0 Imports: 38 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ExecutionCompleteSchemaVersion int64 = 20220614
View Source
var ExecutionStartedSchemaVersion int64 = 20220614

Functions

func OutputMessage

func OutputMessage(ctx context.Context, msg string)

func OutputWait

func OutputWait(ctx context.Context, msg string)

func RunForService

func RunForService(ctx context.Context, serverListen ListenType, serverPort ListenPort) error

RunForService spanws an execution of the 'steampipe dashboard' command. It is used when starting/restarting the steampipe service with the --dashboard flag set

func StopDashboardService

func StopDashboardService(ctx context.Context) error

func WriteServiceStateFile

func WriteServiceStateFile(state *DashboardServiceState) error

Types

type AvailableDashboardsPayload

type AvailableDashboardsPayload struct {
	Action     string                           `json:"action"`
	Dashboards map[string]ModAvailableDashboard `json:"dashboards"`
	Benchmarks map[string]ModAvailableBenchmark `json:"benchmarks"`
}

type ClientRequest

type ClientRequest struct {
	Action  string               `json:"action"`
	Payload ClientRequestPayload `json:"payload"`
}

type ClientRequestDashboardPayload

type ClientRequestDashboardPayload struct {
	FullName string `json:"full_name"`
}

type ClientRequestPayload

type ClientRequestPayload struct {
	Dashboard    ClientRequestDashboardPayload `json:"dashboard"`
	InputValues  map[string]interface{}        `json:"input_values"`
	ChangedInput string                        `json:"changed_input"`
}

type ControlEventPayload

type ControlEventPayload struct {
	Action      string                                 `json:"action"`
	Control     controlstatus.ControlRunStatusProvider `json:"control"`
	Name        string                                 `json:"name"`
	Progress    *controlstatus.ControlProgress         `json:"progress"`
	ExecutionId string                                 `json:"execution_id"`
}

type DashboardClientInfo

type DashboardClientInfo struct {
	Session         *melody.Session
	Dashboard       *string
	DashboardInputs map[string]interface{}
}

type DashboardMetadata

type DashboardMetadata struct {
	Mod           ModDashboardMetadata            `json:"mod"`
	InstalledMods map[string]ModDashboardMetadata `json:"installed_mods,omitempty"`
	Cloud         *steampipeconfig.CloudMetadata  `json:"cloud,omitempty"`
	Telemetry     string                          `json:"telemetry"`
}

type DashboardMetadataPayload

type DashboardMetadataPayload struct {
	Action   string            `json:"action"`
	Metadata DashboardMetadata `json:"metadata"`
}

type DashboardServiceState

type DashboardServiceState struct {
	State         ServiceState `json:"state"`
	Error         string       `json:"error"`
	Pid           int          `json:"pid"`
	Port          int          `json:"port"`
	ListenType    string       `json:"listen_type"`
	Listen        []string     `json:"listen"`
	StructVersion int64        `json:"struct_version"`
}

func GetDashboardServiceState

func GetDashboardServiceState() (*DashboardServiceState, error)

func (*DashboardServiceState) Save

func (s *DashboardServiceState) Save() error

type ErrorPayload

type ErrorPayload struct {
	Action string `json:"action"`
	Error  string `json:"error"`
}

type ExecutionCompletePayload

type ExecutionCompletePayload struct {
	SchemaVersion string                                  `json:"schema_version"`
	Action        string                                  `json:"action"`
	DashboardNode dashboardtypes.DashboardNodeRun         `json:"dashboard_node"`
	Panels        map[string]dashboardtypes.SnapshotPanel `json:"panels"`
	ExecutionId   string                                  `json:"execution_id"`
	Inputs        map[string]interface{}                  `json:"inputs"`
	Variables     map[string]string                       `json:"variables"`
	SearchPath    []string                                `json:"search_path"`
	StartTime     time.Time                               `json:"start_time"`
	EndTime       time.Time                               `json:"end_time"`
	Layout        *dashboardtypes.SnapshotTreeNode        `json:"layout"`
}

type ExecutionErrorPayload

type ExecutionErrorPayload struct {
	Action string `json:"action"`
	Error  string `json:"error"`
}

type ExecutionStartedPayload

type ExecutionStartedPayload struct {
	SchemaVersion string                                  `json:"schema_version"`
	Action        string                                  `json:"action"`
	DashboardNode dashboardtypes.DashboardNodeRun         `json:"dashboard_node"`
	ExecutionId   string                                  `json:"execution_id"`
	Panels        map[string]dashboardtypes.SnapshotPanel `json:"panels"`
	Layout        *dashboardtypes.SnapshotTreeNode        `json:"layout"`
}

type InputValuesClearedPayload

type InputValuesClearedPayload struct {
	Action        string   `json:"action"`
	ClearedInputs []string `json:"cleared_inputs"`
	ExecutionId   string   `json:"execution_id"`
}

type LeafNodeCompletePayload

type LeafNodeCompletePayload struct {
	Action        string                          `json:"action"`
	DashboardNode dashboardtypes.DashboardNodeRun `json:"dashboard_node"`
	ExecutionId   string                          `json:"execution_id"`
}

type ListenPort

type ListenPort int

func (ListenPort) IsValid

func (lp ListenPort) IsValid() error

IsValid is a validator for ListenType known values

type ListenType

type ListenType string
const (
	ListenTypeLocal   ListenType = "local"
	ListenTypeNetwork ListenType = "network"
)

func (ListenType) IsValid

func (lt ListenType) IsValid() error

IsValid is a validator for ListenType known values

type ModAvailableBenchmark

type ModAvailableBenchmark struct {
	Title       string                  `json:"title,omitempty"`
	FullName    string                  `json:"full_name"`
	ShortName   string                  `json:"short_name"`
	Tags        map[string]string       `json:"tags"`
	IsTopLevel  bool                    `json:"is_top_level"`
	Children    []ModAvailableBenchmark `json:"children,omitempty"`
	Trunks      [][]string              `json:"trunks"`
	ModFullName string                  `json:"mod_full_name"`
}

type ModAvailableDashboard

type ModAvailableDashboard struct {
	Title       string            `json:"title,omitempty"`
	FullName    string            `json:"full_name"`
	ShortName   string            `json:"short_name"`
	Tags        map[string]string `json:"tags"`
	ModFullName string            `json:"mod_full_name"`
}

type ModDashboardMetadata

type ModDashboardMetadata struct {
	Title     string `json:"title,omitempty"`
	FullName  string `json:"full_name"`
	ShortName string `json:"short_name"`
}

type Server

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

func NewServer

func NewServer(ctx context.Context, dbClient db_common.Client, w *workspace.Workspace) (*Server, error)

func (*Server) HandleWorkspaceUpdate

func (s *Server) HandleWorkspaceUpdate(event dashboardevents.DashboardEvent)

func (*Server) Shutdown

func (s *Server) Shutdown()

Shutdown stops the API server

func (*Server) Start

func (s *Server) Start() chan struct{}

Start starts the API server it returns a channel which is signalled when the API server terminates

type ServiceState

type ServiceState string
const (
	ServiceStateRunning       ServiceState = "running"
	ServiceStateError         ServiceState = "error"
	ServiceStateStructVersion              = 20220411
)

Jump to

Keyboard shortcuts

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