chore(nomgap): finalize product deployment config
What changed: - Remove nomgap-web from the ecosystem Docker stack now that web is Vercel-hosted. - Add a TODO for deciding whether local Docker smoke tests still need a NomGap web service. - Update NomGap product containers and feature flags. - Seed the NomGap push trigger flag without duplicating the common encryption flag. Safety notes: - Dropped unrelated pnpm-lock.yaml formatting churn instead of committing it. Verification: - node JSON.parse products/nomgap/product.json - ruby Psych.safe_load docker-compose.ecosystem.yml - pnpm --filter @bytelyst/admin-web typecheck - pnpm --filter @bytelyst/admin-web test - pnpm --filter @bytelyst/admin-web exec eslint . --ext .ts,.tsx - pnpm --filter @lysnrai/platform-service build - pnpm --filter @lysnrai/platform-service test - pnpm --filter @lysnrai/platform-service exec eslint . --ext .ts,.tsx - pnpm typecheck - pnpm lint
This commit is contained in:
parent
4052e9a2af
commit
b4403300fa
@ -24,7 +24,7 @@
|
|||||||
# notelett 4016, flowmonk 4017, actiontrail 4018,
|
# notelett 4016, flowmonk 4017, actiontrail 4018,
|
||||||
# localmemgpt 4019, efforise 4020
|
# localmemgpt 4019, efforise 4020
|
||||||
# Product webs: chronomind 3030, jarvisjr 3035, flowmonk 3040,
|
# Product webs: chronomind 3030, jarvisjr 3035, flowmonk 3040,
|
||||||
# notelett 3045, mindlyst 3050, nomgap 3055,
|
# notelett 3045, mindlyst 3050, nomgap on Vercel,
|
||||||
# actiontrail 3060, localmemgpt 3070, lysnrai 3002,
|
# actiontrail 3060, localmemgpt 3070, lysnrai 3002,
|
||||||
# efforise 3080
|
# efforise 3080
|
||||||
|
|
||||||
@ -783,31 +783,9 @@ services:
|
|||||||
retries: 3
|
retries: 3
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
nomgap-web:
|
# TODO(nomgap): Decide whether local Docker smoke tests still need a web
|
||||||
build:
|
# service once the Vercel deployment path is fully documented.
|
||||||
<<: *product-build
|
# nomgap-web: deployed to Vercel; not part of this Docker stack.
|
||||||
context: ../learning_ai_fastgap
|
|
||||||
dockerfile: web/Dockerfile
|
|
||||||
args:
|
|
||||||
GITEA_NPM_HOST: ${GITEA_NPM_HOST:-host.docker.internal}
|
|
||||||
NEXT_PUBLIC_NOMGAP_API_URL: http://localhost:4013/api
|
|
||||||
NEXT_PUBLIC_PLATFORM_SERVICE_URL: http://localhost:4003/api
|
|
||||||
ports:
|
|
||||||
- '3055:3055'
|
|
||||||
environment:
|
|
||||||
- NODE_ENV=production
|
|
||||||
- PORT=3055
|
|
||||||
- NOMGAP_API_URL=http://nomgap-backend:4013/api
|
|
||||||
- PLATFORM_SERVICE_URL=http://platform-service:4003/api
|
|
||||||
depends_on:
|
|
||||||
nomgap-backend:
|
|
||||||
condition: service_healthy
|
|
||||||
healthcheck:
|
|
||||||
test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3055']
|
|
||||||
interval: 30s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 3
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
actiontrail-web:
|
actiontrail-web:
|
||||||
build:
|
build:
|
||||||
|
|||||||
@ -33,13 +33,41 @@
|
|||||||
{ "name": "fasting_protocols", "partitionKey": "/userId" },
|
{ "name": "fasting_protocols", "partitionKey": "/userId" },
|
||||||
{ "name": "social_fasts", "partitionKey": "/id" },
|
{ "name": "social_fasts", "partitionKey": "/id" },
|
||||||
{ "name": "meal_logs", "partitionKey": "/userId" },
|
{ "name": "meal_logs", "partitionKey": "/userId" },
|
||||||
{ "name": "push_triggers", "partitionKey": "/userId" },
|
{ "name": "weight_logs", "partitionKey": "/userId" },
|
||||||
{ "name": "body_stages", "partitionKey": "/userId" }
|
{ "name": "push_triggers", "partitionKey": "/productId" }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"flags": [
|
"flags": [
|
||||||
{ "key": "pro-features", "defaultValue": false },
|
{
|
||||||
{ "key": "max-extended-fast", "defaultValue": 168 }
|
"key": "ai_coach_enabled",
|
||||||
|
"defaultValue": false,
|
||||||
|
"description": "AI coaching card on fasting screen (Pro)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "social_fasting_enabled",
|
||||||
|
"defaultValue": false,
|
||||||
|
"description": "Social fasting / group fasts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "meal_logging_enabled",
|
||||||
|
"defaultValue": true,
|
||||||
|
"description": "Meal logging before/after fasts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "anatomical_mode_enabled",
|
||||||
|
"defaultValue": false,
|
||||||
|
"description": "Anatomical body visualization (Pro)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "push_triggers.enabled",
|
||||||
|
"defaultValue": true,
|
||||||
|
"description": "Server-side push notification triggers"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "encryption_enabled",
|
||||||
|
"defaultValue": true,
|
||||||
|
"description": "AES-256-GCM field encryption for PII"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"ports": {
|
"ports": {
|
||||||
"service": 4013
|
"service": 4013
|
||||||
|
|||||||
@ -103,6 +103,13 @@ const PRODUCT_FLAGS: Record<string, FlagSeedDef[]> = {
|
|||||||
platforms: ['ios', 'android'],
|
platforms: ['ios', 'android'],
|
||||||
percentage: 0,
|
percentage: 0,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
key: 'push_triggers.enabled',
|
||||||
|
enabled: true,
|
||||||
|
description: 'Server-side push notification triggers',
|
||||||
|
platforms: ['ios', 'android'],
|
||||||
|
percentage: 100,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
mindlyst: [
|
mindlyst: [
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user