v1alpha1

package
v0.5.0-beta.4 Latest Latest
Warning

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

Go to latest
Published: May 13, 2022 License: AGPL-3.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the network v1alpha1 API group +kubebuilder:object:generate=true +groupName=network.edgefarm.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "network.edgefarm.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AggreagateStreamSpec

type AggreagateStreamSpec struct {
	// SourceDomainss is a list of domains from which streams are aggregated
	SourceDomains []string `json:"sourceDomains"`

	// SourceName is the name of the source stream to aggregate
	SourceName string `json:"sourceName"`

	// State is the current state of the aggregate stream
	State string `json:"state,omitempty"`
}

AggreagateStreamSpec defines the current state of a aggregated stream

func (*AggreagateStreamSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AggreagateStreamSpec.

func (*AggreagateStreamSpec) DeepCopyInto

func (in *AggreagateStreamSpec) DeepCopyInto(out *AggreagateStreamSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MainDomainSpec

type MainDomainSpec struct {
	// Standard is a map of standard jetstreams that are available in the main domain.
	// key is jetstream name, value is either "created", "error"
	Standard map[string]string `json:"standard"`

	// Mirror is a map of mirror jetstreams that are available in the main domain.
	// key is jetstream name, value is either "pending", "created", "deleting"
	Mirror map[string]MirrorStreamSpec `json:"mirror"`

	// Aggregatte is a map of aggregated jetstreams that are available in the main domain.
	// key is jetstream name, value is either "pending", "updated", "created", "deleting"
	Aggregatte map[string]AggreagateStreamSpec `json:"aggregate"`
}

MainDomainSpec defines the current state of the main domains jetstreams

func (*MainDomainSpec) DeepCopy

func (in *MainDomainSpec) DeepCopy() *MainDomainSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MainDomainSpec.

func (*MainDomainSpec) DeepCopyInto

func (in *MainDomainSpec) DeepCopyInto(out *MainDomainSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MirrorStreamSpec

type MirrorStreamSpec struct {
	// SourceDomain is the domain from which the stream is mirrored
	SourceDomain string `json:"sourceDomain"`

	// SourceName is the name of the source stream to mirror
	SourceName string `json:"sourceName"`
}

MirrorStreamSpec defines the current state of a mirrored stream

func (*MirrorStreamSpec) DeepCopy

func (in *MirrorStreamSpec) DeepCopy() *MirrorStreamSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirrorStreamSpec.

func (*MirrorStreamSpec) DeepCopyInto

func (in *MirrorStreamSpec) DeepCopyInto(out *MirrorStreamSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Network

type Network struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec NetworkSpec     `json:"spec,omitempty"`
	Info NetworkInfoSpec `json:"info,omitempty"`
}

Network is the Schema for the networks API

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Network) DeepCopyObject

func (in *Network) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NetworkInfoSpec added in v0.5.2

type NetworkInfoSpec struct {
	// Participanting is the current state of participating nodes and pods
	Participating ParticipatingSpec `json:"participating"`

	// MainDomain is the current state of streams in the main domain
	MainDomain MainDomainSpec `json:"mainDomain"`

	// UsedAccount is the account that is used for the network.
	UsedAccount string `json:"usedAccount,omitempty"`
}

NetworkInfoSpec defines the observed state of Network

func (*NetworkInfoSpec) DeepCopy added in v0.5.2

func (in *NetworkInfoSpec) DeepCopy() *NetworkInfoSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInfoSpec.

func (*NetworkInfoSpec) DeepCopyInto added in v0.5.2

func (in *NetworkInfoSpec) DeepCopyInto(out *NetworkInfoSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkList

type NetworkList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Network `json:"items"`
}

NetworkList contains a list of Network

func (*NetworkList) DeepCopy

func (in *NetworkList) DeepCopy() *NetworkList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkList.

func (*NetworkList) DeepCopyInto

func (in *NetworkList) DeepCopyInto(out *NetworkList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkList) DeepCopyObject

func (in *NetworkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NetworkSpec

type NetworkSpec struct {

	// App is the name of the distrubuted application the network is created for.
	App string `json:"app"`

	// Namespace is the namespace the credentials shall be stored in..
	Namespace string `json:"namespace,omitempty"`

	// Streams is a list of streams in the network.
	Streams []StreamSpec `json:"streams"`

	// Subjects define the subjects that are part of this network
	Subjects []SubjectSpec `json:"subjects"`
}

NetworkSpec defines the desired state of Network

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Participants

type Participants struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ParticipantsSpec   `json:"spec,omitempty"`
	Status ParticipantsStatus `json:"status,omitempty"`
}

Participants is the Schema for the participants API

func (*Participants) DeepCopy

func (in *Participants) DeepCopy() *Participants

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Participants.

func (*Participants) DeepCopyInto

func (in *Participants) DeepCopyInto(out *Participants)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Participants) DeepCopyObject

func (in *Participants) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ParticipantsList

type ParticipantsList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Participants `json:"items"`
}

ParticipantsList contains a list of Participants

func (*ParticipantsList) DeepCopy

func (in *ParticipantsList) DeepCopy() *ParticipantsList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParticipantsList.

func (*ParticipantsList) DeepCopyInto

func (in *ParticipantsList) DeepCopyInto(out *ParticipantsList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ParticipantsList) DeepCopyObject

func (in *ParticipantsList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ParticipantsSpec

type ParticipantsSpec struct {

	// Component is the name of the component that wants to use the participant.
	Component string `json:"component"`

	// Network is the name of the network the participant is connected to.
	Network string `json:"network"`

	// App is the name of the distrubuted application the participant is created for.
	App string `json:"app"`

	// Type determins wether the participant runs on an edge node or a cloud node.
	Type string `json:"type"`
}

ParticipantsSpec defines the desired state of Participants

func (*ParticipantsSpec) DeepCopy

func (in *ParticipantsSpec) DeepCopy() *ParticipantsSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParticipantsSpec.

func (*ParticipantsSpec) DeepCopyInto

func (in *ParticipantsSpec) DeepCopyInto(out *ParticipantsSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ParticipantsStatus

type ParticipantsStatus struct {
}

ParticipantsStatus defines the observed state of Participants

func (*ParticipantsStatus) DeepCopy

func (in *ParticipantsStatus) DeepCopy() *ParticipantsStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParticipantsStatus.

func (*ParticipantsStatus) DeepCopyInto

func (in *ParticipantsStatus) DeepCopyInto(out *ParticipantsStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ParticipatingSpec added in v0.5.2

type ParticipatingSpec struct {
	// Nodes is a list of kubernetes nodes that currently are hosting participating components.
	// key is node, value is current state of the participating node ("pending", "created", "terminating")
	Nodes map[string]string `json:"nodes"`

	// Pods is a map of node names to a list of pod names indicating the pods running on the node.
	// key is node, value is list of pod names
	Pods map[string][]string `json:"pods"`

	// PodsCreated is a map of node names to a list of pod names indicating that the pods are being created.
	// key is node, value is list of pod names
	PodsCreating map[string][]string `json:"podsCreating"`

	// PodsTerminating is a map of node names to a list of pod names indicating that the pods are terminating.
	// key is node, value is list of pod names
	PodsTerminating map[string][]string `json:"podsTerminating"`

	// Components is a list of participating components in the network with their corresponding types ("edge" or "cloud").
	Components map[string]string `json:"components"`
}

ParticipatingSpec defines the current state of participating nodes and pods

func (*ParticipatingSpec) DeepCopy added in v0.5.2

func (in *ParticipatingSpec) DeepCopy() *ParticipatingSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParticipatingSpec.

func (*ParticipatingSpec) DeepCopyInto added in v0.5.2

func (in *ParticipatingSpec) DeepCopyInto(out *ParticipatingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StreamConfigSpec

type StreamConfigSpec struct {
	// Storage - Streams are stored on the server, this can be one of many backends and all are usable in clustering mode.
	// +kubebuilder:validation:Enum={"file","memory"}
	// +kubebuilder:default:=file
	Storage string `json:"storage,omitempty"`

	// Retention - Messages are retained either based on limits like size and age (Limits), as long as there are Consumers (Interest) or until any worker processed them (Work Queue)
	// +kubebuilder:validation:Enum={"limits","interest","workqueue"}
	// +kubebuilder:default:=limits
	Retention string `json:"retention,omitempty"`

	// MaxMsgsPerSubject defines the amount of messages to keep in the store for this Stream per unique subject, when exceeded oldest messages are removed, -1 for unlimited.
	// +kubebuilder:default:=-1
	MaxMsgsPerSubject int64 `json:"maxMsgsPerSubject,omitempty"`

	// MaxMsgs defines the amount of messages to keep in the store for this Stream, when exceeded oldest messages are removed, -1 for unlimited.
	// +kubebuilder:default:=-1
	MaxMsgs int64 `json:"maxMsgs,omitempty"`

	// MaxBytes defines the combined size of all messages in a Stream, when exceeded oldest messages are removed, -1 for unlimited.
	// +kubebuilder:default:=-1
	MaxBytes int64 `json:"maxBytes,omitempty"`

	// MaxAge defines the oldest messages that can be stored in the Stream, any messages older than this period will be removed, -1 for unlimited. Supports units (s)econds, (m)inutes, (h)ours, (d)ays, (M)onths, (y)ears.
	// +kubebuilder:default:="1y"
	MaxAge string `json:"maxAge,omitempty"`

	// MaxMsgSize defines the maximum size any single message may be to be accepted by the Stream.
	// +kubebuilder:default:=-1
	MaxMsgSize int32 `json:"maxMsgSize,omitempty"`

	// Discard defines if once the Stream reach it's limits of size or messages the 'new' policy will prevent further messages from being added while 'old' will delete old messages.
	// +kubebuilder:validation:Enum={"old","new"}
	// +kubebuilder:default:="old"
	Discard string `json:"discard,omitempty"`
}

StreamConfigSpec defines the configuration of a Stream

func (*StreamConfigSpec) DeepCopy

func (in *StreamConfigSpec) DeepCopy() *StreamConfigSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamConfigSpec.

func (*StreamConfigSpec) DeepCopyInto

func (in *StreamConfigSpec) DeepCopyInto(out *StreamConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StreamLinkSpec

type StreamLinkSpec struct {
	// Stream is the name of the linked stream
	Stream string `json:"stream,omitempty"`
}

StreamLinkSpec defines the desired state of a linked stream

func (*StreamLinkSpec) DeepCopy

func (in *StreamLinkSpec) DeepCopy() *StreamLinkSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamLinkSpec.

func (*StreamLinkSpec) DeepCopyInto

func (in *StreamLinkSpec) DeepCopyInto(out *StreamLinkSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StreamSpec

type StreamSpec struct {
	// Name of the stream
	Name string `json:"name"`

	// Location defines where the stream is located
	// +kubebuilder:validation:Enum={"node","main"}
	Location string `json:"location"`

	// Link defines the link to another stream
	Link *StreamLinkSpec `json:"link,omitempty"`

	// Streams define the streams that are part of this network
	Config StreamConfigSpec `json:"config"`
}

StreamSpec defines the desired state of Stream

func (*StreamSpec) DeepCopy

func (in *StreamSpec) DeepCopy() *StreamSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamSpec.

func (*StreamSpec) DeepCopyInto

func (in *StreamSpec) DeepCopyInto(out *StreamSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubjectSpec

type SubjectSpec struct {
	// Name defines the name of the subject
	Name string `json:"name"`
	// Subject defines the subjects of the stream
	Subjects []string `json:"subjects"`
	// Stream defines the stream name for the subject
	Stream string `json:"stream"`
}

SubjectSpec defines the desired state of Subject

func (*SubjectSpec) DeepCopy

func (in *SubjectSpec) DeepCopy() *SubjectSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectSpec.

func (*SubjectSpec) DeepCopyInto

func (in *SubjectSpec) DeepCopyInto(out *SubjectSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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