Skip to content

Commit 20bf2f1

Browse files
authored
Feature/fix hostedmode tls (#192)
* Fixed an issue with keycloak users list * Refactored TLS settings * Added docker compose file for hosted mode TLS * Fixed an issue with api provisioning * Fixed TLS in hosted mode and refactored the certificates generation scripts * Fixed some unit tests * Added initial draft version of fx api with a sample callback map * Fixed unit tests * Fixed unit tests * Bumped up the version * Fixed some audit issues and upgraded ml-ttk-shared-lib * Postponed few audits
1 parent 88aaa78 commit 20bf2f1

File tree

103 files changed

+9804
-7871
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+9804
-7871
lines changed

audit-resolve.json

Lines changed: 12 additions & 1768 deletions
Large diffs are not rendered by default.

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.5.2
5+
image: mojaloop/ml-testing-toolkit:v14.0.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.5.3
21+
image: mojaloop/ml-testing-toolkit-ui:v13.5.4
2222
ports:
2323
- "6060:6060"
2424
environment:
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
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:v14.0.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+
- "../../secrets:/opt/mojaloop-testing-toolkit/secrets"
19+
ports:
20+
- "5000:5000"
21+
- "5050:5050"
22+
environment:
23+
TTK_SYSTEM_CONFIG: |-
24+
{
25+
"HOSTING_ENABLED": true,
26+
"INBOUND_MUTUAL_TLS_ENABLED": true,
27+
"OUTBOUND_MUTUAL_TLS_ENABLED": true,
28+
"DB": {
29+
"URI": "mongodb://ttk:ttk@ttk-mongodb:27017/ttk"
30+
},
31+
"OAUTH": {
32+
"AUTH_ENABLED": true,
33+
"APP_OAUTH_CLIENT_KEY": "ttk",
34+
"APP_OAUTH_CLIENT_SECRET": "23b898a5-63d2-4055-bbe1-54efcda37e7d",
35+
"OAUTH2_TOKEN_ISS": "http://keycloak:8080/auth/realms/testingtoolkit",
36+
"OAUTH2_ISSUER": "http://keycloak:8080/auth/realms/testingtoolkit/protocol/openid-connect/token",
37+
"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-----"
38+
},
39+
"KEYCLOAK": {
40+
"ENABLED": true,
41+
"API_URL": "http://keycloak:8080"
42+
},
43+
"CONNECTION_MANAGER": {
44+
"ENABLED": true,
45+
"API_URL": "http://connection-manager-api:5061",
46+
"AUTH_ENABLED": true,
47+
"HUB_USERNAME": "hub",
48+
"HUB_PASSWORD": "hub"
49+
}
50+
}
51+
command:
52+
- sh
53+
- -c
54+
- "npm start"
55+
depends_on:
56+
- ttk-mongodb
57+
58+
mojaloop-testing-toolkit-ui:
59+
image: mojaloop/ml-testing-toolkit-ui:v13.5.4
60+
ports:
61+
- "6060:6060"
62+
environment:
63+
- API_BASE_URL=http://localhost:5050
64+
- AUTH_ENABLED=TRUE
65+
command:
66+
- sh
67+
- /usr/share/nginx/start.sh
68+
69+
keycloak-mysql:
70+
image: mysql:5.7
71+
volumes:
72+
- mysql_data:/var/lib/mysql
73+
environment:
74+
MYSQL_ROOT_PASSWORD: root
75+
MYSQL_DATABASE: keycloak
76+
MYSQL_USER: keycloak
77+
MYSQL_PASSWORD: password
78+
keycloak:
79+
image: quay.io/keycloak/keycloak:latest
80+
volumes:
81+
- "./keycloak/keycloak-realm.json:/realm/realm.json"
82+
- "../../secrets/tls/hub_server_cert.pem:/etc/x509/https/tls.crt"
83+
- "../../secrets/tls/hub_server_key.key:/etc/x509/https/tls.key"
84+
environment:
85+
DB_VENDOR: MYSQL
86+
DB_ADDR: keycloak-mysql
87+
DB_DATABASE: keycloak
88+
DB_USER: keycloak
89+
DB_PASSWORD: password
90+
KEYCLOAK_USER: admin
91+
KEYCLOAK_PASSWORD: admin
92+
KEYCLOAK_IMPORT: /realm/realm.json -Dkeycloak.profile.feature.upload_scripts=enabled
93+
ports:
94+
- 8080:8080
95+
- 8443:8443
96+
depends_on:
97+
- keycloak-mysql
98+
99+
ttk-mongodb:
100+
image: 'bitnami/mongodb:latest'
101+
restart: always
102+
environment:
103+
# MONGO_INITDB_ROOT_USERNAME: admin-user
104+
# MONGO_INITDB_ROOT_PASSWORD: admin-password
105+
# MONGO_INITDB_DATABASE: ttk
106+
MONGODB_USERNAME: ttk
107+
MONGODB_PASSWORD: ttk
108+
MONGODB_DATABASE: ttk
109+
ports:
110+
- 27017:27017
111+
volumes:
112+
- ttk-db-data:/data/db
113+
# - ./mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh
114+
115+
## TLS related services
116+
connection-manager-db:
117+
# Using mariadb because mysql doesn't show any helpful error when docker disk is full as per https://github.com/docker-library/mysql/issues/69
118+
image: mariadb
119+
hostname: connection-manager-db
120+
environment:
121+
- MYSQL_ROOT_PASSWORD=modus123
122+
- MYSQL_DATABASE=mcm
123+
- MYSQL_USER=mcm
124+
- MYSQL_PASSWORD=mcm
125+
restart: always
126+
command: mysqld --lower_case_table_names=1 --skip-ssl --character_set_server=utf8mb4 --explicit_defaults_for_timestamp
127+
connection-manager-api:
128+
image: modusbox/connection-manager-api:1.5.3
129+
hostname: connection-manager-api
130+
environment:
131+
- DATABASE_HOST=connection-manager-db
132+
- DATABASE_PORT=3306
133+
- DATABASE_USER=mcm
134+
- DATABASE_PASSWORD=mcm
135+
- DATABASE_SCHEMA=mcm
136+
- MYSQL_ROOT_PASSWORD=modus123
137+
- PORT=5061
138+
- P12_PASS_PHRASE='SOME_S3C4R3_P@SS'
139+
- OAUTH2_ISSUER=http://keycloak:8080/auth/realms/testingtoolkit/protocol/openid-connect/token
140+
- OAUTH2_TOKEN_ISS=http://keycloak:8080/auth/realms/testingtoolkit
141+
- AUTH_ENABLED="TRUE"
142+
- APP_OAUTH_CLIENT_KEY=ttk
143+
- APP_OAUTH_CLIENT_SECRET=23b898a5-63d2-4055-bbe1-54efcda37e7d
144+
- 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-----"
145+
tty: true
146+
stdin_open: true
147+
ports:
148+
- "9091:5061"
149+
restart: always
150+
depends_on:
151+
- connection-manager-db
152+
connection-manager-ui:
153+
image: modusbox/connection-manager-ui:1.6.9
154+
hostname: connection-manager-ui
155+
environment:
156+
- API_BASE_URL=http://localhost:9091
157+
- AUTH_ENABLED="TRUE"
158+
tty: true
159+
stdin_open: true
160+
ports:
161+
- "9090:8080"
162+
restart: always
163+
164+
165+
networks:
166+
default:
167+
name: mojaloop-testing-toolkit

0 commit comments

Comments
 (0)