Skip to content

Commit af8a453

Browse files
authored
Merge pull request #207 from 0xfurai/feature/ha
Feature/ha
2 parents b3e169e + ca541be commit af8a453

File tree

387 files changed

+11736
-2611
lines changed

Some content is hidden

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

387 files changed

+11736
-2611
lines changed

.env.dev.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,7 @@ MODE=dev # logging
1212
TZ="America/New_York"
1313

1414

15+
REDIS_HOST="localhost"
16+
REDIS_PORT=6381
17+
REDIS_PASSWORD=""
18+
REDIS_DB=0

.env.prod.example

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
DB_USER=root
22
DB_PASS=password
33
DB_NAME=peekaping
4-
DB_HOST=localhost
4+
DB_HOST=database
55
# DB_PORT=27017
66
# DB_TYPE=mongo
77

@@ -11,4 +11,7 @@ CLIENT_URL="http://localhost:5173"
1111
MODE=prod # logging
1212
TZ="America/New_York"
1313

14-
14+
REDIS_HOST="redis"
15+
REDIS_PORT=6379
16+
REDIS_PASSWORD=""
17+
REDIS_DB=0

.github/workflows/playwright-reusable.yml

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,39 @@ jobs:
3535

3636
# prepare services
3737
- name: Create .env file
38-
run: cp .env.prod.example .env
38+
run: |
39+
cat > .env << EOF
40+
# Database Configuration
41+
DB_TYPE=${{ matrix.database }}
42+
DB_HOST=database
43+
DB_PORT=${{ matrix.database == 'postgres' && '5432' || matrix.database == 'mongo' && '27017' }}
44+
DB_NAME=${{ matrix.database == 'sqlite' && '/app/data/peekaping.db' || 'peekaping' }}
45+
DB_USER=${{ matrix.database == 'postgres' && 'peekaping' || matrix.database == 'mongo' && 'root' || 'root' }}
46+
DB_PASS=password
47+
48+
REDIS_HOST="redis"
49+
REDIS_PORT=6379
50+
REDIS_PASSWORD=""
51+
REDIS_DB=0
52+
53+
# Server Configuration
54+
CLIENT_URL=http://localhost:8383
55+
SERVER_PORT=8034
56+
BUNDEBUG=2
57+
MODE=prod # logging
58+
TZ="America/New_York"
59+
EOF
3960
4061
- name: Update docker-compose file with container tag
4162
run: |
4263
# Create a temporary docker-compose file with the specified container tag
4364
cp docker-compose.prod.${{ matrix.database }}.yml docker-compose.test.${{ matrix.database }}.yml
4465
4566
# Replace container tags with the specified version
46-
sed -i 's|0xfurai/peekaping-server:latest|0xfurai/peekaping-server:${{ inputs.container-tag }}|g' docker-compose.test.${{ matrix.database }}.yml
67+
sed -i 's|0xfurai/peekaping-api:latest|0xfurai/peekaping-api:${{ inputs.container-tag }}|g' docker-compose.test.${{ matrix.database }}.yml
68+
sed -i 's|0xfurai/peekaping-producer:latest|0xfurai/peekaping-producer:${{ inputs.container-tag }}|g' docker-compose.test.${{ matrix.database }}.yml
69+
sed -i 's|0xfurai/peekaping-worker:latest|0xfurai/peekaping-worker:${{ inputs.container-tag }}|g' docker-compose.test.${{ matrix.database }}.yml
70+
sed -i 's|0xfurai/peekaping-ingester:latest|0xfurai/peekaping-ingester:${{ inputs.container-tag }}|g' docker-compose.test.${{ matrix.database }}.yml
4771
sed -i 's|0xfurai/peekaping-web:latest|0xfurai/peekaping-web:${{ inputs.container-tag }}|g' docker-compose.test.${{ matrix.database }}.yml
4872
sed -i 's|0xfurai/peekaping-migrate:latest|0xfurai/peekaping-migrate:${{ inputs.container-tag }}|g' docker-compose.test.${{ matrix.database }}.yml
4973
@@ -59,7 +83,10 @@ jobs:
5983
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs
6084
echo "=== Individual Service Logs ==="
6185
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs migrate || echo "No migrate service logs"
62-
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs server || echo "No server service logs"
86+
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs api || echo "No api service logs"
87+
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs producer || echo "No producer service logs"
88+
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs worker || echo "No worker service logs"
89+
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs ingester || echo "No ingester service logs"
6390
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs web || echo "No web service logs"
6491
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs gateway || echo "No gateway service logs"
6592
exit 1
@@ -87,8 +114,16 @@ jobs:
87114
sleep 5
88115
echo "=== Container Status ==="
89116
docker compose -f docker-compose.test.${{ matrix.database }}.yml ps
90-
echo "=== Server Logs ==="
91-
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs server
117+
echo "=== API Logs ==="
118+
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs api
119+
echo "=== Producer Logs ==="
120+
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs producer
121+
echo "=== Worker Logs ==="
122+
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs worker
123+
echo "=== Ingester Logs ==="
124+
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs ingester
125+
echo "=== Web Logs ==="
126+
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs web
92127
echo "=== Gateway Logs ==="
93128
docker compose -f docker-compose.test.${{ matrix.database }}.yml logs gateway
94129
@@ -229,7 +264,7 @@ jobs:
229264
echo "=== Container Processes ==="
230265
docker exec peekaping-bundle-test-${{ matrix.database }} ps aux || echo "Could not list processes"
231266
echo "=== Testing internal connectivity ==="
232-
docker exec peekaping-bundle-test-${{ matrix.database }} nc -zv localhost 8034 || echo "Go server not responding on port 8034"
267+
docker exec peekaping-bundle-test-${{ matrix.database }} nc -zv localhost 8034 || echo "Go api not responding on port 8034"
233268
234269
- name: Wait for bundle service to be ready
235270
run: |
@@ -270,7 +305,7 @@ jobs:
270305
echo "=== Final Container Processes ==="
271306
docker exec peekaping-bundle-test-${{ matrix.database }} ps aux || echo "Could not list processes"
272307
echo "=== Final internal connectivity test ==="
273-
docker exec peekaping-bundle-test-${{ matrix.database }} nc -zv localhost 8034 || echo "Go server not responding on port 8034"
308+
docker exec peekaping-bundle-test-${{ matrix.database }} nc -zv localhost 8034 || echo "Go api not responding on port 8034"
274309
275310
- name: Stop bundle container
276311
if: always()

.github/workflows/playwright.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,17 @@ jobs:
4343
cat > .env << EOF
4444
# Database Configuration
4545
DB_TYPE=${{ matrix.database }}
46-
DB_HOST=localhost
47-
DB_PORT=${{ matrix.database == 'postgres' && '5433' || matrix.database == 'mongo' && '27018' }}
46+
DB_HOST=database
47+
DB_PORT=${{ matrix.database == 'postgres' && '5432' || matrix.database == 'mongo' && '27017' }}
4848
DB_NAME=${{ matrix.database == 'sqlite' && '/app/data/peekaping.db' || 'peekaping' }}
4949
DB_USER=${{ matrix.database == 'postgres' && 'peekaping' || matrix.database == 'mongo' && 'root' || 'root' }}
5050
DB_PASS=password
5151
52+
REDIS_HOST="redis"
53+
REDIS_PORT=6379
54+
REDIS_PASSWORD=""
55+
REDIS_DB=0
56+
5257
# Server Configuration
5358
CLIENT_URL=http://localhost:8383
5459
SERVER_PORT=8034

0 commit comments

Comments
 (0)