dns.ct.uvlava.com — Bun+Hono service backed by the DO DNS API that lets region-mobile nodes repoint their own A record on relocation: - live.ct.uvlava.com (per-show broadcast relay, ephemeral) - prospector.ct.uvlava.com (always-on Prospector PWA, follows operator) Token -> hostname allowlist auth (a node can only update its own record; cannot touch forge.ct/npm.ct). dyndns2 /nic/update (Bearer or Basic) + /healthz. Runs behind the ct-forge Caddy on a shared "edge" network. - terraform: dns.ct A -> forge; live.ct/prospector.ct seeded with ignore_changes=[value] (service owns the value at runtime) - forge cloud-init: edge network + dns.ct vhost (declarative) - deploy.sh: rsync/build/start + idempotent live Caddy vhost wiring - 8 smoke tests pass (auth, allowlist, IP validation, good/nochg, basic-auth) The transquinnftw.com pretty-names become static CNAMEs onto these at joker.com (one-time, manual) so only the DO-controlled zone ever moves. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
29 lines
1.7 KiB
Text
29 lines
1.7 KiB
Text
{
|
|
"lockfileVersion": 1,
|
|
"configVersion": 1,
|
|
"workspaces": {
|
|
"": {
|
|
"name": "@ct/dns-updater",
|
|
"dependencies": {
|
|
"hono": "^4.6.13",
|
|
},
|
|
"devDependencies": {
|
|
"@types/bun": "^1.1.14",
|
|
"typescript": "^5.7.2",
|
|
},
|
|
},
|
|
},
|
|
"packages": {
|
|
"@types/bun": ["@types/bun@1.3.14", "http://134.199.243.61:4873/@types/bun/-/bun-1.3.14.tgz", { "dependencies": { "bun-types": "1.3.14" } }, "sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw=="],
|
|
|
|
"@types/node": ["@types/node@26.0.1", "http://134.199.243.61:4873/@types/node/-/node-26.0.1.tgz", { "dependencies": { "undici-types": "~8.3.0" } }, "sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw=="],
|
|
|
|
"bun-types": ["bun-types@1.3.14", "http://134.199.243.61:4873/bun-types/-/bun-types-1.3.14.tgz", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="],
|
|
|
|
"hono": ["hono@4.12.27", "http://134.199.243.61:4873/hono/-/hono-4.12.27.tgz", {}, "sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q=="],
|
|
|
|
"typescript": ["typescript@5.9.3", "http://134.199.243.61:4873/typescript/-/typescript-5.9.3.tgz", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
|
|
|
"undici-types": ["undici-types@8.3.0", "http://134.199.243.61:4873/undici-types/-/undici-types-8.3.0.tgz", {}, "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ=="],
|
|
}
|
|
}
|