Commit bd856bc1 authored by 黎博's avatar 黎博

未完待续

parent f5d586d0
......@@ -3,6 +3,8 @@ package cn.qg.holmes.controller.k8s;
import cn.qg.holmes.common.JsonResult;
import cn.qg.holmes.entity.auth.UserInfoVo;
import cn.qg.holmes.entity.k8s.DockerProject;
import cn.qg.holmes.entity.k8s.EnvTemplate;
import cn.qg.holmes.entity.k8s.EnvTemplateDetail;
import cn.qg.holmes.entity.k8s.ServiceCreateVo;
import cn.qg.holmes.service.auth.TokenService;
import cn.qg.holmes.service.k8s.*;
......@@ -11,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.tencentcloudapi.tcr.v20190924.models.RepoInfo;
import com.tencentcloudapi.tcr.v20190924.models.TagInfo;
import com.tencentcloudapi.tcr.v20190924.models.TagInfoResp;
import io.fabric8.kubernetes.api.model.Namespace;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -49,6 +52,12 @@ public class K8sController {
@Autowired
TokenService tokenService;
@Autowired
EnvTemplateService envTemplateService;
@Autowired
EnvTemplateDetailService envTemplateDetailService;
/**
* 获取namespace列表
* @return
......@@ -425,8 +434,36 @@ public class K8sController {
@PostMapping("/namespace/create")
public JsonResult createNewNamespace(@RequestParam String name,
@RequestParam String desc,
@RequestParam String owner) {
return JsonResult.buildSuccessResult(k8sService.createNewNamespace(name, desc, owner));
@RequestParam String owner,
@RequestParam String templateId) {
// return JsonResult.buildSuccessResult(k8sService.createNewNamespace(name, desc, owner));
Namespace namespace = k8sService.createNewNamespace(name, desc, owner);
QueryWrapper<EnvTemplateDetail> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("template_id", templateId);
List<EnvTemplateDetail> envTemplateDetailList = envTemplateDetailService.list(queryWrapper);
for (EnvTemplateDetail envTemplateDetail: envTemplateDetailList) {
if (envTemplateDetail.getLabel().equals("base")) {
switch (envTemplateDetail.getServiceType()) {
case "mysql":
k8sService.createMysqlPvc(name);
k8sService.createMysqlDeployment(name, envTemplateDetail.getTag());
k8sService.createMysqlService(name);
break;
case "mongodb":
k8sService.createMongodbPvc(name);
k8sService.createMongoDbDeployment(name, envTemplateDetail.getTag());
k8sService.createMongodbService(name);
break;
case "redis":
k8sService.createRedisDeployment(name, envTemplateDetail.getTag());
k8sService.createRedisService(name);
break;
default:
break;
}
}
}
return null;
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment