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
|
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "vyos-docs-apex",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"workers_dev": false,
"preview_urls": false,
"assets": { "directory": "assets", "binding": "ASSETS", "run_worker_first": true },
"env": {
"canary": {
// Routes are MANAGED MANUALLY (v4.2 amendment): the account-owned CI token has no
// Workers Routes group, and — decisive — docs.vyos.io is ALREADY orange-cloud, so a
// config-managed production route would capture live traffic on first env deploy.
// Canary route (docs-next.vyos.io/* → this worker, env canary) is created once by the
// operator/dashboard (Task 3.6 step 2c); the production route IS the cutover (Task 6.2).
"vars": { "APEX_BUILD_SHA": "dev", "DOCS_ENV": "canary" },
"services": [
{ "binding": "DOCS_ROLLING", "service": "vyos-docs-rolling-en-candidate" },
{ "binding": "DOCS_V15", "service": "vyos-docs-v15-en-candidate" },
{ "binding": "DOCS_V14", "service": "vyos-docs-v14-en-candidate" },
{ "binding": "DOCS_LEGACY", "service": "vyos-docs-legacy-candidate" }
],
// §5 apex PDF fallback: same bucket as production — there's only one copy of the
// (single, immutable) oversized 1.3 PDF artifact, not a per-env candidate/live pair.
"r2_buckets": [{ "binding": "DOCS_PDFS", "bucket_name": "vyos-docs-artifacts" }]
},
"production": {
// production route deliberately ABSENT — created manually at cutover (Task 6.2); see canary note above
"vars": { "APEX_BUILD_SHA": "dev", "DOCS_ENV": "production" },
"services": [
{ "binding": "DOCS_ROLLING", "service": "vyos-docs-rolling-en" },
{ "binding": "DOCS_V15", "service": "vyos-docs-v15-en" },
{ "binding": "DOCS_V14", "service": "vyos-docs-v14-en" },
{ "binding": "DOCS_LEGACY", "service": "vyos-docs-legacy" }
],
"r2_buckets": [{ "binding": "DOCS_PDFS", "bucket_name": "vyos-docs-artifacts" }]
}
}
}
|