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
- Variables
- func Resource(resource string) schema.GroupResource
- type CommandArgsOverrider
- type EdgeApplication
- type EdgeApplicationList
- type EdgeApplicationSpec
- type EdgeApplicationStatus
- type EnvOverrider
- type ImageComponent
- type ImageOverrider
- type ImagePredicate
- type Manifest
- type ManifestCondition
- type ManifestStatus
- type NodeGroup
- type NodeGroupList
- type NodeGroupSpec
- type NodeGroupStatus
- type NodeStatus
- type OverriderOperator
- type Overriders
- type ReadyStatus
- type ResourceIdentifier
- type ResourceTemplate
- type ResourcesOverrider
- type SelectionStatus
- type TargetNodeGroup
- type WorkloadScope
Constants ¶
const GroupName = "apps.kubeedge.io"
GroupName specifies the group name used to register the objects.
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder // Depreciated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}
GroupVersion specifies the group and the version used to register the objects.
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 ¶
func (in *CommandArgsOverrider) DeepCopy() *CommandArgsOverrider
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 ¶
func (in *EdgeApplicationStatus) DeepCopy() *EdgeApplicationStatus
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Manifest.
func (*Manifest) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroup.
func (*NodeGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeGroup) DeepCopyObject ¶
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.