meta

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2021 License: MIT Imports: 1 Imported by: 0

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

type Component struct {
	Kind       string `yaml:"kind"`
	APIVersion string `yaml:"apiVersion"`
}

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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