From 1c63c582e2177964b388c73fe2ff18a3f0c9caa1 Mon Sep 17 00:00:00 2001 From: Richer Archambault Date: Sat, 24 Mar 2018 14:38:35 -0400 Subject: [PATCH 1/6] DDockerFiles --- Dockerfile_Auth | 17 +++++++++++++++++ Dockerfile_Comm | 17 +++++++++++++++++ Dockerfile_Config_Server | 17 +++++++++++++++++ Dockerfile_Eureka_Server | 17 +++++++++++++++++ Dockerfile_Zuul_Server | 17 +++++++++++++++++ 5 files changed, 85 insertions(+) create mode 100644 Dockerfile_Auth create mode 100644 Dockerfile_Comm create mode 100644 Dockerfile_Config_Server create mode 100644 Dockerfile_Eureka_Server create mode 100644 Dockerfile_Zuul_Server diff --git a/Dockerfile_Auth b/Dockerfile_Auth new file mode 100644 index 0000000..99d5878 --- /dev/null +++ b/Dockerfile_Auth @@ -0,0 +1,17 @@ +FROM openjdk:8 AS gradle-builder + +WORKDIR /app + +COPY . . + +WORKDIR authorization + +RUN ../gradlew build + +FROM openjdk:8-jre + +WORKDIR /root/ + +COPY --from=gradle-builder /app/authorization/build/libs/authorization-0.0.1-SNAPSHOT.jar . + +CMD ["java","-jar","authorization-0.0.1-SNAPSHOT.jar"] \ No newline at end of file diff --git a/Dockerfile_Comm b/Dockerfile_Comm new file mode 100644 index 0000000..8777775 --- /dev/null +++ b/Dockerfile_Comm @@ -0,0 +1,17 @@ +FROM openjdk:8 AS gradle-builder + +WORKDIR /app + +COPY . . + +WORKDIR communication + +RUN ../gradlew build + +FROM openjdk:8-jre + +WORKDIR /root/ + +COPY --from=gradle-builder /app/communication/build/libs/communication-0.0.1-SNAPSHOT.jar . + +CMD ["java","-jar","communication-0.0.1-SNAPSHOT.jar"] \ No newline at end of file diff --git a/Dockerfile_Config_Server b/Dockerfile_Config_Server new file mode 100644 index 0000000..60b0350 --- /dev/null +++ b/Dockerfile_Config_Server @@ -0,0 +1,17 @@ +FROM openjdk:8 AS gradle-builder + +WORKDIR /app + +COPY . . + +WORKDIR config-server + +RUN ../gradlew build + +FROM openjdk:8-jre + +WORKDIR /root/ + +COPY --from=gradle-builder /app/config-server/build/libs/config-server-0.0.1-SNAPSHOT.jar . + +CMD ["java","-jar","config-server-0.0.1-SNAPSHOT.jar"] \ No newline at end of file diff --git a/Dockerfile_Eureka_Server b/Dockerfile_Eureka_Server new file mode 100644 index 0000000..e62c92f --- /dev/null +++ b/Dockerfile_Eureka_Server @@ -0,0 +1,17 @@ +FROM openjdk:8 AS gradle-builder + +WORKDIR /app + +COPY . . + +WORKDIR eureka-server + +RUN ../gradlew build + +FROM openjdk:8-jre + +WORKDIR /root/ + +COPY --from=gradle-builder /app/eureka-server/build/libs/eureka-server-0.0.1-SNAPSHOT.jar . + +CMD ["java","-jar","eureka-server-0.0.1-SNAPSHOT.jar"] \ No newline at end of file diff --git a/Dockerfile_Zuul_Server b/Dockerfile_Zuul_Server new file mode 100644 index 0000000..b6971ba --- /dev/null +++ b/Dockerfile_Zuul_Server @@ -0,0 +1,17 @@ +FROM openjdk:8 AS gradle-builder + +WORKDIR /app + +COPY . . + +WORKDIR zuul-server + +RUN ../gradlew build + +FROM openjdk:8-jre + +WORKDIR /root/ + +COPY --from=gradle-builder /app/zuul-server/build/libs/zuul-server-0.0.1-SNAPSHOT.jar . + +CMD ["java","-jar","zuul-server-0.0.1-SNAPSHOT.jar"] \ No newline at end of file From e20694b9a66d4cdb830e548ff0c44ca2dc9f99bd Mon Sep 17 00:00:00 2001 From: Richer Archambault Date: Sat, 24 Mar 2018 14:44:27 -0400 Subject: [PATCH 2/6] dokcer-compose --- README.md | 8 ++++++++ docker-compose.yml | 17 +++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 docker-compose.yml diff --git a/README.md b/README.md index 663e7ee..c34d338 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,11 @@ +#INFRA +## Hour 1 +- [X] (2pt) Create a dockerfile for each projects in `settings.gradle` +- [ ] (1pt) Create a gradle task to build all docker, the task could look like `./gradlew clean build buildDocker -x test` +- [ ] (0.5pt) Create a gradle task to build single docker images when you are working in only one module +- [ ] (2pt) Create a docker-compose version 3+ file to orchestrate de booting of all modules *** GOING ON BASE FILE IS DONE MISSING DEPENDS_ON *** + + # Java micro-services ## Build diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..992602f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,17 @@ +version: "3" +services: + authorization: + context: ./ + dockerfile: Dockerfile_Auth + communication: + context: ./ + dockerfile: Dockerfile_Comm + config-server: + context: ./ + dockerfile: Dockerfile_Config_Server + eureka-server: + context: ./ + dockerfile: Dockerfile_Eureka_Server + zuul-server: + context: ./ + dockerfile: Dockerfile_Zuul_Server \ No newline at end of file From eca65d151651944c463fecf7e8c2f2fb3ebea9d4 Mon Sep 17 00:00:00 2001 From: Richer Archambault Date: Sat, 24 Mar 2018 14:51:35 -0400 Subject: [PATCH 3/6] k --- docker-compose.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 992602f..c616885 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,15 +3,19 @@ services: authorization: context: ./ dockerfile: Dockerfile_Auth + communication: context: ./ dockerfile: Dockerfile_Comm + config-server: context: ./ dockerfile: Dockerfile_Config_Server + eureka-server: context: ./ dockerfile: Dockerfile_Eureka_Server + zuul-server: context: ./ dockerfile: Dockerfile_Zuul_Server \ No newline at end of file From 5bec9706996817dc0f5c45708cdf788754306b16 Mon Sep 17 00:00:00 2001 From: Richer Archambault Date: Sat, 24 Mar 2018 14:52:33 -0400 Subject: [PATCH 4/6] rip --- docker-compose.yml | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index c616885..91ce13b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,21 +1,26 @@ version: "3" services: authorization: - context: ./ - dockerfile: Dockerfile_Auth + build: + context: ./ + dockerfile: Dockerfile_Auth communication: - context: ./ - dockerfile: Dockerfile_Comm + build: + context: ./ + dockerfile: Dockerfile_Comm config-server: - context: ./ - dockerfile: Dockerfile_Config_Server + build: + context: ./ + dockerfile: Dockerfile_Config_Server eureka-server: - context: ./ - dockerfile: Dockerfile_Eureka_Server + build: + context: ./ + dockerfile: Dockerfile_Eureka_Server zuul-server: - context: ./ - dockerfile: Dockerfile_Zuul_Server \ No newline at end of file + build: + context: ./ + dockerfile: Dockerfile_Zuul_Server \ No newline at end of file From 1928947039cc41f606b84c3a5b7d8278cdd23ada Mon Sep 17 00:00:00 2001 From: Richer Archambault Date: Sat, 24 Mar 2018 15:50:38 -0400 Subject: [PATCH 5/6] done hours 1 req 1 --- .../controller/AuthorizationController.java | 3 ++- .../authorization/service/UsersService.java | 18 ++++++++++++++++++ .../src/main/resources/application.yml | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/authorization/src/main/java/com/ship/authorization/controller/AuthorizationController.java b/authorization/src/main/java/com/ship/authorization/controller/AuthorizationController.java index dbfa0d8..95b0272 100644 --- a/authorization/src/main/java/com/ship/authorization/controller/AuthorizationController.java +++ b/authorization/src/main/java/com/ship/authorization/controller/AuthorizationController.java @@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; +import static com.ship.authorization.service.UsersService.GetRank; import static com.ship.authorization.service.UsersService.ROLE_ADMIRAL; import static com.ship.authorization.service.UsersService.ROLE_CREWMAN; @@ -40,7 +41,7 @@ public void checkAccess(Authentication authentication, @RequestBody ActionDto ac for (GrantedAuthority grantedAuthority : userDetails.getAuthorities()){ if (grantedAuthority.getAuthority().equals(ROLE_CREWMAN)) { - if (recipientRole.contains(ROLE_ADMIRAL)) { + if (GetRank(recipientRole) - 1 >= 2) { throw new ForbiddenAccessException(); } } diff --git a/authorization/src/main/java/com/ship/authorization/service/UsersService.java b/authorization/src/main/java/com/ship/authorization/service/UsersService.java index 66615d5..747534e 100644 --- a/authorization/src/main/java/com/ship/authorization/service/UsersService.java +++ b/authorization/src/main/java/com/ship/authorization/service/UsersService.java @@ -16,6 +16,24 @@ public class UsersService { public static final String ROLE_ENSIGN = "ROLE_ENSIGN"; public static final String ROLE_CREWMAN = "ROLE_CREWMAN"; + public static final int GetRank(String role) { + if (role.equals(ROLE_ADMIRAL)) { + return 7; + } else if (role.equals(ROLE_VICE_ADMIRAL)) { + return 6; + } else if (role.equals(ROLE_CAPTAIN)) { + return 5; + } else if (role.equals(ROLE_COMMANDER)) { + return 4; + } else if (role.equals(ROLE_LIEUTENANT)) { + return 3; + } else if (role.equals(ROLE_ENSIGN)) { + return 2; + } else { + return 1; + } + } + private Map users = new HashMap<>(); public UsersService() { diff --git a/config-server/src/main/resources/application.yml b/config-server/src/main/resources/application.yml index 8a7b0bc..ac93128 100644 --- a/config-server/src/main/resources/application.yml +++ b/config-server/src/main/resources/application.yml @@ -18,7 +18,7 @@ security.user: --- spring: profiles: native - cloud.config.server.native.search-locations: file:///${user.home}/Documents/wilau2/cs-games-2018-relay-cloud/config-server/config + cloud.config.server.native.search-locations: file:///${user.home}/git/csgames/infra-perso/config-server/config eureka: client: From 77fe2792479cd311589690acd7b12bb53b071c97 Mon Sep 17 00:00:00 2001 From: Brandon Roberge Date: Sat, 24 Mar 2018 15:55:16 -0400 Subject: [PATCH 6/6] Finished compose --- README.md | 2 +- docker-compose.yml | 24 +++++++++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c34d338..cb6f09c 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ - [X] (2pt) Create a dockerfile for each projects in `settings.gradle` - [ ] (1pt) Create a gradle task to build all docker, the task could look like `./gradlew clean build buildDocker -x test` - [ ] (0.5pt) Create a gradle task to build single docker images when you are working in only one module -- [ ] (2pt) Create a docker-compose version 3+ file to orchestrate de booting of all modules *** GOING ON BASE FILE IS DONE MISSING DEPENDS_ON *** +- [X] (2pt) Create a docker-compose version 3+ file to orchestrate de booting of all modules # Java micro-services diff --git a/docker-compose.yml b/docker-compose.yml index 91ce13b..05f6b7d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,23 +4,45 @@ services: build: context: ./ dockerfile: Dockerfile_Auth + ports: + - 8090:8090 communication: build: context: ./ dockerfile: Dockerfile_Comm + ports: + - 8100:8100 config-server: build: context: ./ dockerfile: Dockerfile_Config_Server + ports: + - 8888:8888 + depends_on: + - redis eureka-server: build: context: ./ dockerfile: Dockerfile_Eureka_Server + ports: + - 8082:8082 + depends_on: + - config-server zuul-server: build: context: ./ - dockerfile: Dockerfile_Zuul_Server \ No newline at end of file + dockerfile: Dockerfile_Zuul_Server + ports: + - 9090:9090 + depends_on: + - authorization + - communication + + redis: + image: redis + ports: + - 6379:6379 \ No newline at end of file