Skip to content

Commit 8b8b88b

Browse files
authored
Feature/optional tls hosted mode (#184)
* Added hosted mode docker compose file with keycloak without TLS * Some changes in the hosted mode docker * Removed a system config variable JWT_COOKIE_NAME and token info endpoint * Removed endpoint configuration from connection manager logic * Implemented oAuth validation for spec API inbound requests * Some improvements * Added keycloak system config * Implemented overidable system configuration * Changed some default values in system_config * Refined hosted mode docker compose file * Fixed unit tests * Ignored the files in upload folder for git * Reorganized the test files * Added unit tests * Bumped up the versions and postponed the audits * Added header * Rename keycloakHelper.js to KeycloakHelper.js * Disabled hosting mode by default * Add a unit test * Fixed an issue with iteration runner * Added documentation for hosted mode with docker-compose * minor change
1 parent 4c24ab9 commit 8b8b88b

36 files changed

+4911
-436
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,5 @@ spec_files/rules_validation/*
9696
spec_files/rules_response/*
9797
!spec_files/rules_response/config.json
9898
!spec_files/rules_response/default.json
99+
100+
uploads/*
71.5 KB
Loading

audit-resolve.json

Lines changed: 869 additions & 105 deletions
Large diffs are not rendered by default.

database/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: "3.7"
22

33
services:
4-
mojaloop-testing-toolkit-db:
4+
ttk-mongodb:
55
image: mongo:latest
66
# Disable logging as it is far too verbose for debugging locally
77
logging:

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: "3.7"
22

33
services:
44
mojaloop-testing-toolkit:
5-
image: mojaloop/ml-testing-toolkit:v13.3.0
5+
image: mojaloop/ml-testing-toolkit:v13.4.0
66
#image: mojaloop-testing-toolkit:local
77
#build:
88
# context: .
@@ -18,7 +18,7 @@ services:
1818
- -c
1919
- "npm start"
2020
mojaloop-testing-toolkit-ui:
21-
image: mojaloop/ml-testing-toolkit-ui:v13.3.0
21+
image: mojaloop/ml-testing-toolkit-ui:v13.4.0
2222
ports:
2323
- "6060:6060"
2424
environment:
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
version: '3.7'
2+
3+
volumes:
4+
mysql_data:
5+
driver: local
6+
ttk-db-data:
7+
driver: local
8+
9+
services:
10+
mojaloop-testing-toolkit:
11+
image: mojaloop/ml-testing-toolkit:v13.4.0
12+
# image: mojaloop-testing-toolkit:local
13+
# build:
14+
# context: .
15+
# target: builder
16+
volumes:
17+
- "../../spec_files:/opt/mojaloop-testing-toolkit/spec_files"
18+
ports:
19+
- "5000:5000"
20+
- "5050:5050"
21+
environment:
22+
TTK_SYSTEM_CONFIG: |-
23+
{
24+
"HOSTING_ENABLED": true,
25+
"DB": {
26+
"URI": "mongodb://ttk:ttk@ttk-mongodb:27017/ttk"
27+
},
28+
"OAUTH": {
29+
"AUTH_ENABLED": true,
30+
"APP_OAUTH_CLIENT_KEY": "ttk",
31+
"APP_OAUTH_CLIENT_SECRET": "23b898a5-63d2-4055-bbe1-54efcda37e7d",
32+
"OAUTH2_TOKEN_ISS": "http://keycloak:8080/auth/realms/testingtoolkit",
33+
"OAUTH2_ISSUER": "http://keycloak:8080/auth/realms/testingtoolkit/protocol/openid-connect/token",
34+
"EMBEDDED_CERTIFICATE": "-----BEGIN CERTIFICATE-----\nMIICrDCCAhWgAwIBAgIUBQ88qYAqQ1+I+ISsaIgYPqbya9QwDQYJKoZIhvcNAQEL\nBQAwaDELMAkGA1UEBhMCVUsxDzANBgNVBAgMBkxvbmRvbjEPMA0GA1UEBwwGTG9u\nZG9uMREwDwYDVQQKDAhNb2R1c2JveDERMA8GA1UECwwITW9kdXNib3gxETAPBgNV\nBAMMCE1vZHVzYm94MB4XDTIwMDkzMDE3MDYwNloXDTIxMDkzMDE3MDYwNlowaDEL\nMAkGA1UEBhMCVUsxDzANBgNVBAgMBkxvbmRvbjEPMA0GA1UEBwwGTG9uZG9uMREw\nDwYDVQQKDAhNb2R1c2JveDERMA8GA1UECwwITW9kdXNib3gxETAPBgNVBAMMCE1v\nZHVzYm94MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDda1T6cyWogfG/xlUb\n3+gWZI0jsnlSGbf3PF89NCgS+n6HUJ0A2Ezmu/n9Gfkm8Rjyst914Vq9ebsueXHI\nc+Ad76+q3MASF1hRUTfnvH/v6rDguPvI6Jb/M9jGn5b2hglcg3B9Y7Tgv70bcV7o\nCweP68CPbIrTWjR9gyjmSHfYhwIDAQABo1MwUTAdBgNVHQ4EFgQUEE+og3aDjUzC\nywQo45Fhjp5S9EowHwYDVR0jBBgwFoAUEE+og3aDjUzCywQo45Fhjp5S9EowDwYD\nVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQC2a7sxisCTQa9oRGMZRmJs\nFMZjia126qlRYm6ljjM2wWlqIBdxjzLhLJbAiWMyzGKTZdMOG51Ujc+NapKRLS4K\nHVnzcbtgRNq6GZk5C1L8BEzR6NxU/CdOkm2Vx811CTOT/YijpjtjF01K1aIZE+z8\nmdzyVY9ZybXqbNclLU7rwA==\n-----END CERTIFICATE-----"
35+
},
36+
"KEYCLOAK": {
37+
"ENABLED": true,
38+
"API_URL": "http://keycloak:8080"
39+
}
40+
}
41+
command:
42+
- sh
43+
- -c
44+
- "npm start"
45+
depends_on:
46+
- ttk-mongodb
47+
mojaloop-testing-toolkit-ui:
48+
image: mojaloop/ml-testing-toolkit-ui:v13.4.0
49+
ports:
50+
- "6060:6060"
51+
environment:
52+
- API_BASE_URL=http://localhost:5050
53+
- AUTH_ENABLED=TRUE
54+
command:
55+
- sh
56+
- /usr/share/nginx/start.sh
57+
58+
keycloak-mysql:
59+
image: mysql:5.7
60+
volumes:
61+
- mysql_data:/var/lib/mysql
62+
environment:
63+
MYSQL_ROOT_PASSWORD: root
64+
MYSQL_DATABASE: keycloak
65+
MYSQL_USER: keycloak
66+
MYSQL_PASSWORD: password
67+
keycloak:
68+
image: quay.io/keycloak/keycloak:latest
69+
volumes:
70+
- "./keycloak/keycloak-realm.json:/realm/realm.json"
71+
environment:
72+
DB_VENDOR: MYSQL
73+
DB_ADDR: keycloak-mysql
74+
DB_DATABASE: keycloak
75+
DB_USER: keycloak
76+
DB_PASSWORD: password
77+
KEYCLOAK_USER: admin
78+
KEYCLOAK_PASSWORD: admin
79+
KEYCLOAK_IMPORT: /realm/realm.json -Dkeycloak.profile.feature.upload_scripts=enabled
80+
ports:
81+
- 8080:8080
82+
depends_on:
83+
- keycloak-mysql
84+
85+
ttk-mongodb:
86+
image: 'bitnami/mongodb:latest'
87+
restart: always
88+
environment:
89+
# MONGO_INITDB_ROOT_USERNAME: admin-user
90+
# MONGO_INITDB_ROOT_PASSWORD: admin-password
91+
# MONGO_INITDB_DATABASE: ttk
92+
MONGODB_USERNAME: ttk
93+
MONGODB_PASSWORD: ttk
94+
MONGODB_DATABASE: ttk
95+
ports:
96+
- 27017:27017
97+
volumes:
98+
- ttk-db-data:/data/db
99+
# - ./mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh
100+
101+
networks:
102+
default:
103+
name: mojaloop-testing-toolkit

0 commit comments

Comments
 (0)