RESTEasy integration with dynamically generated Swagger OpenAPI, Swagger UI and JAX-RS.

This patch introduces JAX-RS based annotation for defining APIs. It removes the manually
created api.yaml (OpenAPI spec) of the API definitions in favor of the dynamically
generated spec based on JAX-RS annotations. It also introduces Swagger UI to browse the
Sidecar APIs and to experiment with them. Finally, it updates the CircleCI workflows
such that the builds are run across both Docker and Machine images. We also gate packaging
builds on success of the compile and test builds. The rationale for running the builds
across both Docker and Machine images is that running the build on a Machine image exposed
a race condition.

Patch by Dinesh Joshi; Reviewed by Jon Haddad and Yifan Cai for CASSANDRASC-22
15 files changed
tree: e5fa6cba483b8afea0127393d3622106b05a351e
  1. .circleci/
  2. docs/
  3. gradle/
  4. ide/
  5. src/
  6. .gitignore
  7. build.gradle
  8. CHANGES.txt
  9. checkstyle.xml
  10. gradle.properties
  11. gradlew
  12. gradlew.bat
  13. LICENSE.txt
  14. README.md
  15. settings.gradle
README.md

Apache Cassandra Sidecar [WIP]

This is a Sidecar for the highly scalable Apache Cassandra database. For more information, see the Apache Cassandra web site and CIP-1.

This is project is still WIP.

Requirements

  1. Java >= 1.8 (OpenJDK or Oracle), or Java 11
  2. Apache Cassandra 4.0. We depend on virtual tables which is a 4.0 only feature.

Getting started

After you clone the git repo, you can use the gradle wrapper to build and run the project. Make sure you have Apache Cassandra running on the host & port specified in conf/sidecar.yaml.

$ ./gradlew run

You can use build, test to build & test the project.

CircleCI Testing

You will need to use the “Add Projects” function of CircleCI to set up CircleCI on your fork. When promoted to create a branch, do not replace the CircleCI config, choose the option to do it manually. CircleCI will pick up the in project configuration.

Wondering where to go from here?