Skip to content

Entry point gateway proxy that allows you to deploy frontends modularly

License

Notifications You must be signed in to change notification settings

medusa-ui/hydra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐲 Hydra

Combine Medusa with Hydra for modularity.

Documentation Badge Codacy Badge

The goal of Hydra is to be an entry point gateway proxy that allows you to deploy frontends modularly. It is a ready-for-use combination of a gateway with service discovery, load balancing, and JWT security. It uses proven frameworks like Spring Cloud Gateway and Service Discovery behind the scenes but streamlines their setup.

Hydra demo video


Concept documentation: https://medusa-ui.gitbook.io/docs/hydra/concept


Running the sample implementation locally

If you wish to use the Postgres sample implementation, set up a local postgres (https://www.postgresql.org/download/).

If neccesary, update values in the application.yml.

spring:
  r2dbc:
    url: "r2dbc:postgresql://localhost:5432/local_example"
    username: postgres
    password: pass123

We're using a reactive DB driver here, hence the r2dbc. Specific implementation is up to your discretion.

Then in the database, we need one table - to match with the user records:

CREATE TABLE public.hydra_user(
    id serial primary key,
    encoded_password text NOT NULL,
    username text NOT NULL,
    roles text NOT NULL DEFAULT ''::text,
    account_expired boolean NOT NULL DEFAULT false,
    account_locked boolean NOT NULL DEFAULT false,
    credentials_expired boolean NOT NULL DEFAULT false,
    enabled boolean NOT NULL DEFAULT true
);

No need to set up users yourself, the sample implementation adds a default user for you to use (and login form will be pre-filled with its credentials).

About

Entry point gateway proxy that allows you to deploy frontends modularly

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 4

  •  
  •  
  •  
  •