Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Alias ¶
type Alias struct { Meta Metadata `yaml:"meta" json:"meta"` Target string `yaml:"target" json:"target"` }
Alias defines an alias for a channel
Target is the channel which is being referenced by the alias
type App ¶
type App struct { Meta Metadata `yaml:"meta,omitempty" json:"meta"` Spec AppSpec `yaml:"spec,omitempty" json:"spec"` }
App is an inspr component that represents an App. An App can contain other apps, channels and other components.
type AppBoundary ¶
type AppBoundary struct { Input utils.StringArray `yaml:"input,omitempty" json:"input"` Output utils.StringArray `yaml:"output,omitempty" json:"output"` }
AppBoundary represents the connections this app can make to other apps. These are the fields that can be overriten by the ChannelAliases when instantiating the app.
type AppSpec ¶
type AppSpec struct { Node Node `yaml:"node,omitempty" json:"node"` Apps map[string]*App `yaml:"apps,omitempty" json:"apps"` Channels map[string]*Channel `yaml:"channels,omitempty" json:"channels"` ChannelTypes map[string]*ChannelType `yaml:"channeltypes,omitempty" json:"channeltypes"` Aliases map[string]*Alias `yaml:"aliases" json:"aliases"` Boundary AppBoundary `yaml:"boundary,omitempty" json:"boundary"` }
AppSpec represents the configuration of an App.
The app contains a list of apps and a list of nodes. The apps and nodes can be dereferenced by it's metadata reference, at CLI time.
The boundary represent the possible connections to other apps, and the fields that can be overriten when instantiating the app.
type Channel ¶
type Channel struct { Meta Metadata `yaml:"meta,omitempty" json:"meta"` Spec ChannelSpec `yaml:"spec,omitempty" json:"spec"` ConnectedApps utils.StringArray `yaml:"connectedapps,omitempty" json:"connectedapps"` ConnectedAliases utils.StringArray `yaml:"connectedaliases,omitempty" json:"connectedaliasses"` }
Channel is an Inspr component that represents a Channel.
type ChannelSpec ¶
type ChannelSpec struct {
Type string `yaml:"type,omitempty" json:"type" `
}
ChannelSpec is the specification of a channel. 'Type' string references a Channel Type structure name
type ChannelType ¶
type ChannelType struct { Meta Metadata `yaml:"meta,omitempty" json:"meta"` Schema string `yaml:"schema,omitempty" json:"schema"` ConnectedChannels []string `yaml:"connectedchannels,omitempty" json:"connectedchannels"` }
ChannelType is the type of the channel. It can be a reference to an outsourced type or can be a local type. This local type will be defined via the workspace and instantiated as a string on the cluster
type Component ¶
Component Type defines a general component so we can determine how to apply a given file to the cluster
type Metadata ¶
type Metadata struct { Name string `yaml:"name" json:"name"` Reference string `yaml:"reference,omitempty" json:"reference"` Annotations map[string]string `yaml:"annotations,omitempty" json:"annotations"` Parent string `yaml:"parent,omitempty" json:"parent"` UUID string `yaml:"uuid,omitempty"` }
Metadata represents an arbitrary inspr component. It represents this components' ID inside the cluster and the hub. Annotations can be used as query methods for getting components inside Inspr, just like kubernetes' annotations.
The parent field represents the parent app of the object. The full reference for this component will be {it's parent's reference}.Name
type Node ¶
type Node struct { Meta Metadata `yaml:"meta,omitempty" json:"meta"` Spec NodeSpec `yaml:"spec,omitempty" json:"spec"` }
Node represents an inspr component that is a node.
type NodeSpec ¶
type NodeSpec struct { Image string `yaml:"image,omitempty" json:"image"` Replicas int `yaml:"replicas,omitempty" json:"replicas"` Environment utils.EnvironmentMap `yaml:"environment,omitempty" json:"environment"` }
NodeSpec represents a configuration for a node. The image represents the Docker image for the main container of the Node.