v1alpha1

package
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: May 3, 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 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 {
	Participating ParticipatingSpec `json:"participating"`
	// 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"`
}

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 StreamSpec

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

	// Subject defines the subjects of the stream
	Subjects []string `json:"subjects"`

	// Public defines if the stream shall be exported
	// +kubebuilder:default:=false
	Public bool `json:"public,omitempty"`

	// Global defines if the stream is local only or global
	// +kubebuilder:default:=true
	Global bool `json:"global,omitempty"`

	// Streams are stored on the server, this can be one of many backends and all are usable in clustering mode.
	// Allowed values are: file, memory
	// +kubebuilder:default:=file
	Storage string `json:"storage,omitempty"`

	// 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)
	// Allowed values are: 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.
	// Allowed values are: new, old
	// +kubebuilder:default:="old"
	Discard string `json:"discard,omitempty"`
}

StreamSpec defines the configuration of a 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.

Jump to

Keyboard shortcuts

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