Repository navigation
Expand file tree
/
Copy pathrender.yaml
More file actions
80 lines (77 loc) · 3.43 KB
/
Copy pathrender.yaml
File metadata and controls
80 lines (77 loc) · 3.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# One project with three services: the HTTP API, the answer_question workflow, and the snapshot
# refresh cron. Region is oregon because Sandboxes early access runs only there. No database.
#
# Every secret is declared on the service that uses it, not in an env group: the Blueprint form
# doesn't reliably prompt for sync: false values inside env groups. A value left blank counts as unset.
projects:
- name: codebase-researcher
environments:
- name: production
services:
# HTTP API with no UI: `/` returns 404. Check `/healthz` (returns ok) or ask with `pnpm ask`.
- type: web
name: codebase-researcher-api
runtime: node
region: oregon
# Free is enough: it spins down when idle, so the first request afterward waits for a cold start,
# but questions run in the workflow, not here. Use starter to keep it warm.
plan: free
buildCommand: pnpm install --frozen-lockfile
startCommand: pnpm start:api
healthCheckPath: /healthz
buildFilter:
paths: [src/api.ts, src/question.ts, src/investigation.ts, src/callback.ts, src/log.ts, src/util.ts, package.json, pnpm-lock.yaml, pnpm-workspace.yaml, .node-version, tsconfig.json]
envVars:
- key: RENDER_API_KEY
sync: false
- key: API_TOKEN
generateValue: true
- key: QUESTION_ID_SECRET
generateValue: true
- key: WORKFLOW_SLUG
fromService:
type: workflow
name: codebase-researcher-workflow
property: slug
- type: workflow
name: codebase-researcher-workflow
runtime: node
region: oregon
buildCommand: pnpm install --frozen-lockfile
startCommand: pnpm start:workflow
buildFilter:
paths: [src/**, sandbox/**, config.ts, prompt.md, package.json, pnpm-lock.yaml, pnpm-workspace.yaml, .node-version]
envVars:
- key: RENDER_API_KEY
sync: false
- key: RENDER_WORKSPACE_ID
# Optional when the key can see exactly one workspace.
sync: false
- key: MODEL_PROVIDER
value: anthropic
- key: MODEL
value: claude-opus-5
# Use a dedicated, spend-capped key: DNS still resolves inside Sandboxes.
- key: ANTHROPIC_API_KEY
sync: false
- key: SANDBOX_NETWORK_POLICY
value: allow-list
- type: cron
name: codebase-researcher-snapshots
runtime: node
region: oregon
# Bundling the runner needs more than starter's 512 MB; the build is killed without a log line.
plan: standard
schedule: "0 * * * *"
buildCommand: pnpm install --frozen-lockfile
startCommand: pnpm refresh
buildFilter:
paths: [src/**, sandbox/**, config.ts, prompt.md, package.json, pnpm-lock.yaml, pnpm-workspace.yaml, .node-version]
envVars:
- key: RENDER_API_KEY
sync: false
- key: RENDER_WORKSPACE_ID
# Optional when the key can see exactly one workspace.
sync: false
- key: GITHUB_TOKEN
sync: false