Skip to content

Commit 99afc2d

Browse files
MajorTalclaude
andcommitted
Document full manifest in deploy help — rls, secrets, functions, not just name/migrations/files/subdomain
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f78353a commit 99afc2d

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

cli/lib/deploy.mjs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,30 @@ Options:
1414
Manifest format (JSON):
1515
{
1616
"name": "my-app",
17-
"migrations": "CREATE TABLE items ...",
17+
"migrations": "CREATE TABLE items (id serial PRIMARY KEY, title text NOT NULL, done boolean DEFAULT false)",
18+
"rls": {
19+
"template": "public_read_write",
20+
"tables": [{ "table": "items" }]
21+
},
22+
"secrets": [{ "key": "OPENAI_API_KEY", "value": "sk-..." }],
23+
"functions": [{
24+
"name": "my-fn",
25+
"code": "export default async (req) => new Response('ok')"
26+
}],
1827
"files": [{ "file": "index.html", "data": "<html>...</html>" }],
1928
"subdomain": "my-app"
2029
}
2130
31+
All fields except "name" are optional.
32+
33+
RLS templates:
34+
user_owns_rows — users see only their rows (requires owner_column per table)
35+
public_read — anyone reads, authenticated users write
36+
public_read_write — anyone reads and writes
37+
38+
⚠️ Without RLS, tables are read-only via anon_key. If your app writes
39+
data from the browser, you almost certainly need an rls block.
40+
2241
Examples:
2342
run402 deploy --manifest app.json
2443
cat app.json | run402 deploy

0 commit comments

Comments
 (0)