main
parent
254db5108a
commit
ec1a890891
@ -1,10 +1,10 @@
|
|||||||
FROM openjdk:17-jdk-alpine
|
FROM openjdk:17-jdk-alpine
|
||||||
MAINTAINER [AutoFlow]
|
MAINTAINER [AutoFlow]
|
||||||
|
|
||||||
RUN apk --no-cache add tzdata && cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime
|
RUN apk --no-cache add tzdata && cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime
|
||||||
|
|
||||||
RUN mkdir /server
|
RUN mkdir /server
|
||||||
ADD build/libs/autoflow-0.0.1-SNAPSHOT.jar /server/autoflow-0.0.1-SNAPSHOT.jar
|
COPY build/libs/*.jar /server/app.jar
|
||||||
|
|
||||||
WORKDIR /server
|
WORKDIR /server
|
||||||
ENTRYPOINT ["java", "-jar", "autoflow-0.0.1-SNAPSHOT.jar"]
|
ENTRYPOINT ["java", "-jar", "app.jar"]
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
package kr.re.etri.autoflow.controller;
|
||||||
|
|
||||||
|
import kr.re.etri.autoflow.service.storage.StorageProvider;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api/test/storage")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class StorageTestController {
|
||||||
|
|
||||||
|
private final StorageProvider storageProvider;
|
||||||
|
|
||||||
|
@GetMapping("/info")
|
||||||
|
public ResponseEntity<Map<String, Object>> getInfo() {
|
||||||
|
Map<String, Object> info = new HashMap<>();
|
||||||
|
info.put("providerClass", storageProvider.getClass().getSimpleName());
|
||||||
|
return ResponseEntity.ok(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/upload")
|
||||||
|
public ResponseEntity<String> testUpload(@RequestParam("file") MultipartFile file) {
|
||||||
|
try (InputStream is = file.getInputStream()) {
|
||||||
|
String objectName = "test/" + file.getOriginalFilename();
|
||||||
|
storageProvider.uploadFileToDefault(objectName, is, file.getContentType(), file.getSize());
|
||||||
|
return ResponseEntity.ok("Upload successful: " + objectName);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ResponseEntity.internalServerError().body("Upload failed: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/url")
|
||||||
|
public ResponseEntity<String> getUrl(@RequestParam("name") String name) {
|
||||||
|
try {
|
||||||
|
String url = storageProvider.getFileUrl(null, name, null);
|
||||||
|
return ResponseEntity.ok(url);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ResponseEntity.internalServerError().body("Failed to get URL: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,88 +1,93 @@
|
|||||||
#????? ?? ??
|
#????? ?? ??
|
||||||
server.port = 8080
|
server.port = 8080
|
||||||
|
|
||||||
spring.profiles.active=local
|
spring.profiles.active=local
|
||||||
|
|
||||||
spring.datasource.url=jdbc:mariadb://192.168.10.143:3306/autoflow
|
spring.datasource.url=jdbc:mariadb://192.168.10.143:3306/autoflow
|
||||||
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
|
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
|
||||||
spring.datasource.username=cuuva
|
spring.datasource.username=cuuva
|
||||||
spring.datasource.password=cuuva
|
spring.datasource.password=cuuva
|
||||||
|
|
||||||
spring.jpa.database-platform=org.hibernate.dialect.MariaDBDialect
|
spring.jpa.database-platform=org.hibernate.dialect.MariaDBDialect
|
||||||
|
|
||||||
spring.jpa.defer-datasource-initialization=true
|
spring.jpa.defer-datasource-initialization=true
|
||||||
|
|
||||||
#spring.batch.jdbc.schema=classpath:org/springframework/batch/core/schema-mariadb.sql
|
#spring.batch.jdbc.schema=classpath:org/springframework/batch/core/schema-mariadb.sql
|
||||||
#spring.batch.jdbc.initialize-schema=always
|
#spring.batch.jdbc.initialize-schema=always
|
||||||
|
|
||||||
# App Properties
|
# App Properties
|
||||||
cuuva.app.jwtCookieName=cuuva-jwt
|
cuuva.app.jwtCookieName=cuuva-jwt
|
||||||
cuuva.app.jwtRefreshCookieName=cuuva-jwt-refresh
|
cuuva.app.jwtRefreshCookieName=cuuva-jwt-refresh
|
||||||
cuuva.app.jwtSecret= 275511b31c520562d69802ce4a913773102563891563a24062f44b3f312ca2bd034440e81836d1b4ccf4195f43db4c81a4e489a41f1ae0967afe468c9a361f4d
|
cuuva.app.jwtSecret= 275511b31c520562d69802ce4a913773102563891563a24062f44b3f312ca2bd034440e81836d1b4ccf4195f43db4c81a4e489a41f1ae0967afe468c9a361f4d
|
||||||
|
|
||||||
## For test
|
## For test
|
||||||
cuuva.app.jwtExpirationMs= 900000
|
cuuva.app.jwtExpirationMs= 900000
|
||||||
cuuva.app.jwtRefreshExpirationMs= 8640000
|
cuuva.app.jwtRefreshExpirationMs= 8640000
|
||||||
|
|
||||||
spring.jpa.show-sql=true
|
spring.jpa.show-sql=true
|
||||||
|
|
||||||
spring.jpa.properties.hibernate.format_sql=true
|
spring.jpa.properties.hibernate.format_sql=true
|
||||||
|
|
||||||
logging.level.org.hibernate.type.descriptor.sql=TRACE
|
logging.level.org.hibernate.type.descriptor.sql=TRACE
|
||||||
|
|
||||||
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
|
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
|
||||||
|
|
||||||
spring.datasource.hikari.connection-timeout=30000
|
spring.datasource.hikari.connection-timeout=30000
|
||||||
spring.datasource.hikari.idle-timeout=60000
|
spring.datasource.hikari.idle-timeout=60000
|
||||||
spring.datasource.hikari.max-lifetime=1800000
|
spring.datasource.hikari.max-lifetime=1800000
|
||||||
|
|
||||||
springdoc.api-docs.enabled=true
|
springdoc.api-docs.enabled=true
|
||||||
springdoc.api-docs.path=/v3/api-docs
|
springdoc.api-docs.path=/v3/api-docs
|
||||||
|
|
||||||
springdoc.swagger-ui.path=/swagger-ui
|
springdoc.swagger-ui.path=/swagger-ui
|
||||||
springdoc.swagger-ui.config-url=/autoflow-server-mgmt/v3/api-docs/swagger-config
|
springdoc.swagger-ui.config-url=/autoflow-server-mgmt/v3/api-docs/swagger-config
|
||||||
springdoc.swagger-ui.url=/autoflow-server-mgmt/v3/api-docs
|
springdoc.swagger-ui.url=/autoflow-server-mgmt/v3/api-docs
|
||||||
springdoc.swagger-ui.doc-expansion=none
|
springdoc.swagger-ui.doc-expansion=none
|
||||||
springdoc.swagger-ui.disable-swagger-default-url=true
|
springdoc.swagger-ui.disable-swagger-default-url=true
|
||||||
|
|
||||||
spring.servlet.multipart.max-file-size=500MB
|
spring.servlet.multipart.max-file-size=500MB
|
||||||
spring.servlet.multipart.max-request-size=500MB
|
spring.servlet.multipart.max-request-size=500MB
|
||||||
|
|
||||||
springdoc.swagger-ui.tags-sorter=alpha
|
springdoc.swagger-ui.tags-sorter=alpha
|
||||||
|
|
||||||
# Storage Provider (minio, s3, or filesystem)
|
# Storage Provider (minio, s3, or filesystem)
|
||||||
storage.provider=minio
|
storage.provider=minio
|
||||||
|
|
||||||
# Local FileSystem ??
|
# Local FileSystem ??
|
||||||
storage.local.base-path=/app/storage
|
storage.local.base-path=/app/storage
|
||||||
storage.local.default-bucket=mlpipeline
|
storage.local.default-bucket=mlpipeline
|
||||||
|
|
||||||
# MinIO ??
|
# MinIO ??
|
||||||
minio.endpoint=http://192.168.10.135:31795
|
minio.endpoint=http://192.168.10.135:31795
|
||||||
minio.access-key=minio
|
minio.access-key=minio
|
||||||
minio.secret-key=minio123
|
minio.secret-key=minio123
|
||||||
minio.bucket=mlpipeline
|
minio.bucket=mlpipeline
|
||||||
|
|
||||||
# Kubeflow
|
# Kubeflow
|
||||||
kubeflow.url=http://192.168.10.135:32473/
|
kubeflow.url=http://192.168.10.135:32473/
|
||||||
|
|
||||||
# MLflow
|
# MLflow
|
||||||
mlflow.url=http://192.168.10.135:30128/
|
mlflow.url=http://192.168.10.135:30128/
|
||||||
mlflow.user=user
|
mlflow.user=user
|
||||||
mlflow.password=WjWjIi13KEkO
|
mlflow.password=WjWjIi13KEkO
|
||||||
|
|
||||||
server.servlet.encoding.charset=UTF-8
|
server.servlet.encoding.charset=UTF-8
|
||||||
server.servlet.encoding.enabled=true
|
server.servlet.encoding.enabled=true
|
||||||
server.servlet.encoding.force=true
|
server.servlet.encoding.force=true
|
||||||
|
|
||||||
spring.servlet.multipart.enabled=true
|
spring.servlet.multipart.enabled=true
|
||||||
|
|
||||||
#OTA??
|
#OTA??
|
||||||
external.auth.signin-url=https://a659120d3e2ff43ff94087b29396fd96-1057696791.ap-northeast-2.elb.amazonaws.com/api/datamanager/user/signin
|
external.auth.signin-url=https://a659120d3e2ff43ff94087b29396fd96-1057696791.ap-northeast-2.elb.amazonaws.com/api/datamanager/user/signin
|
||||||
external.auth.edge-search-url=https://a659120d3e2ff43ff94087b29396fd96-1057696791.ap-northeast-2.elb.amazonaws.com/api/datamanager/edge-pkg/search
|
external.auth.edge-search-url=https://a659120d3e2ff43ff94087b29396fd96-1057696791.ap-northeast-2.elb.amazonaws.com/api/datamanager/edge-pkg/search
|
||||||
external.auth.sw-search-url=https://a659120d3e2ff43ff94087b29396fd96-1057696791.ap-northeast-2.elb.amazonaws.com/api/datamanager/advehicle-pkg/search
|
external.auth.sw-search-url=https://a659120d3e2ff43ff94087b29396fd96-1057696791.ap-northeast-2.elb.amazonaws.com/api/datamanager/advehicle-pkg/search
|
||||||
|
|
||||||
cloud.aws.region.static=ap-northeast-2
|
cloud.aws.region.static=ap-northeast-2
|
||||||
cloud.aws.credentials.access-key=AKIA2UC3EPERDDR4UOWN
|
cloud.aws.credentials.access-key=AKIA2UC3EPERDDR4UOWN
|
||||||
cloud.aws.credentials.secret-key=Ps7ShmtcemhhTmZi+aUCpSpfZxjqFGyy51qgDSGD
|
cloud.aws.credentials.secret-key=Ps7ShmtcemhhTmZi+aUCpSpfZxjqFGyy51qgDSGD
|
||||||
cloud.aws.s3.bucket=mlpipeline
|
cloud.aws.s3.bucket=mlpipeline
|
||||||
|
|
||||||
|
# Spring Actuator Configuration
|
||||||
|
management.endpoints.web.exposure.include=health
|
||||||
|
management.endpoint.health.show-details=always
|
||||||
|
management.health.defaults.enabled=true
|
||||||
Loading…
Reference in new issue