Commit 3af4194d authored by 黎博's avatar 黎博

新增接口

parent 20b7fa3e
package cn.qg.holmes.controller.k8s;
import cn.qg.holmes.common.JsonResult;
import cn.qg.holmes.entity.k8s.DockerProject;
import cn.qg.holmes.service.k8s.DockerProjectService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
@CrossOrigin
@RestController
@RequestMapping("/docker/project")
public class DockerProjectController {
@Autowired
DockerProjectService dockerProjectService;
/**
* 获取docker project列表
* @param pageNum 第几页
* @param pageSize 每页多少个
* @return
*/
@GetMapping("/list")
public JsonResult getDockerProjectList(@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize) {
IPage<DockerProject> dockerProjectIPage = new Page<>(pageNum, pageSize);
IPage projectIPage = dockerProjectService.page(dockerProjectIPage);
Map<String, Object> map = new HashMap<>();
map.put("total", projectIPage.getTotal());
map.put("list", projectIPage.getRecords());
return JsonResult.buildSuccessResult(map);
}
/**
* 新增docker project
* @param dockerProject docker项目实体类
* @return
*/
@PostMapping("/add")
public JsonResult addDockerProject(@RequestBody DockerProject dockerProject) {
return JsonResult.buildSuccessResult(dockerProjectService.save(dockerProject));
}
/**
* 编辑docker project
* @param dockerProject docker项目实体类
* @return
*/
@PostMapping("/edit")
public JsonResult editDockerProject(@RequestBody DockerProject dockerProject) {
return JsonResult.buildSuccessResult(dockerProjectService.saveOrUpdate(dockerProject));
}
/**
* 删除docker project
* @param dockerProjectId 删除id
* @return
*/
@GetMapping("/del")
public JsonResult delDockerProject(@RequestParam Integer dockerProjectId) {
return JsonResult.buildSuccessResult(dockerProjectService.removeById(dockerProjectId));
}
}
...@@ -70,10 +70,17 @@ public class K8sController { ...@@ -70,10 +70,17 @@ public class K8sController {
public JsonResult createPod(@RequestBody ServiceCreateVo serviceCreateVo) { public JsonResult createPod(@RequestBody ServiceCreateVo serviceCreateVo) {
try { try {
String serviceName = serviceCreateVo.getServiceName(); String serviceName = serviceCreateVo.getServiceName();
String type = serviceCreateVo.getType();
QueryWrapper<DockerProject> queryWrapper = new QueryWrapper<>(); QueryWrapper<DockerProject> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("project_name", serviceName); queryWrapper.eq("project_name", serviceName);
DockerProject dockerProject = dockerProjectService.getOne(queryWrapper); DockerProject dockerProject = dockerProjectService.getOne(queryWrapper);
if (type.equals("java")) {
tkeService.createJavaDeployment(serviceCreateVo, dockerProject); tkeService.createJavaDeployment(serviceCreateVo, dockerProject);
} else if (type.equals("ui") || type.equals("node")) {
tkeService.createUIAndNodeDeployment(serviceCreateVo, dockerProject);
} else {
return JsonResult.buildErrorStateResult("暂不支持!", false);
}
return JsonResult.buildSuccessResult("pod创建成功!"); return JsonResult.buildSuccessResult("pod创建成功!");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -92,6 +99,18 @@ public class K8sController { ...@@ -92,6 +99,18 @@ public class K8sController {
return JsonResult.buildSuccessResult(tkeService.resetPod(namespace, podName)); return JsonResult.buildSuccessResult(tkeService.resetPod(namespace, podName));
} }
/**
* 更新部署
* @param namespace 环境
* @param serviceName 服务名
* @param image 镜像名
* @return
*/
@PostMapping("/pod/modify")
public JsonResult modifyPod(String namespace, String serviceName, String image) {
return JsonResult.buildSuccessResult(tkeService.updateDeployment(namespace, serviceName, image));
}
/** /**
* 删除pod * 删除pod
* @param namespace 环境 * @param namespace 环境
......
package cn.qg.holmes.entity.k8s; package cn.qg.holmes.entity.k8s;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
...@@ -24,19 +25,22 @@ public class DockerProject { ...@@ -24,19 +25,22 @@ public class DockerProject {
private String hostName; private String hostName;
private String logPath; private String logPath;
private String configPath; private String configPath;
@TableField(value = "`desc`")
private String desc; private String desc;
@TableField(value = "`owner`")
private String owner; private String owner;
private String buildCommand; private String buildCommand;
private String startCommand; private String startCommand;
private String stopCommand; private String stopCommand;
private Integer deployToDocker; private Integer deployToDocker;
private Integer isActive; private Integer isActive;
@TableField(value = "`database`")
private String database; private String database;
private String ddl; private String ddl;
private String wiki; private String wiki;
private String api; private String api;
private String memLimit; private String memLimit;
private String menRequest; private String memRequest;
private String cpuLimit; private String cpuLimit;
private String cpuRequest; private String cpuRequest;
private Integer sonar; private Integer sonar;
......
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