@celsoft/platform 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/cloudflare.d.ts +10 -1
- package/dist/adapters/cloudflare.js +46 -2
- package/dist/adapters/cloudflare.js.map +1 -1
- package/dist/adapters/drizzle.d.ts +15 -0
- package/dist/adapters/drizzle.js +114 -0
- package/dist/adapters/drizzle.js.map +1 -0
- package/dist/adapters/github.d.ts +1 -0
- package/dist/adapters/github.js +4 -0
- package/dist/adapters/github.js.map +1 -1
- package/dist/adapters/neon.d.ts +2 -0
- package/dist/adapters/neon.js +8 -0
- package/dist/adapters/neon.js.map +1 -1
- package/dist/adapters/owner.d.ts +1 -0
- package/dist/adapters/owner.js +38 -0
- package/dist/adapters/owner.js.map +1 -0
- package/dist/adapters/process.d.ts +1 -7
- package/dist/adapters/process.js +0 -22
- package/dist/adapters/process.js.map +1 -1
- package/dist/adapters/resend.d.ts +1 -0
- package/dist/adapters/resend.js +3 -0
- package/dist/adapters/resend.js.map +1 -1
- package/dist/cli.js +136 -10
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +11 -4
- package/dist/config.js +26 -9
- package/dist/config.js.map +1 -1
- package/dist/fakes.d.ts +24 -4
- package/dist/fakes.js +58 -6
- package/dist/fakes.js.map +1 -1
- package/dist/init.js +5 -5
- package/dist/init.js.map +1 -1
- package/dist/lifecycle.d.ts +7 -0
- package/dist/lifecycle.js +134 -18
- package/dist/lifecycle.js.map +1 -1
- package/dist/ownership.d.ts +16 -0
- package/dist/ownership.js +40 -0
- package/dist/ownership.js.map +1 -0
- package/dist/ports.d.ts +18 -3
- package/dist/runtime/auth.d.ts +1181 -6
- package/dist/runtime/auth.js +44 -14
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/files.js +4 -1
- package/dist/runtime/files.js.map +1 -1
- package/dist/runtime/guard.d.ts +11 -0
- package/dist/runtime/guard.js +40 -0
- package/dist/runtime/guard.js.map +1 -0
- package/dist/runtime/index.d.ts +18 -8
- package/dist/runtime/index.js +53 -19
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/screens.d.ts +4 -0
- package/dist/runtime/screens.js +145 -0
- package/dist/runtime/screens.js.map +1 -0
- package/dist/schema.d.ts +2717 -0
- package/dist/schema.js +120 -0
- package/dist/schema.js.map +1 -0
- package/dist/workflow.js +15 -5
- package/dist/workflow.js.map +1 -1
- package/dist/wrangler-config.d.ts +5 -0
- package/dist/wrangler-config.js +11 -2
- package/dist/wrangler-config.js.map +1 -1
- package/package.json +10 -4
- package/schema.json +18 -14
package/dist/fakes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fakes.js","sourceRoot":"","sources":["../src/fakes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,OAAO,QAAQ;IACnB,QAAQ,GAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"fakes.js","sourceRoot":"","sources":["../src/fakes.ts"],"names":[],"mappings":"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"}
|
package/dist/init.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { appendFile, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
2
2
|
import { dirname, join, relative } from "node:path";
|
|
3
|
-
import { PreflightError } from "./lifecycle.js";
|
|
3
|
+
import { PreflightError, requirePostgres } from "./lifecycle.js";
|
|
4
4
|
import { parseDotenv, SECRETS_FILE, VARS_FILE } from "./secrets.js";
|
|
5
5
|
import { renderWorkflow, WORKFLOW_PATH } from "./workflow.js";
|
|
6
6
|
export const TOKEN_HELP = {
|
|
@@ -23,8 +23,8 @@ export async function init({ repoRoot, appDir, config, variables, run, connect }
|
|
|
23
23
|
throw new PreflightError(`the Cloudflare token cannot see a zone for ${config.hostname}; check its Zone Resources`);
|
|
24
24
|
run.note(`✓ Cloudflare account and zone ${zone.name}`);
|
|
25
25
|
if (config.database) {
|
|
26
|
-
await neon
|
|
27
|
-
run.note(`✓ Neon project ${config.database.neonProject}`);
|
|
26
|
+
await requirePostgres(neon, config.database.neonProject);
|
|
27
|
+
run.note(`✓ Neon project ${config.database.neonProject}, on Postgres 18 or later`);
|
|
28
28
|
}
|
|
29
29
|
if (config.email) {
|
|
30
30
|
// Listing domains needs the same full access that adding the app's sending domain does.
|
|
@@ -57,7 +57,7 @@ export async function init({ repoRoot, appDir, config, variables, run, connect }
|
|
|
57
57
|
export async function checkWorkflow(repoRoot, appDir, config, variables) {
|
|
58
58
|
const expected = await expectedWorkflow(repoRoot, appDir, config, variables);
|
|
59
59
|
if ((await readOptional(join(repoRoot, WORKFLOW_PATH))) !== expected) {
|
|
60
|
-
throw new PreflightError(`${WORKFLOW_PATH} differs from what this platform version writes; run \`platform init\` and commit the result`);
|
|
60
|
+
throw new PreflightError(`${WORKFLOW_PATH} differs from what this platform version writes; run \`npx @celsoft/platform init\` and commit the result`);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
async function ensureIgnored(repoRoot, file, run) {
|
|
@@ -78,7 +78,7 @@ async function prepareSecretsFile(repoRoot, names, run) {
|
|
|
78
78
|
const values = parseDotenv(text);
|
|
79
79
|
const empty = names.filter((name) => !values[name]);
|
|
80
80
|
if (empty.length > 0) {
|
|
81
|
-
throw new PreflightError(`fill ${empty.join(" and ")} in ${path}, then rerun \`platform init\``);
|
|
81
|
+
throw new PreflightError(`fill ${empty.join(" and ")} in ${path}, then rerun \`npx @celsoft/platform init\``);
|
|
82
82
|
}
|
|
83
83
|
return values;
|
|
84
84
|
}
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
package/dist/lifecycle.d.ts
CHANGED
|
@@ -11,6 +11,9 @@ export interface Context {
|
|
|
11
11
|
}
|
|
12
12
|
export declare class PreflightError extends Error {
|
|
13
13
|
}
|
|
14
|
+
export declare const MIN_POSTGRES = 18;
|
|
15
|
+
export declare function requirePostgres(neon: Ports["neon"], project: string): Promise<void>;
|
|
16
|
+
export declare const UNGENERATED = "the schema has changes with no migration; run `npx @celsoft/platform db generate`, review the SQL in drizzle/, and commit it";
|
|
14
17
|
export declare function deploy(ctx: Context, target: Target): Promise<{
|
|
15
18
|
hostname: string;
|
|
16
19
|
}>;
|
|
@@ -20,5 +23,9 @@ export declare const DEV_URL = "http://localhost:8787";
|
|
|
20
23
|
export declare function dev(ctx: Context): Promise<void>;
|
|
21
24
|
export declare const MANAGED_COMMENT = "managed by @celsoft/platform";
|
|
22
25
|
export declare function cleanup(ctx: Context, pr: number): Promise<void>;
|
|
26
|
+
export declare function sweep(ctx: Context, open: number[]): Promise<number[]>;
|
|
27
|
+
export declare function destroy(ctx: Context, { data }: {
|
|
28
|
+
data: boolean;
|
|
29
|
+
}): Promise<void>;
|
|
23
30
|
export declare const BACKUP_PREFIX = "backup-";
|
|
24
31
|
export declare const BACKUPS_KEPT = 3;
|
package/dist/lifecycle.js
CHANGED
|
@@ -1,20 +1,40 @@
|
|
|
1
1
|
import { randomBytes } from "node:crypto";
|
|
2
|
+
import { ownedBucket, ownedWorker, requireOwnedHyperdrive } from "./ownership.js";
|
|
2
3
|
import { names, originOf, previewHostname } from "./target.js";
|
|
3
4
|
import { wranglerConfig } from "./wrangler-config.js";
|
|
4
5
|
export class PreflightError extends Error {
|
|
5
6
|
}
|
|
7
|
+
export const MIN_POSTGRES = 18;
|
|
8
|
+
// uuidv7(), the default for every id, arrived in Postgres 18.
|
|
9
|
+
export async function requirePostgres(neon, project) {
|
|
10
|
+
const version = await neon.postgresVersion(project);
|
|
11
|
+
if (version < MIN_POSTGRES) {
|
|
12
|
+
throw new PreflightError(`Neon project ${project} runs Postgres ${version}; the platform needs ${MIN_POSTGRES} or later, so create the project again on Postgres ${MIN_POSTGRES}`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export const UNGENERATED = "the schema has changes with no migration; run `npx @celsoft/platform db generate`, review the SQL in drizzle/, and commit it";
|
|
6
16
|
export async function deploy(ctx, target) {
|
|
7
17
|
const { config, ports, run } = ctx;
|
|
8
18
|
const secrets = requireSecrets(config, ctx.secrets);
|
|
9
19
|
const n = names(config, target);
|
|
20
|
+
if (config.database && !(await ports.migrator.upToDate()))
|
|
21
|
+
throw new PreflightError(UNGENERATED);
|
|
10
22
|
const accountId = await ports.cloudflare.accountId();
|
|
11
23
|
const zone = await ports.cloudflare.findZone(config.hostname);
|
|
12
24
|
if (!zone)
|
|
13
25
|
throw new PreflightError(`no Cloudflare zone for ${config.hostname}; add the apex domain to this account, or check the token's zone access`);
|
|
14
26
|
const hostname = target.kind === "prod" ? config.hostname : previewHostname(n.worker, zone.name);
|
|
27
|
+
// Proof of ownership comes before any change, so a name clash never touches someone else's resource.
|
|
28
|
+
const worker = await ownedWorker(ports, config, n.worker);
|
|
29
|
+
const existingHyperdrive = config.database ? await ports.cloudflare.findHyperdrive(n.hyperdrive) : undefined;
|
|
30
|
+
if (existingHyperdrive)
|
|
31
|
+
await requireOwnedHyperdrive(ports, config, existingHyperdrive, worker?.hyperdriveIds ?? []);
|
|
32
|
+
if (config.files)
|
|
33
|
+
await ownedBucket(ports, config, n.bucket);
|
|
15
34
|
let hyperdriveId;
|
|
16
35
|
if (config.database) {
|
|
17
36
|
const project = config.database.neonProject;
|
|
37
|
+
await requirePostgres(ports.neon, project);
|
|
18
38
|
const prod = await ports.neon.defaultBranch(project);
|
|
19
39
|
const branch = target.kind === "prod"
|
|
20
40
|
? prod
|
|
@@ -23,10 +43,7 @@ export async function deploy(ctx, target) {
|
|
|
23
43
|
await backup(ctx, project, prod);
|
|
24
44
|
const uri = run.dryRun && branch.id === "(new)" ? undefined : await ports.neon.connectionUri(project, branch.id);
|
|
25
45
|
if (uri) {
|
|
26
|
-
|
|
27
|
-
if (config.auth)
|
|
28
|
-
await run.mutate(`update auth tables on ${branch.name}`, () => ports.migrator.migrateAuth(uri), undefined);
|
|
29
|
-
await run.mutate(`run migrations on ${branch.name}`, () => ports.migrator.migrate(config.database.migrate, uri), undefined);
|
|
46
|
+
await run.mutate(`run migrations on ${branch.name}`, () => ports.migrator.migrate(uri), undefined);
|
|
30
47
|
}
|
|
31
48
|
else {
|
|
32
49
|
run.note(`would run migrations on ${branch.name}`);
|
|
@@ -57,14 +74,17 @@ export async function deploy(ctx, target) {
|
|
|
57
74
|
if (config.files && n.filesPrefix)
|
|
58
75
|
vars.FILES_PREFIX = n.filesPrefix;
|
|
59
76
|
const wrangler = wranglerConfig({ config, worker: n.worker, hostname, accountId, hyperdriveId, vars, bucket: config.files ? n.bucket : undefined });
|
|
60
|
-
await run.mutate(`deploy Worker ${n.worker} at https://${hostname}`, () =>
|
|
77
|
+
await run.mutate(`deploy Worker ${n.worker} at https://${hostname}`, async () => {
|
|
78
|
+
await ports.wrangler.deploy(wrangler, { ...secrets, ...generated });
|
|
79
|
+
await ports.cloudflare.tagWorker(n.worker, config.name, target.kind === "preview" ? target.pr : undefined);
|
|
80
|
+
}, undefined);
|
|
61
81
|
return { hostname };
|
|
62
82
|
}
|
|
63
83
|
export const PREVIEW_FILES_DAYS = 14;
|
|
64
84
|
// The shared preview bucket expires files after two weeks, a backstop for cleanups that never ran.
|
|
65
|
-
async function ensureBucket({ ports, run }, bucket, preview) {
|
|
66
|
-
await run.ensure(`R2 bucket ${bucket}`, async () => ((await ports
|
|
67
|
-
await ports.cloudflare.createBucket(bucket);
|
|
85
|
+
async function ensureBucket({ config, ports, run }, bucket, preview) {
|
|
86
|
+
await run.ensure(`R2 bucket ${bucket}`, async () => ((await ownedBucket(ports, config, bucket)) ? true : undefined), async () => {
|
|
87
|
+
await ports.cloudflare.createBucket(bucket, config.name);
|
|
68
88
|
return true;
|
|
69
89
|
}, true);
|
|
70
90
|
if (preview && (run.dryRun || (await ports.cloudflare.bucketExpiryDays(bucket)) !== PREVIEW_FILES_DAYS)) {
|
|
@@ -80,12 +100,12 @@ export async function dev(ctx) {
|
|
|
80
100
|
let uri;
|
|
81
101
|
if (config.database) {
|
|
82
102
|
const project = config.database.neonProject;
|
|
103
|
+
await requirePostgres(ports.neon, project);
|
|
83
104
|
const prod = await ports.neon.defaultBranch(project);
|
|
84
105
|
const branch = await run.ensure(`Neon branch ${DEV_BRANCH}`, () => ports.neon.findBranch(project, DEV_BRANCH), () => ports.neon.createBranch(project, DEV_BRANCH, prod.id, true), { id: "(new)", name: DEV_BRANCH });
|
|
85
106
|
uri = await ports.neon.connectionUri(project, branch.id);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
await run.mutate(`run migrations on ${DEV_BRANCH}`, () => ports.migrator.migrate(config.database.migrate, uri), undefined);
|
|
107
|
+
await run.mutate("generate migrations from the schema", () => ports.migrator.generate(), undefined);
|
|
108
|
+
await run.mutate(`run migrations on ${DEV_BRANCH}`, () => ports.migrator.migrate(uri), undefined);
|
|
89
109
|
}
|
|
90
110
|
const vars = { APP_URL: DEV_URL, ...(config.email && { EMAIL_MODE: "capture", EMAIL_FROM: "noreply@localhost" }) };
|
|
91
111
|
const { routes: _routes, account_id: _account, ...local } = wranglerConfig({
|
|
@@ -131,8 +151,9 @@ async function ensureMailDomain({ ports, run }, hostname, zone) {
|
|
|
131
151
|
return domain;
|
|
132
152
|
}
|
|
133
153
|
// A Resend key is only readable when created, so a Worker missing its key gets a fresh one.
|
|
154
|
+
const sendKeyName = (hostname) => `platform ${hostname}`;
|
|
134
155
|
async function sendKey({ ports, run }, hostname, domainId) {
|
|
135
|
-
const name =
|
|
156
|
+
const name = sendKeyName(hostname);
|
|
136
157
|
const old = await ports.mail.findApiKey(name);
|
|
137
158
|
if (old)
|
|
138
159
|
await run.mutate(`replace Resend sending key for ${hostname}`, () => ports.mail.deleteApiKey(old), undefined);
|
|
@@ -144,13 +165,18 @@ function unquote(value) {
|
|
|
144
165
|
export async function cleanup(ctx, pr) {
|
|
145
166
|
const { config, ports, run } = ctx;
|
|
146
167
|
const n = names(config, { kind: "preview", pr });
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
168
|
+
// Everything is checked before anything is deleted.
|
|
169
|
+
const worker = await ownedWorker(ports, config, n.worker);
|
|
150
170
|
const hyperdrive = await ports.cloudflare.findHyperdrive(n.hyperdrive);
|
|
151
|
-
if (hyperdrive)
|
|
171
|
+
if (hyperdrive)
|
|
172
|
+
await requireOwnedHyperdrive(ports, config, hyperdrive, worker?.hyperdriveIds ?? []);
|
|
173
|
+
// Found by what exists, not by platform.jsonc, so a preview made with files on is still cleaned
|
|
174
|
+
// after files is turned off.
|
|
175
|
+
const bucket = await ownedBucket(ports, config, n.bucket);
|
|
176
|
+
if (worker)
|
|
177
|
+
await run.mutate(`delete Worker ${n.worker}`, () => ports.cloudflare.deleteWorker(n.worker), undefined);
|
|
178
|
+
if (hyperdrive)
|
|
152
179
|
await run.mutate(`delete Hyperdrive config ${n.hyperdrive}`, () => ports.cloudflare.deleteHyperdrive(hyperdrive.id), undefined);
|
|
153
|
-
}
|
|
154
180
|
if (config.database) {
|
|
155
181
|
const project = config.database.neonProject;
|
|
156
182
|
const branch = await ports.neon.findBranch(project, n.neonBranch);
|
|
@@ -158,10 +184,100 @@ export async function cleanup(ctx, pr) {
|
|
|
158
184
|
await run.mutate(`delete Neon branch ${branch.name}`, () => ports.neon.deleteBranch(project, branch.id), undefined);
|
|
159
185
|
}
|
|
160
186
|
}
|
|
161
|
-
if (
|
|
187
|
+
if (bucket) {
|
|
162
188
|
await run.mutate(`delete files under ${n.filesPrefix} in ${n.bucket}`, () => ports.cloudflare.deleteObjects(n.bucket, n.filesPrefix), 0);
|
|
163
189
|
}
|
|
164
190
|
}
|
|
191
|
+
// Removes every preview whose pull request is no longer open: the backstop for a close whose
|
|
192
|
+
// cleanup never ran. Previews are found by what exists in Cloudflare and Neon.
|
|
193
|
+
export async function sweep(ctx, open) {
|
|
194
|
+
const { config, ports, run } = ctx;
|
|
195
|
+
const preview = new RegExp(`^${config.name}-pr-(\\d+)$`);
|
|
196
|
+
const prefix = `${config.name}-pr-`;
|
|
197
|
+
const found = new Set();
|
|
198
|
+
const add = (match) => match && found.add(Number(match[1]));
|
|
199
|
+
for (const worker of await ports.cloudflare.listWorkers(prefix))
|
|
200
|
+
add(preview.exec(worker));
|
|
201
|
+
for (const hyperdrive of await ports.cloudflare.listHyperdrives(prefix))
|
|
202
|
+
add(preview.exec(hyperdrive.name));
|
|
203
|
+
if (config.database) {
|
|
204
|
+
for (const branch of await ports.neon.listBranches(config.database.neonProject, "pr-"))
|
|
205
|
+
add(/^pr-(\d+)$/.exec(branch.name));
|
|
206
|
+
}
|
|
207
|
+
const stale = [...found].filter((pr) => !open.includes(pr)).sort((a, b) => a - b);
|
|
208
|
+
if (stale.length === 0)
|
|
209
|
+
run.note("✓ no previews left behind");
|
|
210
|
+
for (const pr of stale) {
|
|
211
|
+
run.note(`pull request ${pr} is closed; cleaning up its preview`);
|
|
212
|
+
await cleanup(ctx, pr);
|
|
213
|
+
}
|
|
214
|
+
return stale;
|
|
215
|
+
}
|
|
216
|
+
// Deletes everything the platform made for the app. Without `data` it keeps what holds the app's
|
|
217
|
+
// data: prod tables, backups, the dev branch and the prod file bucket. Every Cloudflare resource
|
|
218
|
+
// is proven to be the app's before the first deletion.
|
|
219
|
+
export async function destroy(ctx, { data }) {
|
|
220
|
+
const { config, ports, run } = ctx;
|
|
221
|
+
const prod = names(config, { kind: "prod" });
|
|
222
|
+
// A prefix alone would also catch another app whose name starts with this one's, such as
|
|
223
|
+
// demo-pr; only names this app's previews can actually have are taken.
|
|
224
|
+
const preview = new RegExp(`^${config.name}-pr-\\d+$`);
|
|
225
|
+
const previews = `${config.name}-pr-`;
|
|
226
|
+
const workers = [];
|
|
227
|
+
for (const name of [prod.worker, ...(await ports.cloudflare.listWorkers(previews)).filter((w) => preview.test(w))]) {
|
|
228
|
+
const worker = await ownedWorker(ports, config, name);
|
|
229
|
+
if (worker)
|
|
230
|
+
workers.push(worker);
|
|
231
|
+
}
|
|
232
|
+
const bound = workers.flatMap((w) => w.hyperdriveIds);
|
|
233
|
+
const prodHyperdrive = await ports.cloudflare.findHyperdrive(prod.hyperdrive);
|
|
234
|
+
const hyperdrives = [...(prodHyperdrive ? [prodHyperdrive] : []), ...(await ports.cloudflare.listHyperdrives(previews)).filter((h) => preview.test(h.name))];
|
|
235
|
+
for (const h of hyperdrives)
|
|
236
|
+
await requireOwnedHyperdrive(ports, config, h, bound);
|
|
237
|
+
const buckets = [];
|
|
238
|
+
if (config.files) {
|
|
239
|
+
for (const bucket of [names(config, { kind: "preview", pr: 0 }).bucket, ...(data ? [prod.bucket] : [])]) {
|
|
240
|
+
if (await ownedBucket(ports, config, bucket))
|
|
241
|
+
buckets.push(bucket);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
for (const w of workers)
|
|
245
|
+
await run.mutate(`delete Worker ${w.name}`, () => ports.cloudflare.deleteWorker(w.name), undefined);
|
|
246
|
+
for (const h of hyperdrives)
|
|
247
|
+
await run.mutate(`delete Hyperdrive config ${h.name}`, () => ports.cloudflare.deleteHyperdrive(h.id), undefined);
|
|
248
|
+
if (config.database) {
|
|
249
|
+
const project = config.database.neonProject;
|
|
250
|
+
const doomed = (await ports.neon.listBranches(project, "pr-")).filter((b) => /^pr-\d+$/.test(b.name));
|
|
251
|
+
if (data)
|
|
252
|
+
doomed.push(...(await ports.neon.listBranches(project, BACKUP_PREFIX)), ...[await ports.neon.findBranch(project, DEV_BRANCH)].filter((b) => b !== undefined));
|
|
253
|
+
for (const branch of doomed)
|
|
254
|
+
await run.mutate(`delete Neon branch ${branch.name}`, () => ports.neon.deleteBranch(project, branch.id), undefined);
|
|
255
|
+
if (data) {
|
|
256
|
+
const main = await ports.neon.defaultBranch(project);
|
|
257
|
+
const uri = await ports.neon.connectionUri(project, main.id);
|
|
258
|
+
await run.mutate(`drop every table on ${main.name}`, () => ports.migrator.dropAll(uri), undefined);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
for (const bucket of buckets) {
|
|
262
|
+
await run.mutate(`empty and delete R2 bucket ${bucket}`, async () => {
|
|
263
|
+
await ports.cloudflare.deleteObjects(bucket, "");
|
|
264
|
+
await ports.cloudflare.deleteBucket(bucket);
|
|
265
|
+
}, undefined);
|
|
266
|
+
}
|
|
267
|
+
if (config.email) {
|
|
268
|
+
const domain = await ports.mail.findDomain(config.hostname);
|
|
269
|
+
if (domain)
|
|
270
|
+
await run.mutate(`delete Resend sending domain ${config.hostname}`, () => ports.mail.deleteDomain(domain.id), undefined);
|
|
271
|
+
const key = await ports.mail.findApiKey(sendKeyName(config.hostname));
|
|
272
|
+
if (key)
|
|
273
|
+
await run.mutate(`delete Resend sending key for ${config.hostname}`, () => ports.mail.deleteApiKey(key), undefined);
|
|
274
|
+
const zone = await ports.cloudflare.findZone(config.hostname);
|
|
275
|
+
const records = zone ? (await ports.cloudflare.managedDnsRecords(zone.id)).filter((r) => r.name.endsWith(`.${config.hostname}`)) : [];
|
|
276
|
+
for (const record of records) {
|
|
277
|
+
await run.mutate(`delete ${record.type} record ${record.name}`, () => ports.cloudflare.deleteDnsRecord(zone.id, record.id), undefined);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
165
281
|
export const BACKUP_PREFIX = "backup-";
|
|
166
282
|
export const BACKUPS_KEPT = 3;
|
|
167
283
|
// Neon includes 10 branches per project, so only the newest few backups are kept.
|
package/dist/lifecycle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Config } from "./config.js";
|
|
2
|
+
import type { Hyperdrive, Ports } from "./ports.js";
|
|
3
|
+
export declare const PLATFORM_TAG = "celsoft-platform";
|
|
4
|
+
export declare const appTag: (app: string) => string;
|
|
5
|
+
export declare const prTag: (pr: number) => string;
|
|
6
|
+
export declare const BUCKET_MARKER = ".celsoft-platform";
|
|
7
|
+
export declare class UnprovenError extends Error {
|
|
8
|
+
constructor(kind: string, name: string, app: string);
|
|
9
|
+
}
|
|
10
|
+
export interface OwnedWorker {
|
|
11
|
+
name: string;
|
|
12
|
+
hyperdriveIds: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare function ownedWorker(ports: Ports, config: Config, name: string): Promise<OwnedWorker | undefined>;
|
|
15
|
+
export declare function requireOwnedHyperdrive(ports: Ports, config: Config, hyperdrive: Hyperdrive, boundIds: string[]): Promise<void>;
|
|
16
|
+
export declare function ownedBucket(ports: Ports, config: Config, name: string): Promise<boolean>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Cloudflare has no project scope inside an account, so a matching name never proves the
|
|
2
|
+
// platform made a resource. Each resource carries proof instead, checked before any change.
|
|
3
|
+
export const PLATFORM_TAG = "celsoft-platform";
|
|
4
|
+
export const appTag = (app) => `app:${app}`;
|
|
5
|
+
export const prTag = (pr) => `pr:${pr}`;
|
|
6
|
+
export const BUCKET_MARKER = ".celsoft-platform";
|
|
7
|
+
export class UnprovenError extends Error {
|
|
8
|
+
constructor(kind, name, app) {
|
|
9
|
+
super(`${kind} ${name} exists, but nothing shows the platform made it for ${app}, so it was left untouched; remove it by hand if it is yours to remove, or choose another app name`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
// Undefined when there is no such Worker; throws when it exists without this app's tags.
|
|
13
|
+
export async function ownedWorker(ports, config, name) {
|
|
14
|
+
const owner = await ports.cloudflare.workerOwner(name);
|
|
15
|
+
if (!owner)
|
|
16
|
+
return undefined;
|
|
17
|
+
if (owner.app !== config.name)
|
|
18
|
+
throw new UnprovenError("Worker", name, config.name);
|
|
19
|
+
return { name, hyperdriveIds: owner.hyperdriveIds };
|
|
20
|
+
}
|
|
21
|
+
// A Hyperdrive config is the app's when one of its Workers binds it, or when it points at a
|
|
22
|
+
// database in the app's own Neon project, which covers a config whose Worker never deployed.
|
|
23
|
+
export async function requireOwnedHyperdrive(ports, config, hyperdrive, boundIds) {
|
|
24
|
+
if (boundIds.includes(hyperdrive.id))
|
|
25
|
+
return;
|
|
26
|
+
const host = hyperdrive.origin.split("@")[1]?.split("/")[0];
|
|
27
|
+
if (config.database && host && (await ports.neon.endpointHosts(config.database.neonProject)).includes(host))
|
|
28
|
+
return;
|
|
29
|
+
throw new UnprovenError("Hyperdrive config", hyperdrive.name, config.name);
|
|
30
|
+
}
|
|
31
|
+
// True when the bucket exists and its marker names this app; throws when it names nothing or another app.
|
|
32
|
+
export async function ownedBucket(ports, config, name) {
|
|
33
|
+
const owner = await ports.cloudflare.bucketOwner(name);
|
|
34
|
+
if (owner === undefined)
|
|
35
|
+
return false;
|
|
36
|
+
if (owner !== config.name)
|
|
37
|
+
throw new UnprovenError("R2 bucket", name, config.name);
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=ownership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ownership.js","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AAGA,yFAAyF;AACzF,4FAA4F;AAC5F,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAC/C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC;AACpD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAEjD,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,IAAY,EAAE,IAAY,EAAE,GAAW;QACjD,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,uDAAuD,GAAG,oGAAoG,CAAC,CAAC;IACvL,CAAC;CACF;AAOD,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAY,EAAE,MAAc,EAAE,IAAY;IAC1E,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI;QAAE,MAAM,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpF,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;AACtD,CAAC;AAED,4FAA4F;AAC5F,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAY,EAAE,MAAc,EAAE,UAAsB,EAAE,QAAkB;IACnH,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAAE,OAAO;IAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO;IACpH,MAAM,IAAI,aAAa,CAAC,mBAAmB,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,0GAA0G;AAC1G,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAY,EAAE,MAAc,EAAE,IAAY;IAC1E,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,KAAK,KAAK,MAAM,CAAC,IAAI;QAAE,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/ports.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export interface Branch {
|
|
|
3
3
|
name: string;
|
|
4
4
|
}
|
|
5
5
|
export interface Neon {
|
|
6
|
+
endpointHosts(project: string): Promise<string[]>;
|
|
7
|
+
postgresVersion(project: string): Promise<number>;
|
|
6
8
|
defaultBranch(project: string): Promise<Branch>;
|
|
7
9
|
findBranch(project: string, name: string): Promise<Branch | undefined>;
|
|
8
10
|
listBranches(project: string, namePrefix: string): Promise<Branch[]>;
|
|
@@ -34,17 +36,26 @@ export interface Cloudflare {
|
|
|
34
36
|
accountId(): Promise<string>;
|
|
35
37
|
findZone(hostname: string): Promise<Zone | undefined>;
|
|
36
38
|
findHyperdrive(name: string): Promise<Hyperdrive | undefined>;
|
|
39
|
+
listHyperdrives(namePrefix: string): Promise<Hyperdrive[]>;
|
|
37
40
|
createHyperdrive(name: string, connectionUri: string): Promise<Hyperdrive>;
|
|
38
41
|
updateHyperdrive(id: string, connectionUri: string): Promise<Hyperdrive>;
|
|
39
42
|
deleteHyperdrive(id: string): Promise<void>;
|
|
40
43
|
findWorker(name: string): Promise<boolean>;
|
|
44
|
+
workerOwner(name: string): Promise<{
|
|
45
|
+
app: string | null;
|
|
46
|
+
hyperdriveIds: string[];
|
|
47
|
+
} | undefined>;
|
|
48
|
+
tagWorker(name: string, app: string, pr: number | undefined): Promise<void>;
|
|
49
|
+
listWorkers(namePrefix: string): Promise<string[]>;
|
|
41
50
|
deleteWorker(name: string): Promise<void>;
|
|
42
51
|
workerSecretNames(worker: string): Promise<string[]>;
|
|
43
52
|
dnsRecords(zoneId: string, name: string): Promise<ZoneRecord[]>;
|
|
44
53
|
createDnsRecord(zoneId: string, record: DnsRecord): Promise<void>;
|
|
45
54
|
managedDnsRecords(zoneId: string): Promise<ZoneRecord[]>;
|
|
46
55
|
findBucket(name: string): Promise<boolean>;
|
|
47
|
-
createBucket(name: string): Promise<void>;
|
|
56
|
+
createBucket(name: string, app: string): Promise<void>;
|
|
57
|
+
bucketOwner(name: string): Promise<string | null | undefined>;
|
|
58
|
+
deleteBucket(name: string): Promise<void>;
|
|
48
59
|
bucketExpiryDays(name: string): Promise<number | undefined>;
|
|
49
60
|
setBucketExpiry(name: string, days: number): Promise<void>;
|
|
50
61
|
deleteObjects(bucket: string, prefix: string): Promise<number>;
|
|
@@ -60,6 +71,7 @@ export interface Mail {
|
|
|
60
71
|
findDomain(name: string): Promise<MailDomain | undefined>;
|
|
61
72
|
createDomain(name: string): Promise<MailDomain>;
|
|
62
73
|
verifyDomain(id: string): Promise<void>;
|
|
74
|
+
deleteDomain(id: string): Promise<void>;
|
|
63
75
|
findApiKey(name: string): Promise<string | undefined>;
|
|
64
76
|
createSendKey(name: string, domainId: string): Promise<string>;
|
|
65
77
|
deleteApiKey(id: string): Promise<void>;
|
|
@@ -69,12 +81,15 @@ export interface Wrangler {
|
|
|
69
81
|
dev(wranglerConfig: object, secrets: Record<string, string>, databaseUrl: string | undefined): Promise<void>;
|
|
70
82
|
}
|
|
71
83
|
export interface Migrator {
|
|
72
|
-
|
|
73
|
-
|
|
84
|
+
generate(): Promise<void>;
|
|
85
|
+
upToDate(): Promise<boolean>;
|
|
86
|
+
migrate(databaseUrl: string): Promise<void>;
|
|
87
|
+
dropAll(databaseUrl: string): Promise<void>;
|
|
74
88
|
}
|
|
75
89
|
export interface GitHub {
|
|
76
90
|
setSecret(name: string, value: string): Promise<void>;
|
|
77
91
|
ensureEnvironment(name: string): Promise<void>;
|
|
92
|
+
openPullRequests(): Promise<number[]>;
|
|
78
93
|
}
|
|
79
94
|
export interface Ports {
|
|
80
95
|
neon: Neon;
|