diff --git a/.github/workflows/publish-quarkus-image.yml b/.github/workflows/publish-quarkus-image-reactive.yml similarity index 90% rename from .github/workflows/publish-quarkus-image.yml rename to .github/workflows/publish-quarkus-image-reactive.yml index f230417..48dca53 100644 --- a/.github/workflows/publish-quarkus-image.yml +++ b/.github/workflows/publish-quarkus-image-reactive.yml @@ -27,8 +27,8 @@ jobs: - name: Build, tag, and push image to Amazon ECR env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} - ECR_REPOSITORY: bookstore-quarkus + ECR_REPOSITORY: bookstore-quarkus-reactive run: | docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$GITHUB_SHA -t $ECR_REGISTRY/$ECR_REPOSITORY . docker push -a $ECR_REGISTRY/$ECR_REPOSITORY - working-directory: ./bookstore-quarkus \ No newline at end of file + working-directory: ./bookstore-quarkus-reactive \ No newline at end of file diff --git a/.github/workflows/terraform-ecr.yml b/.github/workflows/terraform-ecr.yml index efec724..0a07e72 100644 --- a/.github/workflows/terraform-ecr.yml +++ b/.github/workflows/terraform-ecr.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: inputs: repository-names: - description: "The name of all the new ECR repositories to be created e.g.: 'bookstore-quarkus,bookstore-springboot' " + description: "The name of all the new ECR repositories to be created e.g.: 'bookstore-quarkus-reactive,bookstore-springboot' " type: "string" jobs: diff --git a/README.md b/README.md index 959d8a6..484d4ab 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ The main endpoints of the API consists of: Currently you can find the following implementations of the Book Store REST API: -1) [Quarkus](./bookstore-quarkus) +1) [Quarkus](./bookstore-quarkus-reactive) 2) [Quarkus Synchronous](./bookstore-quarkus-sync) 3) [Spring Boot](./bookstore-springboot) 4) [NestJS](./bookstore-nestjs) diff --git a/bookstore-quarkus/.dockerignore b/bookstore-quarkus-reactive/.dockerignore similarity index 100% rename from bookstore-quarkus/.dockerignore rename to bookstore-quarkus-reactive/.dockerignore diff --git a/bookstore-quarkus/.gitignore b/bookstore-quarkus-reactive/.gitignore similarity index 100% rename from bookstore-quarkus/.gitignore rename to bookstore-quarkus-reactive/.gitignore diff --git a/bookstore-quarkus/Dockerfile b/bookstore-quarkus-reactive/Dockerfile similarity index 100% rename from bookstore-quarkus/Dockerfile rename to bookstore-quarkus-reactive/Dockerfile diff --git a/bookstore-quarkus/README.md b/bookstore-quarkus-reactive/README.md similarity index 96% rename from bookstore-quarkus/README.md rename to bookstore-quarkus-reactive/README.md index 7c82f5c..d2c8292 100644 --- a/bookstore-quarkus/README.md +++ b/bookstore-quarkus-reactive/README.md @@ -1,4 +1,4 @@ -# bookstore-quarkus Project +# bookstore-quarkus-reactive Project This project uses Quarkus, the Supersonic Subatomic Java Framework. @@ -43,7 +43,7 @@ Or, if you don't have GraalVM installed, you can run the native executable build ./gradlew build -Dquarkus.package.type=native -Dquarkus.native.container-build=true ``` -You can then execute your native executable with: `./build/bookstore-quarkus-1.0.0-SNAPSHOT-runner` +You can then execute your native executable with: `./build/bookstore-quarkus-reactive-1.0.0-SNAPSHOT-runner` If you want to learn more about building native executables, please consult https://quarkus.io/guides/gradle-tooling. diff --git a/bookstore-quarkus/build.gradle.kts b/bookstore-quarkus-reactive/build.gradle.kts similarity index 100% rename from bookstore-quarkus/build.gradle.kts rename to bookstore-quarkus-reactive/build.gradle.kts diff --git a/bookstore-quarkus/gradle.properties b/bookstore-quarkus-reactive/gradle.properties similarity index 84% rename from bookstore-quarkus/gradle.properties rename to bookstore-quarkus-reactive/gradle.properties index ccb451b..0b308dc 100644 --- a/bookstore-quarkus/gradle.properties +++ b/bookstore-quarkus-reactive/gradle.properties @@ -1,10 +1,10 @@ # # Quarkus quarkusPluginId=io.quarkus -quarkusPluginVersion=3.7.2 +quarkusPluginVersion=3.7.3 quarkusPlatformGroupId=io.quarkus.platform quarkusPlatformArtifactId=quarkus-bom -quarkusPlatformVersion=3.7.2 +quarkusPlatformVersion=3.7.3 # # Kotlin kotlinVersion=1.9.22 diff --git a/bookstore-quarkus/gradle/wrapper/gradle-wrapper.jar b/bookstore-quarkus-reactive/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from bookstore-quarkus/gradle/wrapper/gradle-wrapper.jar rename to bookstore-quarkus-reactive/gradle/wrapper/gradle-wrapper.jar diff --git a/bookstore-quarkus/gradle/wrapper/gradle-wrapper.properties b/bookstore-quarkus-reactive/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from bookstore-quarkus/gradle/wrapper/gradle-wrapper.properties rename to bookstore-quarkus-reactive/gradle/wrapper/gradle-wrapper.properties diff --git a/bookstore-quarkus/gradlew b/bookstore-quarkus-reactive/gradlew old mode 100755 new mode 100644 similarity index 100% rename from bookstore-quarkus/gradlew rename to bookstore-quarkus-reactive/gradlew diff --git a/bookstore-quarkus/gradlew.bat b/bookstore-quarkus-reactive/gradlew.bat old mode 100755 new mode 100644 similarity index 100% rename from bookstore-quarkus/gradlew.bat rename to bookstore-quarkus-reactive/gradlew.bat diff --git a/bookstore-quarkus/settings.gradle.kts b/bookstore-quarkus-reactive/settings.gradle.kts similarity index 100% rename from bookstore-quarkus/settings.gradle.kts rename to bookstore-quarkus-reactive/settings.gradle.kts diff --git a/bookstore-quarkus/src/main/kotlin/com/arconsis/common/UUIDSerializer.kt b/bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/common/UUIDSerializer.kt similarity index 100% rename from bookstore-quarkus/src/main/kotlin/com/arconsis/common/UUIDSerializer.kt rename to bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/common/UUIDSerializer.kt diff --git a/bookstore-quarkus/src/main/kotlin/com/arconsis/config/FlywayMigrationService.kt b/bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/config/FlywayMigrationService.kt similarity index 100% rename from bookstore-quarkus/src/main/kotlin/com/arconsis/config/FlywayMigrationService.kt rename to bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/config/FlywayMigrationService.kt diff --git a/bookstore-quarkus/src/main/kotlin/com/arconsis/data/books/BookEntity.kt b/bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/data/books/BookEntity.kt similarity index 100% rename from bookstore-quarkus/src/main/kotlin/com/arconsis/data/books/BookEntity.kt rename to bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/data/books/BookEntity.kt diff --git a/bookstore-quarkus/src/main/kotlin/com/arconsis/data/books/BooksDataStore.kt b/bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/data/books/BooksDataStore.kt similarity index 100% rename from bookstore-quarkus/src/main/kotlin/com/arconsis/data/books/BooksDataStore.kt rename to bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/data/books/BooksDataStore.kt diff --git a/bookstore-quarkus/src/main/kotlin/com/arconsis/data/books/BooksRepository.kt b/bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/data/books/BooksRepository.kt similarity index 100% rename from bookstore-quarkus/src/main/kotlin/com/arconsis/data/books/BooksRepository.kt rename to bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/data/books/BooksRepository.kt diff --git a/bookstore-quarkus/src/main/kotlin/com/arconsis/data/common/Columns.kt b/bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/data/common/Columns.kt similarity index 100% rename from bookstore-quarkus/src/main/kotlin/com/arconsis/data/common/Columns.kt rename to bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/data/common/Columns.kt diff --git a/bookstore-quarkus/src/main/kotlin/com/arconsis/http/books/Book.kt b/bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/http/books/Book.kt similarity index 100% rename from bookstore-quarkus/src/main/kotlin/com/arconsis/http/books/Book.kt rename to bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/http/books/Book.kt diff --git a/bookstore-quarkus/src/main/kotlin/com/arconsis/http/books/BooksResource.kt b/bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/http/books/BooksResource.kt similarity index 100% rename from bookstore-quarkus/src/main/kotlin/com/arconsis/http/books/BooksResource.kt rename to bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/http/books/BooksResource.kt diff --git a/bookstore-quarkus/src/main/kotlin/com/arconsis/http/books/CreateBook.kt b/bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/http/books/CreateBook.kt similarity index 100% rename from bookstore-quarkus/src/main/kotlin/com/arconsis/http/books/CreateBook.kt rename to bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/http/books/CreateBook.kt diff --git a/bookstore-quarkus/src/main/kotlin/com/arconsis/http/errors/ErrorResponse.kt b/bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/http/errors/ErrorResponse.kt similarity index 100% rename from bookstore-quarkus/src/main/kotlin/com/arconsis/http/errors/ErrorResponse.kt rename to bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/http/errors/ErrorResponse.kt diff --git a/bookstore-quarkus/src/main/kotlin/com/arconsis/http/errors/ExceptionMappers.kt b/bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/http/errors/ExceptionMappers.kt similarity index 100% rename from bookstore-quarkus/src/main/kotlin/com/arconsis/http/errors/ExceptionMappers.kt rename to bookstore-quarkus-reactive/src/main/kotlin/com/arconsis/http/errors/ExceptionMappers.kt diff --git a/bookstore-quarkus/src/main/resources/application.properties b/bookstore-quarkus-reactive/src/main/resources/application.properties similarity index 100% rename from bookstore-quarkus/src/main/resources/application.properties rename to bookstore-quarkus-reactive/src/main/resources/application.properties diff --git a/bookstore-quarkus/src/main/resources/db/migration/V1.0.0__CreateBooks.sql b/bookstore-quarkus-reactive/src/main/resources/db/migration/V1.0.0__CreateBooks.sql similarity index 100% rename from bookstore-quarkus/src/main/resources/db/migration/V1.0.0__CreateBooks.sql rename to bookstore-quarkus-reactive/src/main/resources/db/migration/V1.0.0__CreateBooks.sql diff --git a/bookstore-quarkus-sync/README.md b/bookstore-quarkus-sync/README.md index 7c82f5c..af49549 100644 --- a/bookstore-quarkus-sync/README.md +++ b/bookstore-quarkus-sync/README.md @@ -1,4 +1,4 @@ -# bookstore-quarkus Project +# bookstore-quarkus-sync Project This project uses Quarkus, the Supersonic Subatomic Java Framework. @@ -43,7 +43,7 @@ Or, if you don't have GraalVM installed, you can run the native executable build ./gradlew build -Dquarkus.package.type=native -Dquarkus.native.container-build=true ``` -You can then execute your native executable with: `./build/bookstore-quarkus-1.0.0-SNAPSHOT-runner` +You can then execute your native executable with: `./build/bookstore-quarkus-sync-1.0.0-SNAPSHOT-runner` If you want to learn more about building native executables, please consult https://quarkus.io/guides/gradle-tooling. diff --git a/bookstore-quarkus-sync/gradle.properties b/bookstore-quarkus-sync/gradle.properties index ccb451b..0b308dc 100644 --- a/bookstore-quarkus-sync/gradle.properties +++ b/bookstore-quarkus-sync/gradle.properties @@ -1,10 +1,10 @@ # # Quarkus quarkusPluginId=io.quarkus -quarkusPluginVersion=3.7.2 +quarkusPluginVersion=3.7.3 quarkusPlatformGroupId=io.quarkus.platform quarkusPlatformArtifactId=quarkus-bom -quarkusPlatformVersion=3.7.2 +quarkusPlatformVersion=3.7.3 # # Kotlin kotlinVersion=1.9.22 diff --git a/bookstore-quarkus/src/main/resources/META-INF/resources/index.html b/bookstore-quarkus/src/main/resources/META-INF/resources/index.html deleted file mode 100644 index a49a881..0000000 --- a/bookstore-quarkus/src/main/resources/META-INF/resources/index.html +++ /dev/null @@ -1,364 +0,0 @@ - - - - - bookstore-quarkus - 1.0.0-SNAPSHOT - - - -
-
-
- - - - - quarkus_logo_horizontal_rgb_1280px_reverse - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
-

You just made a Quarkus application.

-

This page is served by Quarkus.

- Visit the Dev UI -

This page: src/main/resources/META-INF/resources/index.html

-

App configuration: src/main/resources/application.properties

-

Static assets: src/main/resources/META-INF/resources/

-

Code: src/main/kotlin

-

Generated starter code:

-
    -
  • - RESTEasy Reactive Easily start your Reactive RESTful Web Services -
    @Path: /hello -
    Related guide -
  • - -
-
-
-

Selected extensions

-
    -
  • - Hibernate Reactive with Panache -
  • -
  • Flyway (guide) -
  • -
  • Kotlin (guide) -
  • -
  • Reactive PostgreSQL client (guide) -
  • -
  • RESTEasy Reactive Kotlin Serialization
  • -
-
Documentation
-

Practical step-by-step guides to help you achieve a specific goal. Use them to help get your work - done.

-
Set up your IDE
-

Everyone has a favorite IDE they like to use to code. Learn how to configure yours to maximize your - Quarkus productivity.

-
-
-
- - diff --git a/postman/Bookstore Quarkus Sync (k8s).postman_environment.json b/postman/Bookstore Quarkus Sync (k8s).postman_environment.json new file mode 100644 index 0000000..d707618 --- /dev/null +++ b/postman/Bookstore Quarkus Sync (k8s).postman_environment.json @@ -0,0 +1,15 @@ +{ + "id": "bd98e2c1-11e3-4568-8ad6-aafe07e404b5", + "name": "Bookstore Quarkus Sync (k8s)", + "values": [ + { + "key": "host", + "value": "https://bookstore-quarkus-sync.benchmarks.k8s.dev.arconsis.com", + "type": "default", + "enabled": true + } + ], + "_postman_variable_scope": "environment", + "_postman_exported_at": "2024-02-15T18:42:29.418Z", + "_postman_exported_using": "Postman/10.23.1" +} \ No newline at end of file diff --git a/terraform/deployment/main.tf b/terraform/deployment/main.tf index 2c9b081..99ba596 100644 --- a/terraform/deployment/main.tf +++ b/terraform/deployment/main.tf @@ -140,7 +140,7 @@ module "ecs_tasks_sg" { } data "aws_ecr_repository" "quarkus_repository" { - name = "bookstore-quarkus" + name = "bookstore-quarkus-reactive" } module "ecs_quarkus_app" { @@ -164,19 +164,19 @@ module "ecs_quarkus_app" { subnet_ids = module.vpc.private_subnet_ids vpc_id = module.vpc.vpc_id service = { - name = "bookstore-quarkus" + name = "bookstore-quarkus-reactive" desired_count = 1 max_count = 1 } task_definition = { - name = "bookstore-quarkus" + name = "bookstore-quarkus-reactive" image = "${data.aws_ecr_repository.quarkus_repository.repository_url}:${var.image_tag}" - aws_logs_group = "ecs/bookstore-quarkus" + aws_logs_group = "ecs/bookstore-quarkus-reactive" host_port = 3000 container_port = 3000 - container_name = "bookstore-quarkus" + container_name = "bookstore-quarkus-reactive" health_check_path = "/quarkus/q/health" - family = "bookstore-quarkus-task" + family = "bookstore-quarkus-reactive-task" env_vars = [ # Check how to configure writer and reader endpoints { diff --git a/terraform/ecr_repositories/variables.tf b/terraform/ecr_repositories/variables.tf index 9e7d9be..25e2b2f 100644 --- a/terraform/ecr_repositories/variables.tf +++ b/terraform/ecr_repositories/variables.tf @@ -15,7 +15,7 @@ variable "repositories" { description = "Defines the repositories to create" type = set(string) default = [ - "bookstore-quarkus", + "bookstore-quarkus-reactive", "bookstore-quarkus-sync", "bookstore-springboot", "bookstore-nestjs",