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{})
+}