v1alpha1

package
v0.0.0-...-915109b Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the yanet v1alpha1 API group +kubebuilder:object:generate=true +groupName=yanet.yanet-platform.io

Index

Constants

This section is empty.

Variables

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

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

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

Functions

This section is empty.

Types

type AdditionalOpts

type AdditionalOpts struct {
	InitContainers []v1.Container          `json:"initcontainers,omitempty"`
	PostStart      []NamedLifecycleHandler `json:"poststart,omitempty"`
	Annotations    []NamedAnnotations      `json:"annotations,omitempty"`
}

OptsSpec define specs of additional resources

func (*AdditionalOpts) DeepCopy

func (in *AdditionalOpts) DeepCopy() *AdditionalOpts

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

func (*AdditionalOpts) DeepCopyInto

func (in *AdditionalOpts) DeepCopyInto(out *AdditionalOpts)

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

type AutoDiscovery

type AutoDiscovery struct {
	// (Optional) Enable or disable discovery.
	// Default: false
	// +kubebuilder:default=false
	Enable bool `json:"enable,omitempty"`
	// (Optional) Uri for node type resolver.
	// This uri get node type by node name.
	// Example: `curl localhost:80/type/test.yanet-platform.io` -> release
	// Node will be ignored if the return values is "none".
	TypeUri string `json:"typeuri,omitempty"`
	// (Optional) Namespace for new autogenerated Yanet object.
	// Default: default
	// +kubebuilder:default=default
	Namespace string `json:"namespace,omitempty"`
	// (Optional) registry for new autogenerated Yanet object.
	// Default: dockerhub.io
	// +kubebuilder:default=dockerhub.io
	Registry string `json:"registry,omitempty"`
	// (Optional) Uri for yanet version resolver.
	// This uri get yanet version(aka docker tag) by node name.
	// Example: `curl localhost:80/version/yanet/test.yanet-platform.io` -> 51.2
	VersionUri string `json:"versionuri,omitempty"`
	// (Optional) Uri for arc resolver.
	// This uri get arch by node name.
	// Example: `curl localhost:80/arch/test.yanet-platform.io` -> corei7
	ArchUri string `json:"archuri,omitempty"`
	// (Optional) Uri for configs version resolver.
	// This uri get configs version by yanet version.
	// e.g. revision of git repo
	// Example: `curl localhost:80/configs/51.2` -> 13162235
	ConfigsUri string `json:"configsuri,omitempty"`
	// Images name for deployments.
	Images Images `json:"images,omitempty"`
}

TODO: add NodeSelector/whiteList/blackList for AutoDiscovery AutoDiscovery struct configure new worker node initializer.

func (*AutoDiscovery) DeepCopy

func (in *AutoDiscovery) DeepCopy() *AutoDiscovery

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

func (*AutoDiscovery) DeepCopyInto

func (in *AutoDiscovery) DeepCopyInto(out *AutoDiscovery)

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

type Dep

type Dep struct {
	// (Optional) replicas for this deployment. One with true options and zero with false.
	// You can make deployment with zero replicas with this option.
	// Default: true
	// +kubebuilder:default=true
	Enable bool `json:"enable,omitempty"`
	// image name.
	Image string `json:"image,omitempty"`
	// (Optional) image tag.
	Tag string `json:"tag,omitempty"`
}

Deployment base configs.

func (*Dep) DeepCopy

func (in *Dep) DeepCopy() *Dep

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

func (*Dep) DeepCopyInto

func (in *Dep) DeepCopyInto(out *Dep)

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

type DepOpts

type DepOpts struct {
	Controlplane OptsNames `json:"controlplane,omitempty"`
	Dataplain    OptsNames `json:"dataplane,omitempty"`
	Bird         OptsNames `json:"bird,omitempty"`
	Announcer    OptsNames `json:"announcer,omitempty"`
}

DepOpts contains a struct of deployment options (initContainers, Annotations, etc) that SHOULD be applied to Deployments

func (*DepOpts) DeepCopy

func (in *DepOpts) DeepCopy() *DepOpts

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

func (*DepOpts) DeepCopyInto

func (in *DepOpts) DeepCopyInto(out *DepOpts)

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

type EnabledOpts

type EnabledOpts struct {
	Release  DepOpts `json:"release,omitempty"`
	Balancer DepOpts `json:"balancer,omitempty"`
}

EnabledOpts contains a struct of enabled options (initContainers, Annotations, etc) that SHOULD be applied to Deployments

func (*EnabledOpts) DeepCopy

func (in *EnabledOpts) DeepCopy() *EnabledOpts

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

func (*EnabledOpts) DeepCopyInto

func (in *EnabledOpts) DeepCopyInto(out *EnabledOpts)

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

type Images

type Images struct {
	// (Optional) Dataplane image name.
	// Default: dataplane
	// +kubebuilder:default=dataplane
	Dataplane string `json:"dataplane,omitempty"`
	// (Optional) Controlplane image name.
	// Default: controlplane
	// +kubebuilder:default=controlplane
	Controlplane string `json:"controlplane,omitempty"`
	// (Optional) Announcer image name.
	// Default: announcer
	// +kubebuilder:default=announcer
	Announcer string `json:"announcer,omitempty"`
	// (Optional) Bird image name.
	// Default: bird
	// +kubebuilder:default=bird
	Bird string `json:"bird,omitempty"`
}

Images defines images for deployments

func (*Images) DeepCopy

func (in *Images) DeepCopy() *Images

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

func (*Images) DeepCopyInto

func (in *Images) DeepCopyInto(out *Images)

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

type LifecycleHandler

type LifecycleHandler struct {
	Exec []string `json:"exec,omitempty"`
}

LifecycleHandler contains truncated original LifecycleHandler

func (*LifecycleHandler) DeepCopy

func (in *LifecycleHandler) DeepCopy() *LifecycleHandler

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

func (*LifecycleHandler) DeepCopyInto

func (in *LifecycleHandler) DeepCopyInto(out *LifecycleHandler)

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

type MutexYanetConfigSpec

type MutexYanetConfigSpec struct {
	Config YanetConfigSpec `json:"config,omitempty"`
	Lock   sync.Mutex      `json:"-"`
}

YanetConfigSpec with mutex for controllers. +kubebuilder:object:generate=false

type NamedAnnotations

type NamedAnnotations struct {
	Name        string            `json:"name,omitempty"`
	Annotations map[string]string `json:"annotations,omitempty"`
}

NamedAnnotations contains Annotations with Name

func (*NamedAnnotations) DeepCopy

func (in *NamedAnnotations) DeepCopy() *NamedAnnotations

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

func (*NamedAnnotations) DeepCopyInto

func (in *NamedAnnotations) DeepCopyInto(out *NamedAnnotations)

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

type NamedLifecycleHandler

type NamedLifecycleHandler struct {
	Name string `json:"name,omitempty"`
	// Exec without executor, only args!
	Exec string `json:"exec,omitempty"`
}

NamedLifecycleHandler contains LifecycleHandler with Name

func (*NamedLifecycleHandler) DeepCopy

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

func (*NamedLifecycleHandler) DeepCopyInto

func (in *NamedLifecycleHandler) DeepCopyInto(out *NamedLifecycleHandler)

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

type OptsNames

type OptsNames struct {
	InitContainers []string         `json:"initcontainers,omitempty"`
	PostStart      LifecycleHandler `json:"poststart,omitempty"`
	Annotations    []string         `json:"annotations,omitempty"`
	HostIpc        bool             `json:"hostipc,omitempty"`
}

OptsNames contains options that SHOULD be applied to Deployments

func (*OptsNames) DeepCopy

func (in *OptsNames) DeepCopy() *OptsNames

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

func (*OptsNames) DeepCopyInto

func (in *OptsNames) DeepCopyInto(out *OptsNames)

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

type Sync

type Sync struct {
	Synced      []string `json:"synced,omitempty"`
	OutOfSync   []string `json:"outofsync,omitempty"`
	SyncWaiting []string `json:"syncwaiting,omitempty"`
	Error       []string `json:"error,omitempty"`
	Disabled    []string `json:"disabled,omitempty"`
}

Sync defines sync state of Yanet objects.

func (*Sync) DeepCopy

func (in *Sync) DeepCopy() *Sync

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

func (*Sync) DeepCopyInto

func (in *Sync) DeepCopyInto(out *Sync)

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

type Yanet

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

	Spec   YanetSpec   `json:"spec,omitempty"`
	Status YanetStatus `json:"status,omitempty"`
}

Yanet is the Schema for the yanets API

func (*Yanet) DeepCopy

func (in *Yanet) DeepCopy() *Yanet

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

func (*Yanet) DeepCopyInto

func (in *Yanet) DeepCopyInto(out *Yanet)

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

func (*Yanet) DeepCopyObject

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

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

type YanetConfig

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

	Spec   YanetConfigSpec   `json:"spec,omitempty"`
	Status YanetConfigStatus `json:"status,omitempty"`
}

YanetConfig is the Schema for the yanetconfigs API

func (*YanetConfig) DeepCopy

func (in *YanetConfig) DeepCopy() *YanetConfig

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

func (*YanetConfig) DeepCopyInto

func (in *YanetConfig) DeepCopyInto(out *YanetConfig)

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

func (*YanetConfig) DeepCopyObject

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

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

type YanetConfigList

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

YanetConfigList contains a list of YanetConfig

func (*YanetConfigList) DeepCopy

func (in *YanetConfigList) DeepCopy() *YanetConfigList

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

func (*YanetConfigList) DeepCopyInto

func (in *YanetConfigList) DeepCopyInto(out *YanetConfigList)

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

func (*YanetConfigList) DeepCopyObject

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

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

type YanetConfigSpec

type YanetConfigSpec struct {

	// (Optional) Stop means global stop. Do nothing in main reconcile loop.
	// When turned off, the operator may skip some events.
	// When turned on, restart recommended.
	// Default: false
	// +kubebuilder:default=false
	Stop bool `json:"stop,omitempty"`
	// (Optional) AutoDiscovery configure new worker node initializer.
	AutoDiscovery AutoDiscovery `json:"autodiscovery,omitempty"`
	// (Optional) Period in seconds between yanet resources reconcilation on different nodes.
	// When the value is non-zero, the operator expects number of seconds between end of resource reconcilation on one node
	// and resource reconcilation start on another node.
	// Default: 0
	// +kubebuilder:default=0
	UpdateWindow int `json:"updatewindow,omitempty"`
	// (Optional) Additional options to be applied to yanet.
	EnabledOpts EnabledOpts `json:"enabledopts,omitempty"`
	// (Optional) Additional options.
	AdditionalOpts AdditionalOpts `json:"additionalopts,omitempty"`
}

YanetConfigSpec defines the desired state of YanetConfig

func (*YanetConfigSpec) DeepCopy

func (in *YanetConfigSpec) DeepCopy() *YanetConfigSpec

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

func (*YanetConfigSpec) DeepCopyInto

func (in *YanetConfigSpec) DeepCopyInto(out *YanetConfigSpec)

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

type YanetConfigStatus

type YanetConfigStatus struct {
}

YanetConfigStatus defines the observed state of YanetConfig

func (*YanetConfigStatus) DeepCopy

func (in *YanetConfigStatus) DeepCopy() *YanetConfigStatus

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

func (*YanetConfigStatus) DeepCopyInto

func (in *YanetConfigStatus) DeepCopyInto(out *YanetConfigStatus)

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

type YanetList

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

YanetList contains a list of Yanet

func (*YanetList) DeepCopy

func (in *YanetList) DeepCopy() *YanetList

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

func (*YanetList) DeepCopyInto

func (in *YanetList) DeepCopyInto(out *YanetList)

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

func (*YanetList) DeepCopyObject

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

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

type YanetSpec

type YanetSpec struct {

	// (Optional) Global docker registry.
	Registry string `json:"registry,omitempty"`
	// (Optional) Tag for dataplane/controlplane/anouncer/bird images.
	// Default: latest
	// +kubebuilder:default=latest
	Tag string `json:"tag,omitempty"`
	// Worker node name for deploy.
	// Only one Yanet on node!
	// Do not use regex!
	NodeName string `json:"nodename,omitempty"`
	// (Optional) Type of dataplane(release or balancer).
	// Default: release
	// +kubebuilder:default=release
	Type string `json:"type,omitempty"`
	// (Optional) Operator enable autosync for this node.
	// Default: false
	// +kubebuilder:default=false
	AutoSync bool `json:"autosync,omitempty"`
	// (Optional) base configs for announcer deployment.
	Announcer Dep `json:"announcer,omitempty"`
	// (Optional) base configs for contorlplane deployment.
	Controlplane Dep `json:"controlplane,omitempty"`
	// (Optional) base configs for dataplane deployment.
	Dataplane Dep `json:"dataplane,omitempty"`
	// (Optional) base configs for bird deployment.
	Bird Dep `json:"bird,omitempty"`
	// (Optional) oneshot host prepare job.
	PrepareJob Dep `json:"preparejob,omitempty"`
	// (Optional) Allow reboot on prepare stage.
	// Default: false
	// +kubebuilder:default=false
	AllowReboot bool `json:"allowreboot,omitempty"`
}

YanetSpec defines the desired state of Yanet

func (*YanetSpec) DeepCopy

func (in *YanetSpec) DeepCopy() *YanetSpec

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

func (*YanetSpec) DeepCopyInto

func (in *YanetSpec) DeepCopyInto(out *YanetSpec)

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

type YanetStatus

type YanetStatus struct {
	// Resulting pods by status.
	Pods map[v1.PodPhase][]string `json:"pods,omitempty"`
	Sync Sync                     `json:"sync,omitempty"`
}

YanetStatus defines the observed state of Yanet.

func (*YanetStatus) DeepCopy

func (in *YanetStatus) DeepCopy() *YanetStatus

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

func (*YanetStatus) DeepCopyInto

func (in *YanetStatus) DeepCopyInto(out *YanetStatus)

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
JackTT - Gopher 🇻🇳