Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=edge.emqx.io
Index ¶
- Constants
- Variables
- type CRPhase
- type ComponentType
- type EKuiper
- func (in *EKuiper) DeepCopy() *EKuiper
- func (in *EKuiper) DeepCopyInto(out *EKuiper)
- func (in *EKuiper) DeepCopyObject() runtime.Object
- func (r *EKuiper) Default()
- func (ek *EKuiper) GetComponentType() ComponentType
- func (ek *EKuiper) GetEKuiper() *corev1.Container
- func (ek *EKuiper) GetEdgePodSpec() EdgePodSpec
- func (ek *EKuiper) GetNeuron() *corev1.Container
- func (ek *EKuiper) GetReplicas() *int32
- func (ek *EKuiper) GetServiceTemplate() *corev1.Service
- func (n *EKuiper) GetStatus() EdgeStatus
- func (ek *EKuiper) GetVolumeClaimTemplate() *corev1.PersistentVolumeClaimTemplate
- func (ek *EKuiper) SetReplicas(replicas int32)
- func (ek *EKuiper) SetServiceTemplate(svc *corev1.Service)
- func (n *EKuiper) SetStatus(status *EdgeStatus)
- func (ek *EKuiper) SetVolumeClaimTemplate(pvc *corev1.PersistentVolumeClaimTemplate)
- func (r *EKuiper) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *EKuiper) ValidateCreate() error
- func (r *EKuiper) ValidateDelete() error
- func (r *EKuiper) ValidateUpdate(old runtime.Object) error
- type EKuiperList
- type EKuiperSpec
- type EKuiperStatus
- type EdgeInterface
- type EdgePodSpec
- type EdgeStatus
- type Neuron
- func (in *Neuron) DeepCopy() *Neuron
- func (in *Neuron) DeepCopyInto(out *Neuron)
- func (in *Neuron) DeepCopyObject() runtime.Object
- func (r *Neuron) Default()
- func (n *Neuron) GetComponentType() ComponentType
- func (n *Neuron) GetEKuiper() *corev1.Container
- func (n *Neuron) GetEdgePodSpec() EdgePodSpec
- func (n *Neuron) GetNeuron() *corev1.Container
- func (n *Neuron) GetReplicas() *int32
- func (n *Neuron) GetServiceTemplate() *corev1.Service
- func (n *Neuron) GetStatus() EdgeStatus
- func (n *Neuron) GetVolumeClaimTemplate() *corev1.PersistentVolumeClaimTemplate
- func (n *Neuron) SetReplicas(replicas int32)
- func (n *Neuron) SetServiceTemplate(svc *corev1.Service)
- func (n *Neuron) SetStatus(status *EdgeStatus)
- func (n *Neuron) SetVolumeClaimTemplate(pvc *corev1.PersistentVolumeClaimTemplate)
- func (r *Neuron) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Neuron) ValidateCreate() error
- func (r *Neuron) ValidateDelete() error
- func (r *Neuron) ValidateUpdate(old runtime.Object) error
- type NeuronEX
- func (in *NeuronEX) DeepCopy() *NeuronEX
- func (in *NeuronEX) DeepCopyInto(out *NeuronEX)
- func (in *NeuronEX) DeepCopyObject() runtime.Object
- func (r *NeuronEX) Default()
- func (n *NeuronEX) GetComponentType() ComponentType
- func (n *NeuronEX) GetEKuiper() *corev1.Container
- func (n *NeuronEX) GetEdgePodSpec() EdgePodSpec
- func (n *NeuronEX) GetNeuron() *corev1.Container
- func (n *NeuronEX) GetReplicas() *int32
- func (n *NeuronEX) GetServiceTemplate() *corev1.Service
- func (n *NeuronEX) GetStatus() EdgeStatus
- func (n *NeuronEX) GetVolumeClaimTemplate() *corev1.PersistentVolumeClaimTemplate
- func (n *NeuronEX) SetReplicas(replicas int32)
- func (n *NeuronEX) SetServiceTemplate(svc *corev1.Service)
- func (n *NeuronEX) SetStatus(status *EdgeStatus)
- func (n *NeuronEX) SetVolumeClaimTemplate(pvc *corev1.PersistentVolumeClaimTemplate)
- func (r *NeuronEX) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *NeuronEX) ValidateCreate() error
- func (r *NeuronEX) ValidateDelete() error
- func (r *NeuronEX) ValidateUpdate(old runtime.Object) error
- type NeuronEXList
- type NeuronEXSpec
- type NeuronEXStatus
- type NeuronList
- type NeuronSpec
- type NeuronStatus
- type PublicKey
Constants ¶
const ( InstanceKey = "app.kubernetes.io/instance" ComponentKey = "app.kubernetes.io/component" ManagedByKey = "app.kubernetes.io/managed-by" )
Variables ¶
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKuiper.
func (*EKuiper) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EKuiper) DeepCopyObject ¶
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 (*EKuiper) GetEdgePodSpec ¶
func (ek *EKuiper) GetEdgePodSpec() EdgePodSpec
func (*EKuiper) GetReplicas ¶
func (*EKuiper) GetServiceTemplate ¶
func (*EKuiper) GetStatus ¶
func (n *EKuiper) GetStatus() EdgeStatus
func (*EKuiper) GetVolumeClaimTemplate ¶
func (ek *EKuiper) GetVolumeClaimTemplate() *corev1.PersistentVolumeClaimTemplate
func (*EKuiper) SetReplicas ¶
func (*EKuiper) SetServiceTemplate ¶
func (*EKuiper) SetStatus ¶
func (n *EKuiper) SetStatus(status *EdgeStatus)
func (*EKuiper) SetVolumeClaimTemplate ¶
func (ek *EKuiper) SetVolumeClaimTemplate(pvc *corev1.PersistentVolumeClaimTemplate)
func (*EKuiper) SetupWebhookWithManager ¶
func (*EKuiper) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*EKuiper) ValidateDelete ¶
ValidateDelete 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"` // 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Neuron.
func (*Neuron) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Neuron) DeepCopyObject ¶
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 (*Neuron) GetEdgePodSpec ¶
func (n *Neuron) GetEdgePodSpec() EdgePodSpec
func (*Neuron) GetReplicas ¶
func (*Neuron) GetServiceTemplate ¶
func (*Neuron) GetStatus ¶
func (n *Neuron) GetStatus() EdgeStatus
func (*Neuron) GetVolumeClaimTemplate ¶
func (n *Neuron) GetVolumeClaimTemplate() *corev1.PersistentVolumeClaimTemplate
func (*Neuron) SetReplicas ¶
func (*Neuron) SetServiceTemplate ¶
func (*Neuron) SetStatus ¶
func (n *Neuron) SetStatus(status *EdgeStatus)
func (*Neuron) SetVolumeClaimTemplate ¶
func (n *Neuron) SetVolumeClaimTemplate(pvc *corev1.PersistentVolumeClaimTemplate)
func (*Neuron) SetupWebhookWithManager ¶
func (*Neuron) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Neuron) ValidateDelete ¶
ValidateDelete 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NeuronEX.
func (*NeuronEX) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NeuronEX) DeepCopyObject ¶
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 (*NeuronEX) GetEdgePodSpec ¶
func (n *NeuronEX) GetEdgePodSpec() EdgePodSpec
func (*NeuronEX) GetReplicas ¶
func (*NeuronEX) GetServiceTemplate ¶
func (*NeuronEX) GetStatus ¶
func (n *NeuronEX) GetStatus() EdgeStatus
func (*NeuronEX) GetVolumeClaimTemplate ¶
func (n *NeuronEX) GetVolumeClaimTemplate() *corev1.PersistentVolumeClaimTemplate
func (*NeuronEX) SetReplicas ¶
func (*NeuronEX) SetServiceTemplate ¶
func (*NeuronEX) SetStatus ¶
func (n *NeuronEX) SetStatus(status *EdgeStatus)
func (*NeuronEX) SetVolumeClaimTemplate ¶
func (n *NeuronEX) SetVolumeClaimTemplate(pvc *corev1.PersistentVolumeClaimTemplate)
func (*NeuronEX) SetupWebhookWithManager ¶
func (*NeuronEX) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*NeuronEX) ValidateDelete ¶
ValidateDelete 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicKey.
func (*PublicKey) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.