Skip to content

Commit 12ae3ef

Browse files
fix(docker): dev docker compose + kratos configuration (#1429)
* fix(docker): dev docker compose + kratos configuration * feat: upgrade to alpha 14 --------- Co-authored-by: dragosp1011 <[email protected]>
1 parent 0acba60 commit 12ae3ef

17 files changed

+203
-178
lines changed

docker/dbinit.sql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ ALTER DATABASE wallet_backend OWNER TO wallet_backend;
1313
CREATE USER boutique_backend WITH PASSWORD 'boutique_backend';
1414
CREATE DATABASE boutique_backend;
1515
ALTER DATABASE boutique_backend OWNER TO boutique_backend;
16+
17+
CREATE USER kratos WITH PASSWORD 'kratos';
18+
CREATE DATABASE kratos;
19+
ALTER DATABASE kratos OWNER TO kratos;

docker/dev/docker-compose.yml

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ services:
5050
AUTH_IDENTITY_SERVER_SECRET: ${AUTH_IDENTITY_SERVER_SECRET}
5151
SENDGRID_API_KEY: ${SENDGRID_API_KEY}
5252
FROM_EMAIL: ${FROM_EMAIL}
53-
SEND_EMAIL: ${SEND_EMAIL}
53+
SEND_EMAIL: ${SEND_EMAIL:-false}
5454
RATE_API_KEY: ${RATE_API_KEY}
5555
BASE_ASSET_SCALE: 2
5656
MAX_ASSET_SCALE: 9
@@ -90,7 +90,7 @@ services:
9090
# Rafiki
9191
rafiki-auth:
9292
container_name: rafiki-auth
93-
image: ghcr.io/interledger/rafiki-auth:v1.0.0-alpha.13
93+
image: ghcr.io/interledger/rafiki-auth:v1.0.0-alpha.14
9494
restart: always
9595
networks:
9696
- testnet
@@ -105,8 +105,8 @@ services:
105105
AUTH_SERVER_URL: http://localhost:3006
106106
AUTH_DATABASE_URL: postgresql://rafiki_auth:rafiki_auth@postgres/rafiki_auth
107107
IDENTITY_SERVER_URL: http://localhost:4003/grant-interactions
108-
IDENTITY_SERVER_SECRET: ${AUTH_IDENTITY_SERVER_SECRET}
109-
COOKIE_KEY: ${AUTH_COOKIE_KEY}
108+
IDENTITY_SERVER_SECRET: ${AUTH_IDENTITY_SERVER_SECRET:-327132b5-99e9-4eb8-8a25-2b7d7738ece1}
109+
COOKIE_KEY: ${AUTH_COOKIE_KEY:-8fd398393c47dd27a3167d9c081c094f}
110110
WAIT_SECONDS: 1
111111
REDIS_URL: redis://redis:6379/0
112112
depends_on:
@@ -115,7 +115,7 @@ services:
115115

116116
rafiki-backend:
117117
container_name: rafiki-backend
118-
image: ghcr.io/interledger/rafiki-backend:v1.0.0-alpha.13
118+
image: ghcr.io/interledger/rafiki-backend:v1.0.0-alpha.14
119119
restart: always
120120
privileged: true
121121
volumes:
@@ -141,6 +141,7 @@ services:
141141
AUTH_SERVER_GRANT_URL: http://rafiki-auth:3006
142142
AUTH_SERVER_INTROSPECTION_URL: http://rafiki-auth:3007
143143
ILP_ADDRESS: test.net
144+
ILP_CONNECTOR_URL: http://127.0.0.1:3002
144145
STREAM_SECRET: BjPXtnd00G2mRQwP/8ZpwyZASOch5sUXT5o0iR5b5wU=
145146
ADMIN_KEY: admin
146147
OPEN_PAYMENTS_URL: http://rafiki-backend
@@ -154,14 +155,15 @@ services:
154155
AUTO_PEERING_SERVER_PORT: 3005
155156
INSTANCE_NAME: 'Testnet Wallet'
156157
SLIPPAGE: 0.01
158+
KEY_ID: rafiki
157159
depends_on:
158160
- postgres
159161
- redis
160162
<<: *logging
161163

162164
rafiki-frontend:
163165
container_name: rafiki-frontend
164-
image: ghcr.io/interledger/rafiki-frontend:v1.0.0-alpha.13
166+
image: ghcr.io/interledger/rafiki-frontend:v1.0.0-alpha.14
165167
depends_on:
166168
- rafiki-backend
167169
restart: always
@@ -174,8 +176,28 @@ services:
174176
PORT: 3012
175177
GRAPHQL_URL: http://rafiki-backend:3001/graphql
176178
OPEN_PAYMENTS_URL: https://rafiki-backend/
179+
ENABLE_INSECURE_MESSAGE_COOKIE: true
180+
KRATOS_CONTAINER_PUBLIC_URL: 'http://kratos:4433'
181+
KRATOS_BROWSER_PUBLIC_URL: 'http://localhost:4433'
182+
KRATOS_ADMIN_URL: 'http://kratos:4434/admin'
177183
<<: *logging
178184

185+
kratos:
186+
image: 'oryd/kratos:v0.13.0'
187+
privileged: true
188+
depends_on:
189+
- postgres
190+
- mailslurper
191+
ports:
192+
- '4433:4433'
193+
volumes:
194+
- ../entrypoint.sh:/entrypoint.sh
195+
- ../identity.schema.json:/etc/config/kratos/identity.schema.json
196+
- ./kratos.yml:/etc/config/kratos/kratos.yml
197+
entrypoint: ['/entrypoint.sh']
198+
networks:
199+
- testnet
200+
179201
tigerbeetle:
180202
image: ghcr.io/tigerbeetle/tigerbeetle:0.15.3
181203
privileged: true
@@ -208,6 +230,14 @@ services:
208230
networks:
209231
- testnet
210232

233+
mailslurper:
234+
image: oryd/mailslurper:latest-smtps
235+
ports:
236+
- '4436:4436'
237+
- '4437:4437'
238+
networks:
239+
- testnet
240+
211241
networks:
212242
testnet:
213243
driver: bridge

docker/dev/kratos.yml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
version: v0.13.0
2+
3+
dsn: postgres://cloud_nine_kratos:kratos_password@shared-database:5432/cloud_nine_kratos?sslmode=disable&max_conns=20&max_idle_conns=4
4+
5+
serve:
6+
public:
7+
base_url: http://localhost:4433/
8+
cors:
9+
enabled: true
10+
admin:
11+
base_url: http://kratos:4434/
12+
13+
selfservice:
14+
default_browser_return_url: http://localhost:3010/
15+
allowed_return_urls:
16+
- http://localhost:3010
17+
18+
methods:
19+
link:
20+
config:
21+
lifespan: 1h
22+
base_url: http://localhost:4433
23+
enabled: true
24+
password:
25+
enabled: true
26+
27+
flows:
28+
error:
29+
ui_url: http://localhost:3010/error
30+
31+
settings:
32+
ui_url: http://localhost:3010/settings
33+
privileged_session_max_age: 15m
34+
required_aal: highest_available
35+
36+
recovery:
37+
enabled: true
38+
ui_url: http://localhost:3010/auth/recovery
39+
use: link
40+
after:
41+
hooks:
42+
- hook: revoke_active_sessions
43+
44+
verification:
45+
enabled: false
46+
47+
logout:
48+
after:
49+
default_browser_return_url: http://localhost:3010/auth
50+
51+
login:
52+
ui_url: http://localhost:3010/auth/login
53+
lifespan: 10m
54+
55+
registration:
56+
enabled: false
57+
58+
log:
59+
level: debug
60+
format: json
61+
leak_sensitive_values: true
62+
63+
secrets:
64+
cookie:
65+
- PLEASE-CHANGE-ME-I-AM-VERY-INSECURE
66+
cipher:
67+
- 32-LONG-SECRET-NOT-SECURE-AT-ALL
68+
69+
ciphers:
70+
algorithm: xchacha20-poly1305
71+
72+
hashers:
73+
algorithm: bcrypt
74+
bcrypt:
75+
cost: 8
76+
77+
identity:
78+
schemas:
79+
- id: default
80+
url: file:///etc/config/kratos/identity.schema.json
81+
82+
courier:
83+
smtp:
84+
connection_uri: smtps://test:test@mailslurper:1025/?skip_ssl_verify=true
85+
86+
session:
87+
lifespan: 1h
88+
cookie:
89+
persistent: false
90+
same_site: Strict
91+
path: /
File renamed without changes.
File renamed without changes.

docker/prod/docker-compose.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ services:
119119
<<: *logging
120120

121121
rafiki-auth:
122-
image: ghcr.io/interledger/rafiki-auth:v1.0.0-alpha.13
122+
image: ghcr.io/interledger/rafiki-auth:v1.0.0-alpha.14
123123
container_name: rafiki-auth
124124
environment:
125125
NODE_ENV: ${NODE_ENV}
@@ -145,7 +145,7 @@ services:
145145
<<: *logging
146146

147147
rafiki-backend:
148-
image: ghcr.io/interledger/rafiki-backend:v1.0.0-alpha.13
148+
image: ghcr.io/interledger/rafiki-backend:v1.0.0-alpha.14
149149
container_name: rafiki-backend
150150
depends_on:
151151
- postgres
@@ -214,7 +214,7 @@ services:
214214
<<: *logging
215215

216216
rafiki-frontend:
217-
image: ghcr.io/interledger/rafiki-frontend:v1.0.0-alpha.13
217+
image: ghcr.io/interledger/rafiki-frontend:v1.0.0-alpha.14
218218
container_name: rafiki-frontend
219219
depends_on:
220220
- rafiki-backend
@@ -271,8 +271,8 @@ services:
271271
ports:
272272
- '4433:4433'
273273
volumes:
274-
- ./entrypoint.sh:/entrypoint.sh
275-
- ./identity.schema.json:/etc/config/kratos/identity.schema.json
274+
- ../entrypoint.sh:/entrypoint.sh
275+
- ../identity.schema.json:/etc/config/kratos/identity.schema.json
276276
- ./kratos.yml:/etc/config/kratos/kratos.yml
277277
entrypoint: ['/entrypoint.sh']
278278
networks:

packages/wallet/backend/src/createContainer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ export async function createContainer(
114114
authGraphQLClient: asFunction(createAuthGraphQLClient).singleton(),
115115
rapydClient: asClassSingletonWithLogger(RapydClient, logger),
116116
rapydService: asClass(RapydService).singleton(),
117-
rafikiClient: asClassSingletonWithLogger(RafikiClient, logger).singleton(),
117+
rafikiClient: asClass(RafikiClient).singleton(),
118118
rafikiAuthService: asClass(RafikiAuthService).singleton(),
119119
accountService: asClass(AccountService).singleton(),
120120
ratesService: asClass(RatesService).singleton(),

0 commit comments

Comments
 (0)