You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ch...@apache.org on 2022/09/20 03:43:48 UTC

[dolphinscheduler-operator] 11/44: feat(operator): add alert

This is an automated email from the ASF dual-hosted git repository.

chufenggao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler-operator.git

commit 4745f75b27763cf7ce2b3a48a0268e3660e864f3
Author: nobolity <no...@gmail.com>
AuthorDate: Sat May 28 22:35:23 2022 +0800

    feat(operator): add alert
---
 api/v1alpha1/dsalert_types.go | 117 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 117 insertions(+)

diff --git a/api/v1alpha1/dsalert_types.go b/api/v1alpha1/dsalert_types.go
new file mode 100644
index 0000000..65e5c7a
--- /dev/null
+++ b/api/v1alpha1/dsalert_types.go
@@ -0,0 +1,117 @@
+/*
+Copyright 2022.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v1alpha1
+
+import (
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+)
+
+// EDIT THIS FILE!  THIS IS SCAFFOLDING FOR YOU TO OWN!
+// NOTE: json tags are required.  Any new fields you add must have json tags for the fields to be serialized.
+
+// DSAlertSpec defines the desired state of DSAlert
+type DSAlertSpec struct {
+	Datasource *DateSourceTemplate `json:"datasource"`
+	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
+	// Important: Run "make" to regenerate code after modifying this file
+
+	// Version is the expected version of the ds cluster.
+	// The ds-operator will eventually make the ds cluster version
+	// equal to the expected version.
+	// If version is not set, default is "3.0.0-alpha".
+	// +kubebuilder:default="3.0.0-alpha"
+	Version string `json:"version,omitempty"`
+
+	// Repository is the name of the repository that hosts
+	// ds container images. It should be direct clone of the repository in official
+	// By default, it is `apache/dolphinscheduler-master`.
+	// +kubebuilder:default=apache/dolphinscheduler-master
+	Repository string `json:"repository,omitempty"`
+
+	// Replicas is the expected size of the ms-master.
+	// The ds-master-operator will eventually make the size of the running
+	//  equal to the expected size.
+	// The vaild range of the size is from 1 to 7.
+	// +kubebuilder:default=3
+	// +kubebuilder:validation:Minimum=1
+	// +kubebuilder:validation:Maximum=7
+	Replicas int `json:"replicas"`
+
+	// Pod defines the policy to create pod for the dm-master pod.
+	// Updating Pod does not take effect on any existing dm-master pods.
+	Pod *PodPolicy `json:"pod,omitempty"`
+
+	// Paused is to pause the control of the operator for the ds-master .
+	// +kubebuilder:default=false
+	Paused bool `json:"paused,omitempty"`
+
+	//LogPvcName defines the  log capacity of application ,the position is /opt/dolphinscheduler/logs eg 20Gi
+	LogPvcName string `json:"log_pvc_name,omitempty"`
+
+	//ReGenerate defines if delete the old_deployment and create a new deployment
+	// +kubebuilder:default=false
+	ReGenerate bool `json:"re_generate,omitempty"`
+}
+
+// DSAlertStatus defines the observed state of DSAlert
+type DSAlertStatus struct {
+	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
+	// Important: Run "make" to regenerate code after modifying this file
+	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
+	// Important: Run "make" to regenerate code after modifying this file
+	// Phase is the cluster running phase
+	// +kubebuilder:validation:Enum="";Creating;Running;Failed;Finished
+	Phase DsPhase `json:"phase,omitempty"`
+	// ControlPaused indicates the operator pauses the control of the cluster.
+	// +kubebuilder:default=false
+	ControlPaused bool `json:"controlPaused,omitempty"`
+
+	// Condition keeps track of all cluster conditions, if they exist.
+	Conditions []DsCondition `json:"conditions,omitempty"`
+
+	// Replicas is the current size of the cluster
+	// +kubebuilder:default=0
+	Replicas int `json:"replicas,omitempty"`
+
+	// Members are the dsMaster members in the cluster
+	Members MembersStatus `json:"members,omitempty"`
+}
+
+//+kubebuilder:object:root=true
+//+kubebuilder:subresource:status
+
+// DSAlert is the Schema for the dsalerts API
+type DSAlert struct {
+	metav1.TypeMeta   `json:",inline"`
+	metav1.ObjectMeta `json:"metadata,omitempty"`
+
+	Spec   DSAlertSpec   `json:"spec,omitempty"`
+	Status DSAlertStatus `json:"status,omitempty"`
+}
+
+//+kubebuilder:object:root=true
+
+// DSAlertList contains a list of DSAlert
+type DSAlertList struct {
+	metav1.TypeMeta `json:",inline"`
+	metav1.ListMeta `json:"metadata,omitempty"`
+	Items           []DSAlert `json:"items"`
+}
+
+func init() {
+	SchemeBuilder.Register(&DSAlert{}, &DSAlertList{})
+}