Documentation
¶
Index ¶
- Constants
- Variables
- func AddToContainer(c *restful.Container, weaveScopeHost string) error
- type APINode
- type APITopology
- type BadRequestError
- type BasicNodeSummary
- type Column
- type Connection
- type ConnectionsSummary
- type Control
- type ControlInstance
- type IDList
- type MetadataRow
- type Metric
- type MetricRow
- type NoContent
- type Node
- type NodeResponse
- type NodeSummaries
- type NodeSummary
- type NodeSummaryGroup
- type NotFoundError
- type Parent
- type Row
- type Sample
- type StringSet
- type Table
- type TopologyResponse
Constants ¶
const GroupName = "network.kubesphere.io"
const ScopeQueryUrl = "http://%s/api/topology/services"
Variables ¶
var GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha2"}
Functions ¶
Types ¶
type APITopology ¶
type APITopology struct {
Nodes NodeSummaries `json:"nodes"`
}
type BadRequestError ¶
BadRequestError: the client request is incorrect
type BasicNodeSummary ¶
type BasicNodeSummary struct {
ID string `json:"id"`
Label string `json:"label"`
LabelMinor string `json:"labelMinor"`
Rank string `json:"rank"`
Shape string `json:"shape,omitempty"`
Tag string `json:"tag,omitempty"`
Stack bool `json:"stack,omitempty"`
Pseudo bool `json:"pseudo,omitempty"`
}
BasicNodeSummary is basic summary information about a Node, sufficient for rendering links to the node.
type Column ¶
type Column struct {
ID string `json:"id"`
Label string `json:"label"`
DataType string `json:"dataType"`
}
Column is the type for multi-column tables in the UI.
type Connection ¶
type Connection struct {
ID string `json:"id"` // ID of this element in the UI. Must be unique for a given ConnectionsSummary.
NodeID string `json:"nodeId"` // ID of a node in the topology. Optional, must be set if linkable is true.
Label string `json:"label"`
LabelMinor string `json:"labelMinor,omitempty"`
Metadata []MetadataRow `json:"metadata,omitempty"`
}
Connection is a row in the connections table.
type ConnectionsSummary ¶
type ConnectionsSummary struct {
ID string `json:"id"`
TopologyID string `json:"topologyId"`
Label string `json:"label"`
Columns []Column `json:"columns"`
Connections []Connection `json:"connections"`
}
ConnectionsSummary is the table of connection to/form a node
type Control ¶
type Control struct {
ID string `json:"id"`
Human string `json:"human"`
Icon string `json:"icon"` // from https://fortawesome.github.io/Font-Awesome/cheatsheet/ please
Confirmation string `json:"confirmation,omitempty"`
Rank int `json:"rank"`
}
A Control basically describes an RPC
type ControlInstance ¶
ControlInstance contains a control description, and all the info needed to execute it.
type IDList ¶
type IDList StringSet
IDList is a list of string IDs, which are always sorted and unique.
type MetadataRow ¶
type MetadataRow struct {
ID string `json:"id"`
Label string `json:"label"`
Value string `json:"value"`
Priority float64 `json:"priority,omitempty"`
Datatype string `json:"dataType,omitempty"`
Truncate int `json:"truncate,omitempty"`
}
MetadataRow is a row for the metadata table.
type Metric ¶
type Metric struct {
Samples []Sample `json:"samples,omitempty"`
Min float64 `json:"min"`
Max float64 `json:"max"`
}
Metric is a list of timeseries data with some metadata. Clients must use the Add method to add values. Metrics are immutable.
type MetricRow ¶
type MetricRow struct {
ID string
Label string
Format string
Group string
Value float64
ValueEmpty bool
Priority float64
URL string
Metric *Metric
}
MetricRow is a tuple of data used to render a metric as a sparkline and accoutrements.
type Node ¶
type Node struct {
NodeSummary
Controls []ControlInstance `json:"controls"`
Children []NodeSummaryGroup `json:"children,omitempty"`
Connections []ConnectionsSummary `json:"connections,omitempty"`
}
Node is the data type that's yielded to the JavaScript layer when we want deep information about an individual node.
type NodeResponse ¶
type NodeResponse struct {
APINode
}
type NodeSummaries ¶
type NodeSummaries map[string]NodeSummary
type NodeSummary ¶
type NodeSummary struct {
BasicNodeSummary
Metadata []MetadataRow `json:"metadata,omitempty"`
Parents []Parent `json:"parents,omitempty"`
Metrics []MetricRow `json:"metrics,omitempty"`
Tables []Table `json:"tables,omitempty"`
Adjacency IDList `json:"adjacency,omitempty"`
}
NodeSummary is summary information about a Node.
type NodeSummaryGroup ¶
type NodeSummaryGroup struct {
ID string `json:"id"`
Label string `json:"label"`
Nodes []NodeSummary `json:"nodes"`
TopologyID string `json:"topologyId"`
Columns []Column `json:"columns"`
}
NodeSummaryGroup is a topology-typed group of children for a Node.
type NotFoundError ¶
NotFoundError is the error message that is generated when server could not find what was requested
type Parent ¶
type Parent struct {
ID string `json:"id"`
Label string `json:"label"`
TopologyID string `json:"topologyId"`
}
Parent is the information needed to build a link to the parent of a Node.
type Row ¶
Row is the type that holds the table data for the UI. Entries map from column ID to cell value.
type StringSet ¶
type StringSet []string
StringSet is a sorted set of unique strings. Clients must use the Add method to add strings.
type Table ¶
type Table struct {
ID string `json:"id"`
Label string `json:"label"`
Type string `json:"type"`
Columns []Column `json:"columns"`
Rows []Row `json:"rows"`
TruncationCount int `json:"truncationCount,omitempty"`
}
Table is the type for a table in the UI.
type TopologyResponse ¶
type TopologyResponse struct {
APITopology
}