bibekaryal86 / pets-gateway

Spring Cloud Gateway implementation for a React project

Home Page:https://pets-gateway.appspot.com/tests/ping

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pets-gateway

This app is a simple implementation of Spring Cloud Gateway to route calls from SPAs to microservices.

This is created/implemented to overcome CORS issue with a React based SPA. Microservices might also route their request via the gateway as required

The gateway also provides a layer of authentication by validating JWT tokens in the request.

To run the app, we need to supply the following environment variables:

  • Active Profile
    • SPRING_PROFILES_ACTIVE (development, docker, production)
  • PETS Service Security Details:
    • BASIC_AUTH_USR_PETSSERVICE (auth username of pets-service)
    • BASIC_AUTH_PWD_PETSSERVICE (auth password of pets-service)
    • BASIC_AUTH_USR_PETSDATABASE (auth username of pets-database)
    • BASIC_AUTH_PWD_PETSDATABASE (auth password of pets-database)
  • The final run command looks like this:
    • java -jar -DSPRING_PROFILES_ACTIVE=development -DBASIC_AUTH_USR_PETSSERVICE=some_username -DBASIC_AUTH_PWD_PETSSERVICE=some_password -DBASIC_AUTH_USR_PETSDATABASE=another_username -DBASIC_AUTH_PWD_DATABASE=another_password JARFILE.jar

This app is one of the five apps that form the PETS (Personal Expenses Tracking System) application:

This app is deployed in Google Cloud Project. The GCP configurations are found in the gcp folder in the project root. To deploy to GCP, we need to copy the jar file to that folder and use gcloud app deploy terminal command.

About

Spring Cloud Gateway implementation for a React project

https://pets-gateway.appspot.com/tests/ping


Languages

Language:Java 95.2%Language:Dockerfile 4.8%