v1alpha1

package
v0.0.0-...-d311f4a Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	InstanceKey  = "app.kubernetes.io/instance"
	ComponentKey = "app.kubernetes.io/component"
	ManagedByKey = "app.kubernetes.io/managed-by"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "edge.emqx.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 CRPhase

type CRPhase string
const (
	CRNotReady CRPhase = "NotReady"
	CRReady    CRPhase = "Ready"
)

type ComponentType

type ComponentType string
const (
	ComponentTypeNeuronEx ComponentType = "neuronex"
	ComponentTypeNeuron   ComponentType = "neuron"
	ComponentTypeEKuiper  ComponentType = "ekuiper"
)

type EKuiper

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

	Spec   EKuiperSpec   `json:"spec,omitempty"`
	Status EKuiperStatus `json:"status,omitempty"`
}

EKuiper is the Schema for the ekuipers API

func (*EKuiper) DeepCopy

func (in *EKuiper) DeepCopy() *EKuiper

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

func (*EKuiper) DeepCopyInto

func (in *EKuiper) DeepCopyInto(out *EKuiper)

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

func (*EKuiper) DeepCopyObject

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

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

func (*EKuiper) Default

func (r *EKuiper) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*EKuiper) GetComponentType

func (ek *EKuiper) GetComponentType() ComponentType

func (*EKuiper) GetEKuiper

func (ek *EKuiper) GetEKuiper() *corev1.Container

func (*EKuiper) GetEdgePodSpec

func (ek *EKuiper) GetEdgePodSpec() EdgePodSpec

func (*EKuiper) GetNeuron

func (ek *EKuiper) GetNeuron() *corev1.Container

func (*EKuiper) GetReplicas

func (ek *EKuiper) GetReplicas() *int32

func (*EKuiper) GetServiceTemplate

func (ek *EKuiper) GetServiceTemplate() *corev1.Service

func (*EKuiper) GetStatus

func (n *EKuiper) GetStatus() EdgeStatus

func (*EKuiper) GetVolumeClaimTemplate

func (ek *EKuiper) GetVolumeClaimTemplate() *corev1.PersistentVolumeClaimTemplate

func (*EKuiper) SetReplicas

func (ek *EKuiper) SetReplicas(replicas int32)

func (*EKuiper) SetServiceTemplate

func (ek *EKuiper) SetServiceTemplate(svc *corev1.Service)

func (*EKuiper) SetStatus

func (n *EKuiper) SetStatus(status *EdgeStatus)

func (*EKuiper) SetVolumeClaimTemplate

func (ek *EKuiper) SetVolumeClaimTemplate(pvc *corev1.PersistentVolumeClaimTemplate)

func (*EKuiper) SetupWebhookWithManager

func (r *EKuiper) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*EKuiper) ValidateCreate

func (r *EKuiper) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*EKuiper) ValidateDelete

func (r *EKuiper) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*EKuiper) ValidateUpdate

func (r *EKuiper) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type EKuiperList

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

EKuiperList contains a list of EKuiper

func (*EKuiperList) DeepCopy

func (in *EKuiperList) DeepCopy() *EKuiperList

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

func (*EKuiperList) DeepCopyInto

func (in *EKuiperList) DeepCopyInto(out *EKuiperList)

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

func (*EKuiperList) DeepCopyObject

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

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

type EKuiperSpec

type EKuiperSpec struct {
	EdgePodSpec `json:",inline"`

	//+kubebuilder:default:=1
	//+kubebuilder:validation:Minimum=0
	//+kubebuilder:validation:Maximum=1
	Replicas            *int32                                `json:"replicas,omitempty"`
	EKuiper             corev1.Container                      `json:"ekuiper,omitempty"`
	VolumeClaimTemplate *corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
	ServiceTemplate     *corev1.Service                       `json:"serviceTemplate,omitempty"`
}

EKuiperSpec defines the desired state of EKuiper

func (*EKuiperSpec) DeepCopy

func (in *EKuiperSpec) DeepCopy() *EKuiperSpec

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

func (*EKuiperSpec) DeepCopyInto

func (in *EKuiperSpec) DeepCopyInto(out *EKuiperSpec)

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

type EKuiperStatus

type EKuiperStatus struct {
	EdgeStatus `json:",inline"`
}

EKuiperStatus defines the observed state of EKuiper

func (*EKuiperStatus) DeepCopy

func (in *EKuiperStatus) DeepCopy() *EKuiperStatus

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

func (*EKuiperStatus) DeepCopyInto

func (in *EKuiperStatus) DeepCopyInto(out *EKuiperStatus)

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

type EdgeInterface

type EdgeInterface interface {
	client.Object

	Default()
	ValidateCreate() error
	ValidateUpdate(runtime.Object) error
	ValidateDelete() error

	GetComponentType() ComponentType

	GetEdgePodSpec() EdgePodSpec
	GetNeuron() *corev1.Container
	GetEKuiper() *corev1.Container

	GetVolumeClaimTemplate() *corev1.PersistentVolumeClaimTemplate
	SetVolumeClaimTemplate(*corev1.PersistentVolumeClaimTemplate)

	GetServiceTemplate() *corev1.Service
	SetServiceTemplate(*corev1.Service)

	GetStatus() EdgeStatus
	SetStatus(status *EdgeStatus)

	GetReplicas() *int32
	SetReplicas(replicas int32)
}

+kubebuilder:object:generate=false

type EdgePodSpec

type EdgePodSpec struct {
	// List of JWTSecret that will be mounted by containers belonging to the pod
	// +optional
	PublicKeys []PublicKey `json:"publicKeys,omitempty"`
	// List of volumes that can be mounted by containers belonging to the pod.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	Volumes []corev1.Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"`
	// List of initialization containers belonging to the pod.
	// Init containers are executed in order prior to containers being started. If any
	// init container fails, the pod is considered to have failed and is handled according
	// to its restartPolicy. The name for an init container or normal container must be
	// unique among all containers.
	// Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes.
	// The resourceRequirements of an init container are taken into account during scheduling
	// by finding the highest request/limit for each resource type, and then using the max of
	// of that value or the sum of the normal containers. Limits are applied to init containers
	// in a similar fashion.
	// Init containers cannot currently be added or removed.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
	// +patchMergeKey=name
	// +patchStrategy=merge
	InitContainers []corev1.Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,20,rep,name=initContainers"`
	// List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing
	// pod to perform user-initiated actions such as debugging. This list cannot be specified when
	// creating a pod, and it cannot be modified by updating the pod spec. In order to add an
	// ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource.
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	EphemeralContainers []corev1.EphemeralContainer `` /* 128-byte string literal not displayed */
	// Restart policy for all containers within the pod.
	// One of Always, OnFailure, Never.
	// Default to Always.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy
	// +optional
	RestartPolicy corev1.RestartPolicy `json:"restartPolicy,omitempty" protobuf:"bytes,3,opt,name=restartPolicy,casttype=RestartPolicy"`
	// Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
	// Value must be non-negative integer. The value zero indicates stop immediately via
	// the kill signal (no opportunity to shut down).
	// If this value is nil, the default grace period will be used instead.
	// The grace period is the duration in seconds after the processes running in the pod are sent
	// a termination signal and the time when the processes are forcibly halted with a kill signal.
	// Set this value longer than the expected cleanup time for your process.
	// Defaults to 30 seconds.
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" protobuf:"varint,4,opt,name=terminationGracePeriodSeconds"`
	// Optional duration in seconds the pod may be active on the node relative to
	// StartTime before the system will actively try to mark it failed and kill associated containers.
	// Value must be a positive integer.
	// +optional
	ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" protobuf:"varint,5,opt,name=activeDeadlineSeconds"`
	// Set DNS policy for the pod.
	// Defaults to "ClusterFirst".
	// Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'.
	// DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.
	// To have DNS options set along with hostNetwork, you have to specify DNS policy
	// explicitly to 'ClusterFirstWithHostNet'.
	// +optional
	DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,6,opt,name=dnsPolicy,casttype=DNSPolicy"`
	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
	// +optional
	// +mapType=atomic
	NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,7,rep,name=nodeSelector"`

	// ServiceAccountName is the name of the ServiceAccount to use to run this pod.
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,8,opt,name=serviceAccountName"`
	// DeprecatedServiceAccount is a depreciated alias for ServiceAccountName.
	// Deprecated: Use serviceAccountName instead.
	// +k8s:conversion-gen=false
	// +optional
	DeprecatedServiceAccount string `json:"serviceAccount,omitempty" protobuf:"bytes,9,opt,name=serviceAccount"`
	// AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
	// +optional
	AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty" protobuf:"varint,21,opt,name=automountServiceAccountToken"`

	// NodeName is a request to schedule this pod onto a specific node. If it is non-empty,
	// the scheduler simply schedules this pod onto that node, assuming that it fits resource
	// requirements.
	// +optional
	NodeName string `json:"nodeName,omitempty" protobuf:"bytes,10,opt,name=nodeName"`
	// Host networking requested for this pod. Use the host's network namespace.
	// If this option is set, the ports that will be used must be specified.
	// Default to false.
	// +k8s:conversion-gen=false
	// +optional
	HostNetwork bool `json:"hostNetwork,omitempty" protobuf:"varint,11,opt,name=hostNetwork"`
	// Use the host's pid namespace.
	// Optional: Default to false.
	// +k8s:conversion-gen=false
	// +optional
	HostPID bool `json:"hostPID,omitempty" protobuf:"varint,12,opt,name=hostPID"`
	// Use the host's ipc namespace.
	// Optional: Default to false.
	// +k8s:conversion-gen=false
	// +optional
	HostIPC bool `json:"hostIPC,omitempty" protobuf:"varint,13,opt,name=hostIPC"`
	// Share a single process namespace between all of the containers in a pod.
	// When this is set containers will be able to view and signal processes from other containers
	// in the same pod, and the first process in each container will not be assigned PID 1.
	// HostPID and ShareProcessNamespace cannot both be set.
	// Optional: Default to false.
	// +k8s:conversion-gen=false
	// +optional
	ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty" protobuf:"varint,27,opt,name=shareProcessNamespace"`
	// SecurityContext holds pod-level security attributes and common container settings.
	// Optional: Defaults to empty.  See type description for default values of each field.
	// +optional
	SecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty" protobuf:"bytes,14,opt,name=securityContext"`
	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// If specified, these secrets will be passed to individual puller implementations for them to use.
	// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"`
	// Specifies the hostname of the Pod
	// If not specified, the pod's hostname will be set to a system-defined value.
	// +optional
	Hostname string `json:"hostname,omitempty" protobuf:"bytes,16,opt,name=hostname"`
	// If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
	// If not specified, the pod will not have a domainname at all.
	// +optional
	Subdomain string `json:"subdomain,omitempty" protobuf:"bytes,17,opt,name=subdomain"`
	// If specified, the pod's scheduling constraints
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty" protobuf:"bytes,18,opt,name=affinity"`
	// If specified, the pod will be dispatched by specified scheduler.
	// If not specified, the pod will be dispatched by default scheduler.
	// +optional
	SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,19,opt,name=schedulerName"`
	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
	// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
	// file if specified. This is only valid for non-hostNetwork pods.
	// +optional
	// +patchMergeKey=ip
	// +patchStrategy=merge
	HostAliases []corev1.HostAlias `json:"hostAliases,omitempty" patchStrategy:"merge" patchMergeKey:"ip" protobuf:"bytes,23,rep,name=hostAliases"`
	// If specified, indicates the pod's priority. "system-node-critical" and
	// "system-cluster-critical" are two special keywords which indicate the
	// highest priorities with the former being the highest priority. Any other
	// name must be defined by creating a PriorityClass object with that name.
	// If not specified, the pod priority will be default or zero if there is no
	// default.
	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty" protobuf:"bytes,24,opt,name=priorityClassName"`
	// The priority value. Various system components use this field to find the
	// priority of the pod. When Priority Admission Controller is enabled, it
	// prevents users from setting this field. The admission controller populates
	// this field from PriorityClassName.
	// The higher the value, the higher the priority.
	// +optional
	Priority *int32 `json:"priority,omitempty" protobuf:"bytes,25,opt,name=priority"`
	// Specifies the DNS parameters of a pod.
	// Parameters specified here will be merged to the generated DNS
	// configuration based on DNSPolicy.
	// +optional
	DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,26,opt,name=dnsConfig"`
	// If specified, all readiness gates will be evaluated for pod readiness.
	// A pod is ready when all its containers are ready AND
	// all conditions specified in the readiness gates have status equal to "True"
	// More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates
	// +optional
	ReadinessGates []corev1.PodReadinessGate `json:"readinessGates,omitempty" protobuf:"bytes,28,opt,name=readinessGates"`
	// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
	// to run this pod.  If no RuntimeClass resource matches the named class, the pod will not be run.
	// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
	// empty definition that uses the default runtime handler.
	// More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class
	// +optional
	RuntimeClassName *string `json:"runtimeClassName,omitempty" protobuf:"bytes,29,opt,name=runtimeClassName"`
	// EnableServiceLinks indicates whether information about services should be injected into pod's
	// environment variables, matching the syntax of Docker links.
	// Optional: Defaults to true.
	// +optional
	EnableServiceLinks *bool `json:"enableServiceLinks,omitempty" protobuf:"varint,30,opt,name=enableServiceLinks"`
	// PreemptionPolicy is the Policy for preempting pods with lower priority.
	// One of Never, PreemptLowerPriority.
	// Defaults to PreemptLowerPriority if unset.
	// +optional
	PreemptionPolicy *corev1.PreemptionPolicy `json:"preemptionPolicy,omitempty" protobuf:"bytes,31,opt,name=preemptionPolicy"`
	// Overhead represents the resource overhead associated with running a pod for a given RuntimeClass.
	// This field will be autopopulated at admission time by the RuntimeClass admission controller. If
	// the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests.
	// The RuntimeClass admission controller will reject Pod create requests which have the overhead already
	// set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value
	// defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero.
	// More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md
	// +optional
	Overhead corev1.ResourceList `json:"overhead,omitempty" protobuf:"bytes,32,opt,name=overhead"`
	// TopologySpreadConstraints describes how a group of pods ought to spread across topology
	// domains. Scheduler will schedule pods in a way which abides by the constraints.
	// All topologySpreadConstraints are ANDed.
	// +optional
	// +patchMergeKey=topologyKey
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=topologyKey
	// +listMapKey=whenUnsatisfiable
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `` /* 147-byte string literal not displayed */
	// If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).
	// In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).
	// In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN.
	// If a pod does not have FQDN, this has no effect.
	// Default to false.
	// +optional
	SetHostnameAsFQDN *bool `json:"setHostnameAsFQDN,omitempty" protobuf:"varint,35,opt,name=setHostnameAsFQDN"`
	// Specifies the OS of the containers in the pod.
	// Some pod and container fields are restricted if this is set.
	//
	// If the OS field is set to linux, the following fields must be unset:
	// -securityContext.windowsOptions
	//
	// If the OS field is set to windows, following fields must be unset:
	// - spec.hostPID
	// - spec.hostIPC
	// - spec.hostUsers
	// - spec.securityContext.seLinuxOptions
	// - spec.securityContext.seccompProfile
	// - spec.securityContext.fsGroup
	// - spec.securityContext.fsGroupChangePolicy
	// - spec.securityContext.sysctls
	// - spec.shareProcessNamespace
	// - spec.securityContext.runAsUser
	// - spec.securityContext.runAsGroup
	// - spec.securityContext.supplementalGroups
	// - spec.containers[*].securityContext.seLinuxOptions
	// - spec.containers[*].securityContext.seccompProfile
	// - spec.containers[*].securityContext.capabilities
	// - spec.containers[*].securityContext.readOnlyRootFilesystem
	// - spec.containers[*].securityContext.privileged
	// - spec.containers[*].securityContext.allowPrivilegeEscalation
	// - spec.containers[*].securityContext.procMount
	// - spec.containers[*].securityContext.runAsUser
	// - spec.containers[*].securityContext.runAsGroup
	// +optional
	OS *corev1.PodOS `json:"os,omitempty" protobuf:"bytes,36,opt,name=os"`
	// Use the host's user namespace.
	// Optional: Default to true.
	// If set to true or not present, the pod will be run in the host user namespace, useful
	// for when the pod needs a feature only available to the host user namespace, such as
	// loading a kernel module with CAP_SYS_MODULE.
	// When set to false, a new userns is created for the pod. Setting false is useful for
	// mitigating container breakout vulnerabilities even allowing users to run their
	// containers as root without actually having root privileges on the host.
	// This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.
	// +k8s:conversion-gen=false
	// +optional
	HostUsers *bool `json:"hostUsers,omitempty" protobuf:"bytes,37,opt,name=hostUsers"`
}

+kubebuilder:object:generate=true

func (*EdgePodSpec) DeepCopy

func (in *EdgePodSpec) DeepCopy() *EdgePodSpec

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

func (*EdgePodSpec) DeepCopyInto

func (in *EdgePodSpec) DeepCopyInto(out *EdgePodSpec)

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

type EdgeStatus

type EdgeStatus struct {
	// Phase indicate that the pod's status creating by deployment.
	// There are two possible phase value:
	// NotReady: The pod hasn't been ready, maybe it's creating or pending
	// Ready: The pod has been ready for serving
	// +optional
	Phase CRPhase `json:"phase"`
}

func (*EdgeStatus) DeepCopy

func (in *EdgeStatus) DeepCopy() *EdgeStatus

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

func (*EdgeStatus) DeepCopyInto

func (in *EdgeStatus) DeepCopyInto(out *EdgeStatus)

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

type Neuron

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

	Spec   NeuronSpec   `json:"spec,omitempty"`
	Status NeuronStatus `json:"status,omitempty"`
}

Neuron is the Schema for the neurons API

func (*Neuron) DeepCopy

func (in *Neuron) DeepCopy() *Neuron

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

func (*Neuron) DeepCopyInto

func (in *Neuron) DeepCopyInto(out *Neuron)

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

func (*Neuron) DeepCopyObject

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

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

func (*Neuron) Default

func (r *Neuron) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Neuron) GetComponentType

func (n *Neuron) GetComponentType() ComponentType

func (*Neuron) GetEKuiper

func (n *Neuron) GetEKuiper() *corev1.Container

func (*Neuron) GetEdgePodSpec

func (n *Neuron) GetEdgePodSpec() EdgePodSpec

func (*Neuron) GetNeuron

func (n *Neuron) GetNeuron() *corev1.Container

func (*Neuron) GetReplicas

func (n *Neuron) GetReplicas() *int32

func (*Neuron) GetServiceTemplate

func (n *Neuron) GetServiceTemplate() *corev1.Service

func (*Neuron) GetStatus

func (n *Neuron) GetStatus() EdgeStatus

func (*Neuron) GetVolumeClaimTemplate

func (n *Neuron) GetVolumeClaimTemplate() *corev1.PersistentVolumeClaimTemplate

func (*Neuron) SetReplicas

func (n *Neuron) SetReplicas(replicas int32)

func (*Neuron) SetServiceTemplate

func (n *Neuron) SetServiceTemplate(svc *corev1.Service)

func (*Neuron) SetStatus

func (n *Neuron) SetStatus(status *EdgeStatus)

func (*Neuron) SetVolumeClaimTemplate

func (n *Neuron) SetVolumeClaimTemplate(pvc *corev1.PersistentVolumeClaimTemplate)

func (*Neuron) SetupWebhookWithManager

func (r *Neuron) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Neuron) ValidateCreate

func (r *Neuron) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Neuron) ValidateDelete

func (r *Neuron) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Neuron) ValidateUpdate

func (r *Neuron) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type NeuronEX

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

	Spec   NeuronEXSpec   `json:"spec,omitempty"`
	Status NeuronEXStatus `json:"status,omitempty"`
}

NeuronEX is the Schema for the neuronexs API

func (*NeuronEX) DeepCopy

func (in *NeuronEX) DeepCopy() *NeuronEX

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

func (*NeuronEX) DeepCopyInto

func (in *NeuronEX) DeepCopyInto(out *NeuronEX)

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

func (*NeuronEX) DeepCopyObject

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

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

func (*NeuronEX) Default

func (r *NeuronEX) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*NeuronEX) GetComponentType

func (n *NeuronEX) GetComponentType() ComponentType

func (*NeuronEX) GetEKuiper

func (n *NeuronEX) GetEKuiper() *corev1.Container

func (*NeuronEX) GetEdgePodSpec

func (n *NeuronEX) GetEdgePodSpec() EdgePodSpec

func (*NeuronEX) GetNeuron

func (n *NeuronEX) GetNeuron() *corev1.Container

func (*NeuronEX) GetReplicas

func (n *NeuronEX) GetReplicas() *int32

func (*NeuronEX) GetServiceTemplate

func (n *NeuronEX) GetServiceTemplate() *corev1.Service

func (*NeuronEX) GetStatus

func (n *NeuronEX) GetStatus() EdgeStatus

func (*NeuronEX) GetVolumeClaimTemplate

func (n *NeuronEX) GetVolumeClaimTemplate() *corev1.PersistentVolumeClaimTemplate

func (*NeuronEX) SetReplicas

func (n *NeuronEX) SetReplicas(replicas int32)

func (*NeuronEX) SetServiceTemplate

func (n *NeuronEX) SetServiceTemplate(svc *corev1.Service)

func (*NeuronEX) SetStatus

func (n *NeuronEX) SetStatus(status *EdgeStatus)

func (*NeuronEX) SetVolumeClaimTemplate

func (n *NeuronEX) SetVolumeClaimTemplate(pvc *corev1.PersistentVolumeClaimTemplate)

func (*NeuronEX) SetupWebhookWithManager

func (r *NeuronEX) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*NeuronEX) ValidateCreate

func (r *NeuronEX) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*NeuronEX) ValidateDelete

func (r *NeuronEX) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*NeuronEX) ValidateUpdate

func (r *NeuronEX) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type NeuronEXList

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

NeuronEXList contains a list of NeuronEX

func (*NeuronEXList) DeepCopy

func (in *NeuronEXList) DeepCopy() *NeuronEXList

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

func (*NeuronEXList) DeepCopyInto

func (in *NeuronEXList) DeepCopyInto(out *NeuronEXList)

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

func (*NeuronEXList) DeepCopyObject

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

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

type NeuronEXSpec

type NeuronEXSpec struct {
	EdgePodSpec `json:",inline"`

	//+kubebuilder:default:=1
	//+kubebuilder:validation:Minimum=0
	//+kubebuilder:validation:Maximum=1
	Replicas            *int32                                `json:"replicas,omitempty"`
	Neuron              corev1.Container                      `json:"neuron,omitempty"`
	EKuiper             corev1.Container                      `json:"ekuiper,omitempty"`
	VolumeClaimTemplate *corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
	ServiceTemplate     *corev1.Service                       `json:"serviceTemplate,omitempty"`
}

NeuronEXSpec defines the desired state of NeuronEX

func (*NeuronEXSpec) DeepCopy

func (in *NeuronEXSpec) DeepCopy() *NeuronEXSpec

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

func (*NeuronEXSpec) DeepCopyInto

func (in *NeuronEXSpec) DeepCopyInto(out *NeuronEXSpec)

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

type NeuronEXStatus

type NeuronEXStatus struct {
	EdgeStatus `json:",inline"`
}

NeuronEXStatus defines the observed state of NeuronEX

func (*NeuronEXStatus) DeepCopy

func (in *NeuronEXStatus) DeepCopy() *NeuronEXStatus

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

func (*NeuronEXStatus) DeepCopyInto

func (in *NeuronEXStatus) DeepCopyInto(out *NeuronEXStatus)

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

type NeuronList

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

NeuronList contains a list of Neuron

func (*NeuronList) DeepCopy

func (in *NeuronList) DeepCopy() *NeuronList

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

func (*NeuronList) DeepCopyInto

func (in *NeuronList) DeepCopyInto(out *NeuronList)

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

func (*NeuronList) DeepCopyObject

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

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

type NeuronSpec

type NeuronSpec struct {
	EdgePodSpec `json:",inline"`

	//+kubebuilder:default:=1
	//+kubebuilder:validation:Minimum=0
	//+kubebuilder:validation:Maximum=1
	Replicas            *int32                                `json:"replicas,omitempty"`
	Neuron              corev1.Container                      `json:"neuron,omitempty"`
	ServiceTemplate     *corev1.Service                       `json:"serviceTemplate,omitempty"`
	VolumeClaimTemplate *corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
}

NeuronSpec defines the desired state of Neuron

func (*NeuronSpec) DeepCopy

func (in *NeuronSpec) DeepCopy() *NeuronSpec

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

func (*NeuronSpec) DeepCopyInto

func (in *NeuronSpec) DeepCopyInto(out *NeuronSpec)

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

type NeuronStatus

type NeuronStatus struct {
	EdgeStatus `json:",inline"`
}

NeuronStatus defines the observed state of Neuron

func (*NeuronStatus) DeepCopy

func (in *NeuronStatus) DeepCopy() *NeuronStatus

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

func (*NeuronStatus) DeepCopyInto

func (in *NeuronStatus) DeepCopyInto(out *NeuronStatus)

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

type PublicKey

type PublicKey struct {
	// the file name to mount the JWTSecret as file
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// the JWTSecret that encoding in base64
	// +kubebuilder:validation:Required
	Data []byte `json:"data"`
}

func (*PublicKey) DeepCopy

func (in *PublicKey) DeepCopy() *PublicKey

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

func (*PublicKey) DeepCopyInto

func (in *PublicKey) DeepCopyInto(out *PublicKey)

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