blob: b5aa17d6975b86f864d8c1b6ca08c282176aace6 [file]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you 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 resource
//contains the resource for test functions.
import (
v1 "github.com/apache/doris-operator/api/doris/v1"
corev1 "k8s.io/api/core/v1"
kr "k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/utils/pointer"
)
var dcr = &v1.DorisCluster{
ObjectMeta: metav1.ObjectMeta{
Name: "test",
Namespace: "default",
Labels: map[string]string{
"name": "test",
"namespace": "default",
},
},
Spec: v1.DorisClusterSpec{
AdminUser: &v1.AdminUser{
Name: "root",
Password: "123456",
},
FeSpec: &v1.FeSpec{
ElectionNumber: pointer.Int32(1),
BaseSpec: v1.BaseSpec{
ResourceRequirements: corev1.ResourceRequirements{
Requests: map[corev1.ResourceName]kr.Quantity{
"cpu": kr.MustParse("4"),
"memory": kr.MustParse("8Gi"),
},
},
Replicas: pointer.Int32(1),
Image: "selectdb/doris.fe-ubuntu:latest",
Service: &v1.ExportService{
Type: "NodePort",
Annotations: Annotations{
"name": "test",
"namespace": "default",
},
},
PersistentVolumes: []v1.PersistentVolume{
{
MountPath: "/opt/apache-doris/fe/doris-meta",
Annotations: Annotations{
"name": "test",
"component": "fe",
},
PersistentVolumeClaimSpec: corev1.PersistentVolumeClaimSpec{
Resources: corev1.VolumeResourceRequirements{
Requests: map[corev1.ResourceName]kr.Quantity{
"storage": kr.MustParse("100Gi"),
},
},
AccessModes: []corev1.PersistentVolumeAccessMode{"ReadWriteOnce"},
},
},
{
MountPath: "/opt/apache-doris/fe/log",
Annotations: Annotations{
"name": "test",
"component": "fe",
},
PersistentVolumeClaimSpec: corev1.PersistentVolumeClaimSpec{
Resources: corev1.VolumeResourceRequirements{
Requests: map[corev1.ResourceName]kr.Quantity{
"storage": kr.MustParse("100Gi"),
},
},
AccessModes: []corev1.PersistentVolumeAccessMode{"ReadWriteOnce"},
},
},
},
},
},
BeSpec: &v1.BeSpec{
BaseSpec: v1.BaseSpec{
Replicas: pointer.Int32(3),
Image: "selectdb/doris.be-ubuntu:latest",
Service: &v1.ExportService{
Type: "NodePort",
Annotations: Annotations{
"name": "test",
"namespace": "default",
},
},
PersistentVolumes: []v1.PersistentVolume{
{
MountPath: "/opt/apache-doris/be/storage",
Annotations: Annotations{
"name": "test",
"component": "be",
},
PersistentVolumeClaimSpec: corev1.PersistentVolumeClaimSpec{
Resources: corev1.VolumeResourceRequirements{
Requests: map[corev1.ResourceName]kr.Quantity{
"storage": kr.MustParse("200Gi"),
},
},
AccessModes: []corev1.PersistentVolumeAccessMode{"ReadWriteOnce"},
},
},
{
MountPath: "/opt/apache-doris/be/log",
Annotations: Annotations{
"name": "test",
"component": "be",
},
PersistentVolumeClaimSpec: corev1.PersistentVolumeClaimSpec{
Resources: corev1.VolumeResourceRequirements{
Requests: map[corev1.ResourceName]kr.Quantity{
"storage": kr.MustParse("100Gi"),
},
},
AccessModes: []corev1.PersistentVolumeAccessMode{"ReadWriteOnce"},
},
},
},
},
},
CnSpec: &v1.CnSpec{
BaseSpec: v1.BaseSpec{
Replicas: pointer.Int32(1),
Image: "selectdb/doris.be-ubuntu:latest",
Service: &v1.ExportService{
Type: "LoadBalancer",
},
PersistentVolumes: []v1.PersistentVolume{
{
MountPath: "/opt/apache-doris/be/log",
Annotations: Annotations{
"name": "test",
"component": "be",
},
PersistentVolumeClaimSpec: corev1.PersistentVolumeClaimSpec{
Resources: corev1.VolumeResourceRequirements{
Requests: map[corev1.ResourceName]kr.Quantity{
"storage": kr.MustParse("100Gi"),
},
},
AccessModes: []corev1.PersistentVolumeAccessMode{"ReadWriteOnce"},
},
},
{
MountPath: "/opt/apache-doris/be/storage",
Annotations: Annotations{
"name": "test",
"component": "be",
},
PersistentVolumeClaimSpec: corev1.PersistentVolumeClaimSpec{
Resources: corev1.VolumeResourceRequirements{
Requests: map[corev1.ResourceName]kr.Quantity{
"storage": kr.MustParse("100Gi"),
},
},
AccessModes: []corev1.PersistentVolumeAccessMode{"ReadWriteOnce"},
},
},
},
},
},
BrokerSpec: &v1.BrokerSpec{
BaseSpec: v1.BaseSpec{
Image: "selectdb/doris.broker-ubuntu:latest",
Replicas: pointer.Int32(1),
Service: &v1.ExportService{
Type: "ClusterIP",
},
},
},
},
}
var cm = map[string]interface{}{
"http_port": "8030",
"rpc_port": "9020",
"query_port": "9030",
"edit_log_port": "9010",
"arrow_flight_sql_port": "9090",
"be_port": "9060",
"webserver_port": "8040",
"heartbeat_service_port": "9050",
"brpc_port": "8060",
}