v1alpha1

package
v1.19.0 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2024 License: Apache-2.0 Imports: 4 Imported by: 6

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +groupName=apps.kubeedge.io

Index

Constants

View Source
const GroupName = "apps.kubeedge.io"

GroupName specifies the group name used to register the objects.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Depreciated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type CommandArgsOverrider

type CommandArgsOverrider struct {
	// The name of container
	// +required
	ContainerName string `json:"containerName"`

	// Operator represents the operator which will apply on the command/args.
	// +kubebuilder:validation:Enum=add;remove
	// +required
	Operator OverriderOperator `json:"operator"`

	// Value to be applied to command/args.
	// Items in Value which will be appended after command/args when Operator is 'add'.
	// Items in Value which match in command/args will be deleted when Operator is 'remove'.
	// If Value is empty, then the command/args will remain the same.
	// +optional
	Value []string `json:"value,omitempty"`
}

CommandArgsOverrider represents the rules dedicated to handling command/args overrides.

func (*CommandArgsOverrider) DeepCopy

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

func (*CommandArgsOverrider) DeepCopyInto

func (in *CommandArgsOverrider) DeepCopyInto(out *CommandArgsOverrider)

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

type EdgeApplication

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

	// Spec represents the desired behavior of EdgeApplication.
	// +required
	Spec EdgeApplicationSpec `json:"spec,omitempty"`
	// Status represents the status of PropagationStatus.
	// +optional
	Status EdgeApplicationStatus `json:"status,omitempty"`
}

EdgeApplication is the Schema for the edgeapplications API

func (*EdgeApplication) DeepCopy

func (in *EdgeApplication) DeepCopy() *EdgeApplication

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

func (*EdgeApplication) DeepCopyInto

func (in *EdgeApplication) DeepCopyInto(out *EdgeApplication)

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

func (*EdgeApplication) DeepCopyObject

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

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

type EdgeApplicationList

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

EdgeApplicationList contains a list of EdgeApplication

func (*EdgeApplicationList) DeepCopy

func (in *EdgeApplicationList) DeepCopy() *EdgeApplicationList

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

func (*EdgeApplicationList) DeepCopyInto

func (in *EdgeApplicationList) DeepCopyInto(out *EdgeApplicationList)

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

func (*EdgeApplicationList) DeepCopyObject

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

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

type EdgeApplicationSpec

type EdgeApplicationSpec struct {
	// WorkloadTemplate contains original templates of resources to be deployed
	// as an EdgeApplication.
	WorkloadTemplate ResourceTemplate `json:"workloadTemplate,omitempty"`
	// WorkloadScope represents which node groups the workload will be deployed in.
	WorkloadScope WorkloadScope `json:"workloadScope"`
}

EdgeApplicationSpec defines the desired state of EdgeApplication

func (*EdgeApplicationSpec) DeepCopy

func (in *EdgeApplicationSpec) DeepCopy() *EdgeApplicationSpec

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

func (*EdgeApplicationSpec) DeepCopyInto

func (in *EdgeApplicationSpec) DeepCopyInto(out *EdgeApplicationSpec)

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

type EdgeApplicationStatus

type EdgeApplicationStatus struct {
	// WorkloadStatus contains running statuses of generated resources.
	// +optional
	WorkloadStatus []ManifestStatus `json:"workloadStatus,omitempty"`
}

EdgeApplicationStatus defines the observed state of EdgeApplication

func (*EdgeApplicationStatus) DeepCopy

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

func (*EdgeApplicationStatus) DeepCopyInto

func (in *EdgeApplicationStatus) DeepCopyInto(out *EdgeApplicationStatus)

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

type EnvOverrider

type EnvOverrider struct {
	// The name of container
	// +required
	ContainerName string `json:"containerName"`

	// Operator represents the operator which will apply on the env.
	// +kubebuilder:validation:Enum=add;remove;replace
	// +required
	Operator OverriderOperator `json:"operator"`

	// Value to be applied to env.
	// Must not be empty when operator is 'add' or 'replace'.
	// When the operator is 'remove', the matched value in env will be deleted
	// and only the name of the value will be matched.
	// If Value is empty, then the env will remain the same.
	// +optional
	Value []corev1.EnvVar `json:"value,omitempty"`
}

EnvOverrider represents the rules dedicated to handling env overrides.

func (*EnvOverrider) DeepCopy

func (in *EnvOverrider) DeepCopy() *EnvOverrider

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

func (*EnvOverrider) DeepCopyInto

func (in *EnvOverrider) DeepCopyInto(out *EnvOverrider)

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

type ImageComponent

type ImageComponent string

ImageComponent indicates the components for image.

const (
	// Registry is the registry component of an image with format '[registry/]repository[:tag]'.
	Registry ImageComponent = "Registry"

	// Repository is the repository component of an image with format '[registry/]repository[:tag]'.
	Repository ImageComponent = "Repository"

	// Tag is the tag component of an image with format '[registry/]repository[:tag]'.
	Tag ImageComponent = "Tag"
)

type ImageOverrider

type ImageOverrider struct {
	// Predicate filters images before applying the rule.
	//
	// Defaults to nil, in that case, the system will automatically detect image fields if the resource type is
	// Pod, ReplicaSet, Deployment or StatefulSet by following rule:
	//   - Pod: /spec/containers/<N>/image
	//   - ReplicaSet: /spec/template/spec/containers/<N>/image
	//   - Deployment: /spec/template/spec/containers/<N>/image
	//   - StatefulSet: /spec/template/spec/containers/<N>/image
	// In addition, all images will be processed if the resource object has more than one containers.
	//
	// If not nil, only images matches the filters will be processed.
	// +optional
	Predicate *ImagePredicate `json:"predicate,omitempty"`

	// Component is part of image name.
	// Basically we presume an image can be made of '[registry/]repository[:tag]'.
	// The registry could be:
	// - k8s.gcr.io
	// - fictional.registry.example:10443
	// The repository could be:
	// - kube-apiserver
	// - fictional/nginx
	// The tag cloud be:
	// - latest
	// - v1.19.1
	// - @sha256:dbcc1c35ac38df41fd2f5e4130b32ffdb93ebae8b3dbe638c23575912276fc9c
	//
	// +kubebuilder:validation:Enum=Registry;Repository;Tag
	// +required
	Component ImageComponent `json:"component"`

	// Operator represents the operator which will apply on the image.
	// +kubebuilder:validation:Enum=add;remove;replace
	// +required
	Operator OverriderOperator `json:"operator"`

	// Value to be applied to image.
	// Must not be empty when operator is 'add' or 'replace'.
	// Defaults to empty and ignored when operator is 'remove'.
	// +optional
	Value string `json:"value,omitempty"`
}

ImageOverrider represents the rules dedicated to handling image overrides.

func (*ImageOverrider) DeepCopy

func (in *ImageOverrider) DeepCopy() *ImageOverrider

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

func (*ImageOverrider) DeepCopyInto

func (in *ImageOverrider) DeepCopyInto(out *ImageOverrider)

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

type ImagePredicate

type ImagePredicate struct {
	// Path indicates the path of target field
	// +required
	Path string `json:"path"`
}

ImagePredicate describes images filter.

func (*ImagePredicate) DeepCopy

func (in *ImagePredicate) DeepCopy() *ImagePredicate

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

func (*ImagePredicate) DeepCopyInto

func (in *ImagePredicate) DeepCopyInto(out *ImagePredicate)

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

type Manifest

type Manifest struct {
	// +kubebuilder:pruning:PreserveUnknownFields
	runtime.RawExtension `json:",inline"`
}

Manifest represents a resource to be deployed on managed node groups.

func (*Manifest) DeepCopy

func (in *Manifest) DeepCopy() *Manifest

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

func (*Manifest) DeepCopyInto

func (in *Manifest) DeepCopyInto(out *Manifest)

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

type ManifestCondition

type ManifestCondition string
const (
	// EdgeAppProcessing represents that the manifest is under processing and currently
	// the status of this manifest does not match the desired.
	EdgeAppProcessing ManifestCondition = "Processing"
	// EdgeAppAvailable represents that the manifest has been applied successfully and the current
	// status matches the desired.
	EdgeAppAvailable ManifestCondition = "Available"
)

type ManifestStatus

type ManifestStatus struct {
	// Identifier represents the identity of a resource linking to manifests in spec.
	// +required
	Identifier ResourceIdentifier `json:"identifier"`

	// Conditions contain the different condition statuses for this manifest.
	// Valid condition types are:
	// 1. Processing: this workload is under processing and the current state of manifest does not match the desired.
	// 2. Available: the current status of this workload matches the desired.
	// +kubebuilder:validation:Enum=Processing;Available
	// +optional
	Condition ManifestCondition `json:"conditions,omitempty"`
}

ManifestStatus contains running status of a specific manifest in spec.

func (*ManifestStatus) DeepCopy

func (in *ManifestStatus) DeepCopy() *ManifestStatus

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

func (*ManifestStatus) DeepCopyInto

func (in *ManifestStatus) DeepCopyInto(out *ManifestStatus)

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

type NodeGroup

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

	// Spec represents the specification of the desired behavior of member nodegroup.
	// +required
	Spec NodeGroupSpec `json:"spec,omitempty"`

	// Status represents the status of member nodegroup.
	// +optional
	Status NodeGroupStatus `json:"status,omitempty"`
}

NodeGroup is the Schema for the nodegroups API

func (*NodeGroup) DeepCopy

func (in *NodeGroup) DeepCopy() *NodeGroup

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

func (*NodeGroup) DeepCopyInto

func (in *NodeGroup) DeepCopyInto(out *NodeGroup)

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

func (*NodeGroup) DeepCopyObject

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

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

type NodeGroupList

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

NodeGroupList contains a list of NodeGroup

func (*NodeGroupList) DeepCopy

func (in *NodeGroupList) DeepCopy() *NodeGroupList

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

func (*NodeGroupList) DeepCopyInto

func (in *NodeGroupList) DeepCopyInto(out *NodeGroupList)

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

func (*NodeGroupList) DeepCopyObject

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

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

type NodeGroupSpec

type NodeGroupSpec struct {
	// Nodes contains names of all the nodes in the nodegroup.
	// +optional
	Nodes []string `json:"nodes,omitempty"`

	// MatchLabels are used to select nodes that have these labels.
	// +optional
	MatchLabels map[string]string `json:"matchLabels,omitempty"`
}

NodeGroupSpec defines the desired state of NodeGroup

func (*NodeGroupSpec) DeepCopy

func (in *NodeGroupSpec) DeepCopy() *NodeGroupSpec

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

func (*NodeGroupSpec) DeepCopyInto

func (in *NodeGroupSpec) DeepCopyInto(out *NodeGroupSpec)

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

type NodeGroupStatus

type NodeGroupStatus struct {
	// NodeStatuses is a status list of all selected nodes.
	// +optional
	NodeStatuses []NodeStatus `json:"nodeStatuses,omitempty"`
}

NodeGroupStatus contains the observed status of all selected nodes in this NodeGroup, including nodes that have been one of the members of this NodeGroup and those have not.

func (*NodeGroupStatus) DeepCopy

func (in *NodeGroupStatus) DeepCopy() *NodeGroupStatus

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

func (*NodeGroupStatus) DeepCopyInto

func (in *NodeGroupStatus) DeepCopyInto(out *NodeGroupStatus)

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

type NodeStatus

type NodeStatus struct {
	// NodeName contains name of this node.
	// +required
	NodeName string `json:"nodeName"`
	// ReadyStatus contains ready status of this node.
	// +required
	ReadyStatus ReadyStatus `json:"readyStatus"`
	// SelectionStatus contains status of the selection result for this node.
	// +required
	SelectionStatus SelectionStatus `json:"selectionStatus"`
	// SelectionStatusReason contains human-readable reason for this SelectionStatus.
	// +optional
	SelectionStatusReason string `json:"selectionStatusReason,omitempty"`
}

NodeStatus contains status of node that selected by this NodeGroup.

func (*NodeStatus) DeepCopy

func (in *NodeStatus) DeepCopy() *NodeStatus

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

func (*NodeStatus) DeepCopyInto

func (in *NodeStatus) DeepCopyInto(out *NodeStatus)

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

type OverriderOperator

type OverriderOperator string

OverriderOperator is the set of operators that can be used in an overrider.

const (
	OverriderOpAdd     OverriderOperator = "add"
	OverriderOpRemove  OverriderOperator = "remove"
	OverriderOpReplace OverriderOperator = "replace"
)

These are valid overrider operators.

type Overriders

type Overriders struct {
	// Replicas will override the replicas field of deployment
	// +optional
	Replicas *int `json:"replicas,omitempty"`
	// ImageOverriders represents the rules dedicated to handling image overrides.
	// +optional
	ImageOverriders []ImageOverrider `json:"imageOverriders,omitempty"`
	// EnvOverriders will override the env field of the container
	// +optional
	EnvOverriders []EnvOverrider `json:"envOverriders,omitempty"`
	// CommandOverriders represents the rules dedicated to handling container command
	// +optional
	CommandOverriders []CommandArgsOverrider `json:"commandOverriders,omitempty"`
	// ArgsOverriders represents the rules dedicated to handling container args
	// +optional
	ArgsOverriders []CommandArgsOverrider `json:"argsOverriders,omitempty"`
	// ResourcesOverriders will override the resources field of the container
	// +optional
	ResourcesOverriders []ResourcesOverrider `json:"resourcesOverriders,omitempty"`
}

Overriders represents the override rules that would apply on resources.

func (*Overriders) DeepCopy

func (in *Overriders) DeepCopy() *Overriders

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

func (*Overriders) DeepCopyInto

func (in *Overriders) DeepCopyInto(out *Overriders)

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

type ReadyStatus

type ReadyStatus string

ReadyStatus represents the healthy status of node.

const (
	// NodeReady indicates that this node is ready.
	NodeReady ReadyStatus = "Ready"

	// NodeNotReady indicates that this node is not ready.
	NodeNotReady ReadyStatus = "NotReady"

	// Unknown indicates that the status of this node is unknown.
	Unknown ReadyStatus = "Unknown"
)

type ResourceIdentifier

type ResourceIdentifier struct {
	// Ordinal represents an index in manifests list, so the condition can still be linked
	// to a manifest even though manifest cannot be parsed successfully.
	// +kubebuilder:validation:Minimum=0
	// +required
	Ordinal int `json:"ordinal"`

	// Group is the group of the resource.
	// +optional
	Group string `json:"group,omitempty"`

	// Version is the version of the resource.
	// +optional
	Version string `json:"version,omitempty"`

	// Kind is the kind of the resource.
	// +optional
	Kind string `json:"kind,omitempty"`

	// Resource is the resource type of the resource
	// +optional
	Resource string `json:"resource,omitempty"`

	// Namespace is the namespace of the resource
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Name is the name of the resource
	// +optional
	Name string `json:"name,omitempty"`
}

ResourceIdentifier provides the identifiers needed to interact with any arbitrary object.

func (*ResourceIdentifier) DeepCopy

func (in *ResourceIdentifier) DeepCopy() *ResourceIdentifier

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

func (*ResourceIdentifier) DeepCopyInto

func (in *ResourceIdentifier) DeepCopyInto(out *ResourceIdentifier)

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

type ResourceTemplate

type ResourceTemplate struct {
	// Manifests represent a list of Kubernetes resources to be deployed on the managed node groups.
	// +optional
	Manifests []Manifest `json:"manifests,omitempty"`
}

ResourceTemplate represents original templates of resources to be deployed as an EdgeApplication.

func (*ResourceTemplate) DeepCopy

func (in *ResourceTemplate) DeepCopy() *ResourceTemplate

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

func (*ResourceTemplate) DeepCopyInto

func (in *ResourceTemplate) DeepCopyInto(out *ResourceTemplate)

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

type ResourcesOverrider

type ResourcesOverrider struct {
	// The name of container
	// +required
	ContainerName string `json:"containerName"`

	// Value to be applied to resources.
	// Must not be empty
	// +required
	Value corev1.ResourceRequirements `json:"value,omitempty"`
}

ResourcesOverrider represents the rules dedicated to handling resources overrides.

func (*ResourcesOverrider) DeepCopy

func (in *ResourcesOverrider) DeepCopy() *ResourcesOverrider

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

func (*ResourcesOverrider) DeepCopyInto

func (in *ResourcesOverrider) DeepCopyInto(out *ResourcesOverrider)

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

type SelectionStatus

type SelectionStatus string

SelectionStatus represents the status of selecting a node as a member of this NodeGroup.

const (
	// SucceededSelection represents that this node has been selected as a member of this NodeGroup.
	SucceededSelection SelectionStatus = "Succeeded"
	// FailedSelection represents that this node failed to become a member of this NodeGroup.
	FailedSelection SelectionStatus = "Failed"
)

type TargetNodeGroup

type TargetNodeGroup struct {
	// Name represents the name of target node group
	Name string `json:"name"`
	// Overriders represents the override rules that would apply on workload.
	Overriders Overriders `json:"overriders,omitempty"`
}

TargetNodeGroup represents the target node group of workload to be deployed, including override rules to apply for this node group.

func (*TargetNodeGroup) DeepCopy

func (in *TargetNodeGroup) DeepCopy() *TargetNodeGroup

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

func (*TargetNodeGroup) DeepCopyInto

func (in *TargetNodeGroup) DeepCopyInto(out *TargetNodeGroup)

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

type WorkloadScope

type WorkloadScope struct {
	// TargetNodeGroups represents the target node groups of workload to be deployed.
	// +optional
	TargetNodeGroups []TargetNodeGroup `json:"targetNodeGroups,omitempty"`
}

WorkloadScope represents which node groups the workload should be deployed in.

func (*WorkloadScope) DeepCopy

func (in *WorkloadScope) DeepCopy() *WorkloadScope

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

func (*WorkloadScope) DeepCopyInto

func (in *WorkloadScope) DeepCopyInto(out *WorkloadScope)

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