feat: align pod scaffolding with oth runtime
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 1m37s

This commit is contained in:
jade
2026-08-09 16:54:24 +09:00
parent 03203a9912
commit ae00489a39
7 changed files with 97 additions and 13 deletions

View File

@@ -76,11 +76,14 @@ public class PodScaffolder {
log.append("[3/6] Dockerfile 생성 중...\n");
String dockerfile = """
FROM eclipse-temurin:21-jdk-alpine
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
COPY build/libs/%s-0.0.1-SNAPSHOT.jar app.jar
RUN apk add --no-cache tzdata
ENV TZ=Asia/Seoul
COPY %s/build/libs/*-SNAPSHOT.jar app.jar
EXPOSE %s
ENTRYPOINT ["java", "-jar", "app.jar"]
""".formatted(moduleName);
""".formatted(moduleName, portStr);
Files.writeString(modulePath.resolve("Dockerfile"), dockerfile);
log.append("[4/6] Application 클래스 및 설정 파일 생성 중...\n");
@@ -135,10 +138,13 @@ public class PodScaffolder {
org.apache.kafka: ERROR
mcp:
namespace: ""
manifest:
bundle-id: %s
name-prefix: ""
security:
tenant-domains:
TESTER-DEV: ALL
""".formatted(portStr, moduleName);
""".formatted(portStr, moduleName, moduleName.replace("dap-", ""));
Files.writeString(resPath.resolve("application.yml"), applicationYml);
String applicationLocalYml = """
@@ -226,6 +232,30 @@ public class PodScaffolder {
""".formatted(portStr, portStr);
Files.writeString(resPath.resolve("application-dev.yml"), applicationDevYml);
String applicationTestYml = """
server:
port: ${PORT:%s}
axhub:
gateway:
url: ${AXHUB_GATEWAY_URL}
tool:
url: ${AXHUB_TOOL_URL}
""".formatted(portStr);
Files.writeString(resPath.resolve("application-test.yml"), applicationTestYml);
String applicationProdYml = """
server:
port: ${PORT:%s}
axhub:
gateway:
url: ${AXHUB_GATEWAY_URL}
tool:
url: ${AXHUB_TOOL_URL}
""".formatted(portStr);
Files.writeString(resPath.resolve("application-prod.yml"), applicationProdYml);
String logbackXml = """
<?xml version="1.0" encoding="UTF-8"?>
<configuration>

View File

@@ -74,8 +74,9 @@ public class ToolScaffolder {
String useSchemaResourceStr = getOrAsk(args, 8, scanner, "9. input/output JSON Schema 파일 자동 생성 여부 (y/N): ");
boolean useSchemaResource = "y".equalsIgnoreCase(useSchemaResourceStr.trim());
String inputSchemaResource = useSchemaResource ? "classpath:mcp/schema/" + toKebabCase(baseName) + "-resource-input-schema.json" : null;
String outputSchemaResource = useSchemaResource ? "classpath:mcp/schema/" + toKebabCase(baseName) + "-resource-output-schema.json" : null;
String schemaResourceDirectory = "classpath:tool-schemas/" + group.toLowerCase() + "/";
String inputSchemaResource = useSchemaResource ? schemaResourceDirectory + toKebabCase(baseName) + "-resource-input-schema.json" : null;
String outputSchemaResource = useSchemaResource ? schemaResourceDirectory + toKebabCase(baseName) + "-resource-output-schema.json" : null;
String result = scaffold(baseName, interfaceId, description, group, routingType, moduleName, author, createDate, true, null, inputSchemaResource, outputSchemaResource);
System.out.println(result);
@@ -110,9 +111,9 @@ public class ToolScaffolder {
String schemaBaseName = toKebabCase(baseName);
String inputSchemaFileName = schemaBaseName + "-resource-input-schema.json";
String outputSchemaFileName = schemaBaseName + "-resource-output-schema.json";
Path schemaDir = rootDir.resolve(Paths.get(moduleName, "src/main/resources/mcp/schema"));
String inputSchemaClasspath = "classpath:mcp/schema/" + inputSchemaFileName;
String outputSchemaClasspath = "classpath:mcp/schema/" + outputSchemaFileName;
Path schemaDir = rootDir.resolve(Paths.get(moduleName, "src/main/resources/tool-schemas", group.toLowerCase()));
String inputSchemaClasspath = "classpath:tool-schemas/" + group.toLowerCase() + "/" + inputSchemaFileName;
String outputSchemaClasspath = "classpath:tool-schemas/" + group.toLowerCase() + "/" + outputSchemaFileName;
String bizPackage = BASE_PACKAGE + ".biz." + group.toLowerCase();
boolean isMci = "MCI".equalsIgnoreCase(routingType);
@@ -784,4 +785,4 @@ public class ToolScaffolder {
}
return result.toString();
}
}
}