diff --git a/fda-container-service/services/src/main/java/at/tuwien/service/ImageService.java b/fda-container-service/services/src/main/java/at/tuwien/service/ImageService.java index 8125e13b1533b013fcc6e928a626afcead1fd8d9..42099c72ebe28951732fcec95c3f24db4e0c12aa 100644 --- a/fda-container-service/services/src/main/java/at/tuwien/service/ImageService.java +++ b/fda-container-service/services/src/main/java/at/tuwien/service/ImageService.java @@ -66,6 +66,7 @@ public class ImageService { log.error("image already exists: {}", createDto); throw new ImageAlreadyExistsException("image already exists"); } + log.debug("created image {}", out); return out; } @@ -115,10 +116,10 @@ public class ImageService { } private void pull(String repository, String tag) throws ImageNotFoundException { + log.debug("pulling image {}:{}", repository, tag); final ResultCallback.Adapter<PullResponseItem> response; try { - response = dockerClient.pullImageCmd("library") - .withRepository(repository) + response = dockerClient.pullImageCmd(repository) .withTag(tag) .start(); final Instant now = Instant.now(); diff --git a/fda-gateway-service/src/main/java/at/tuwien/gatewayservice/config/GatewayConfig.java b/fda-gateway-service/src/main/java/at/tuwien/gatewayservice/config/GatewayConfig.java index 17e2b6548886a628732cb3fc2925f8d7cd52f054..b6c73f7f487da3124129cf6ecd6ed8419c7eb953 100644 --- a/fda-gateway-service/src/main/java/at/tuwien/gatewayservice/config/GatewayConfig.java +++ b/fda-gateway-service/src/main/java/at/tuwien/gatewayservice/config/GatewayConfig.java @@ -11,18 +11,26 @@ public class GatewayConfig { @Bean public RouteLocator routes(RouteLocatorBuilder builder) { return builder.routes() - .route("container-service", r -> r.path("/api/container/**") + .route("fda-container-service", r -> r.path("/api/container/**") + .and() + .method("POST","GET","PUT","DELETE") .and() .uri("lb://fda-container-service")) - .route("table-service", r -> r.path("/api/database/{id}/table/**") + .route("fda-container-service", r -> r.path("/api/image/**") .and() - .uri("lb://fda-table-service")) - .route("database-service", r -> r.path("/api/database/**") + .method("POST","GET","PUT","DELETE") + .and() + .uri("lb://fda-container-service")) + .route("fda-database-service", r -> r.path("/api/database/**") + .and() + .method("POST","GET","PUT","DELETE") .and() .uri("lb://fda-database-service")) - .route("query-service", r -> r.path("/api/query/**") + .route("fda-table-service", r -> r.path("/api/database/**/table/**") + .and() + .method("POST","GET","PUT","DELETE") .and() - .uri("lb://fda-query-service")) + .uri("lb://fda-table-service")) .build(); } diff --git a/fda-metadata-db/Dockerfile.temporal_tables b/fda-metadata-db/Dockerfile.temporal_tables new file mode 100644 index 0000000000000000000000000000000000000000..16d94f37c7b753b15fa00eba94e539565f2b8ba4 --- /dev/null +++ b/fda-metadata-db/Dockerfile.temporal_tables @@ -0,0 +1,17 @@ +FROM postgres:12.4-alpine + +RUN apk add --no-cache libpq make gcc clang llvm musl-dev python3-dev git + +ENV PG_CONFIG=/usr/local/bin/pg_config + +RUN git clone https://github.com/arkhipov/temporal_tables.git && cd temporal_tables && \ + make && make install + +WORKDIR ./temporal_tables + +RUN echo "make installcheck PGUSER=postgres" > ./check.sh +RUN chmod +x ./check.sh + +EXPOSE 5432 + +CMD ["postgres"] \ No newline at end of file diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java index 9908ee3a21a750d8f73728944d639c37e22129d5..c035c6e7f5107dc4ac8347b1ebb87de79a2bb9ce 100644 --- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java +++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java @@ -22,6 +22,10 @@ public class ImageCreateDto { @ApiModelProperty(required = true, example = "latest") private String tag; + @NotNull + @ApiModelProperty(required = true, example = "false", notes = "when false, the service pulls it from hub.docker.com") + private Boolean local; + @NotNull @ApiModelProperty(required = true, example = "5432") private Integer defaultPort;