Commit bd856bc1 authored by 黎博's avatar 黎博

未完待续

parent f5d586d0
...@@ -3,6 +3,8 @@ package cn.qg.holmes.controller.k8s; ...@@ -3,6 +3,8 @@ package cn.qg.holmes.controller.k8s;
import cn.qg.holmes.common.JsonResult; import cn.qg.holmes.common.JsonResult;
import cn.qg.holmes.entity.auth.UserInfoVo; import cn.qg.holmes.entity.auth.UserInfoVo;
import cn.qg.holmes.entity.k8s.DockerProject; 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.entity.k8s.ServiceCreateVo;
import cn.qg.holmes.service.auth.TokenService; import cn.qg.holmes.service.auth.TokenService;
import cn.qg.holmes.service.k8s.*; import cn.qg.holmes.service.k8s.*;
...@@ -11,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -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.RepoInfo;
import com.tencentcloudapi.tcr.v20190924.models.TagInfo; import com.tencentcloudapi.tcr.v20190924.models.TagInfo;
import com.tencentcloudapi.tcr.v20190924.models.TagInfoResp; import com.tencentcloudapi.tcr.v20190924.models.TagInfoResp;
import io.fabric8.kubernetes.api.model.Namespace;
import io.fabric8.kubernetes.api.model.apps.Deployment; import io.fabric8.kubernetes.api.model.apps.Deployment;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -49,6 +52,12 @@ public class K8sController { ...@@ -49,6 +52,12 @@ public class K8sController {
@Autowired @Autowired
TokenService tokenService; TokenService tokenService;
@Autowired
EnvTemplateService envTemplateService;
@Autowired
EnvTemplateDetailService envTemplateDetailService;
/** /**
* 获取namespace列表 * 获取namespace列表
* @return * @return
...@@ -425,8 +434,36 @@ public class K8sController { ...@@ -425,8 +434,36 @@ public class K8sController {
@PostMapping("/namespace/create") @PostMapping("/namespace/create")
public JsonResult createNewNamespace(@RequestParam String name, public JsonResult createNewNamespace(@RequestParam String name,
@RequestParam String desc, @RequestParam String desc,
@RequestParam String owner) { @RequestParam String owner,
return JsonResult.buildSuccessResult(k8sService.createNewNamespace(name, desc, 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