A simple application for exploring multi-tenancy concepts. This repository serves the purpose of setup and configuration. See Project repositories chapter for links to implementation repositories.
Contains a full environment setup for three tenant environments, accessible by different domains, secured by respective Keycloak realms.
- Running on local machine
- Pre-configured realms in Keycloak
- Pre-configured users in Keycloak
- Project repositories
- Trivia
The setup requires ports :80
and :27017
to be available for HTTP server and MongoDB.
Proper fake-domains must be configured within /ets/hosts
.
127.0.0.1 dbadmin.example.com
127.0.0.1 mailbox.example.com
127.0.0.1 sso.example.com
127.0.0.1 galaxy.articles.example.com
127.0.0.1 marvel.articles.example.com
127.0.0.1 shire.articles.example.com
Docker images of articles-backend
and articles-webapp
are
not available on any public Docker registry. Build these manually, following the instructions from
respective README.md
files.
The environment can be launched via docker-compose.yaml
.
$ docker-compose up -d
Note, that some services might require restart, due to them not waiting for successful launch of the dependencies.
By browsing any of above-mentioned domains (make sure to use an unsecured http://
schema), a
proper HTTP service should be accessed.
realm | application | account | admin console |
---|---|---|---|
master |
link | link | link |
galaxy |
link | link | link |
marvel |
link | link | link |
shire |
link | link | link |
realm | username | e-mail address | password | realm admin |
---|---|---|---|---|
master |
truth |
truth@example.com |
qq |
full |
galaxy |
n/a | obiwan.kenobi@example.com |
qq |
|
galaxy |
n/a | palpatine@example.com |
qq |
full |
galaxy |
n/a | skywalker@example.com |
qq |
|
galaxy |
n/a | yoda@example.com |
qq |
|
marvel |
n/a | banner@example.com |
qq |
|
marvel |
n/a | rogers@example.com |
qq |
limited |
marvel |
n/a | spiderman@example.com |
qq |
|
marvel |
n/a | stark@example.com |
qq |
full |
marvel |
n/a | thor@example.com |
qq |
|
shire |
n/a | frodo@example.com |
qq |
full |
shire |
n/a | merry@example.com |
qq |
|
shire |
n/a | pipin@example.com |
qq |
|
shire |
n/a | samwise@example.com |
qq |
articles-app
, which holds Docker environment setup.articles-backend
, which holds backend application.articles-webapp
, which holds frontend application.
- Note, that all UUIDs, passwords and other secrets are random.