|
|
@@ -1,11 +1,14 @@
|
|
|
-package nju.seec.SEECdemo.logic.service.impl.project;
|
|
|
+package nju.seec.SEECdemo.logic.service.impl;
|
|
|
|
|
|
import nju.seec.SEECdemo.logic.api.k8s.NamespaceApi;
|
|
|
+import nju.seec.SEECdemo.logic.api.k8s.SecretApi;
|
|
|
import nju.seec.SEECdemo.logic.api.k8s.exception.K8sApiException;
|
|
|
import nju.seec.SEECdemo.logic.api.k8s.vo.Namespace;
|
|
|
+import nju.seec.SEECdemo.logic.service.DBService;
|
|
|
import nju.seec.SEECdemo.logic.service.ProjectService;
|
|
|
import nju.seec.SEECdemo.logic.vo.ProjectVO;
|
|
|
import nju.seec.SEECdemo.logic.vo.projecttemplate.ProjectTemplate;
|
|
|
+import nju.seec.SEECdemo.util.ApplicationProperties;
|
|
|
import nju.seec.SEECdemo.util.DateUtil;
|
|
|
import nju.seec.SEECdemo.util.LoggerUtil;
|
|
|
import org.slf4j.Logger;
|
|
|
@@ -27,21 +30,40 @@ public class ProjectServiceImpl implements ProjectService{
|
|
|
@Autowired
|
|
|
private ProjectTemplate seecIITemplate;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private SecretApi secretApi;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DBService dbService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ApplicationProperties applicationProperties;
|
|
|
+
|
|
|
@Override
|
|
|
public ProjectVO createSeecIIProject(String projectName, String description, LocalDate startsAt, LocalDate endsAt) {
|
|
|
try {
|
|
|
if (namespaceApi.exists(projectName)){
|
|
|
- System.out.println("该项目已经存在");
|
|
|
- return null;
|
|
|
+ LoggerUtil.error(logger, "该项目已经存在,projectName={}", projectName);
|
|
|
+ //抛出异常
|
|
|
}
|
|
|
|
|
|
String type = seecIITemplate.getName();
|
|
|
Namespace namespace = buildNamespace(projectName, type, description, startsAt, endsAt);
|
|
|
namespaceApi.create(namespace);
|
|
|
|
|
|
+ //为命名空间配置私有仓库密钥
|
|
|
+ ApplicationProperties.Registry registry = applicationProperties.getRegistry();
|
|
|
+ secretApi.createPrivateRegistrySecret(projectName, registry.getHost(), registry.getUsername(), registry.getPassword());
|
|
|
|
|
|
+ ApplicationProperties.K8s k8s = applicationProperties
|
|
|
} catch (K8sApiException e) {
|
|
|
+ LoggerUtil.error(logger, e, "创建项目失败,projectName={}, projectType={}", projectName, seecIITemplate.getName());
|
|
|
+
|
|
|
+ if (e.getCode() == K8sApiException.NAMESPACE_NOT_EXIST) {
|
|
|
|
|
|
+ }else {
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|