# Per-recipe harness config for lasuite-docs (recipe #5 — multi-service + object-storage/S3). # Stack: app(frontend) + backend(Django/impress) + celery + y-provider + docspec + db(postgres) + # redis + minio(S3) + web(nginx). OIDC settings are config-only (validated by `manage.py check`, not # fetched at boot), so the stack starts healthy with placeholder OIDC; login isn't exercised in CI. # Many services -> generous timeouts. HEALTH_PATH = "/" HEALTH_OK = (200, 301, 302) DEPLOY_TIMEOUT = 900 HTTP_TIMEOUT = 600 # Phase 2 Q2.3 deps: lasuite-docs's recipe-maintainer corpus declares `requires = ["keycloak"]`. # Declaring it here makes the orchestrator deploy a per-run keycloak BEFORE lasuite-docs so the # OIDC-flow functional test (`functional/test_oidc_with_keycloak.py`) can run against a real # provider in the same run. The dep is undeployed AFTER the parent in the orchestrator's `finally`. DEPS = ["keycloak"] def EXTRA_ENV(domain): # abra's internal per-deploy convergence timeout (the recipe's TIMEOUT env, default 300s) is too # short for this 9-service stack on a COLD image cache (~9 large images: impress frontend/backend, # minio, postgres18, redis, docspec, y-provider). Cold pulls exceed 300s -> "deploy timed out 🟠". # Bump it so the harness deploy waits long enough; verified the stack converges 9/9 once pulled. return {"TIMEOUT": "900"}