@styleflow.app/flowpress-deploy 1.0.0-beta.3 → 1.0.0-beta.4

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.
Files changed (85) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +5 -0
  3. package/containers/cms/Dockerfile +35 -0
  4. package/containers/cms/Dockerfile.dockerignore +20 -0
  5. package/containers/cms/healthz.php +17 -0
  6. package/containers/cms/install-languages.sh +16 -0
  7. package/containers/cms/mpm.conf +10 -0
  8. package/containers/cms/php.ini +16 -0
  9. package/containers/cms/sanitize.php +37 -0
  10. package/containers/cms/smtp.php +13 -0
  11. package/containers/cms/vhost.conf +58 -0
  12. package/containers/cms/wp-cli.yml +1 -0
  13. package/containers/php-runtime/Dockerfile +21 -0
  14. package/containers/web-ssr/Dockerfile +25 -0
  15. package/containers/web-ssr/Dockerfile.dockerignore +10 -0
  16. package/containers/web-static/Caddyfile +40 -0
  17. package/containers/web-static/Dockerfile +15 -0
  18. package/containers/web-static/Dockerfile.dockerignore +7 -0
  19. package/dist/ops/bootstrap.d.ts +21 -0
  20. package/dist/ops/bootstrap.d.ts.map +1 -0
  21. package/dist/ops/bootstrap.js +106 -0
  22. package/dist/ops/bootstrap.js.map +1 -0
  23. package/dist/ops/build.d.ts +30 -0
  24. package/dist/ops/build.d.ts.map +1 -0
  25. package/dist/ops/build.js +99 -0
  26. package/dist/ops/build.js.map +1 -0
  27. package/dist/ops/cli.d.ts +3 -0
  28. package/dist/ops/cli.d.ts.map +1 -0
  29. package/dist/ops/cli.js +137 -0
  30. package/dist/ops/cli.js.map +1 -0
  31. package/dist/ops/config.d.ts +54 -0
  32. package/dist/ops/config.d.ts.map +1 -0
  33. package/dist/ops/config.js +163 -0
  34. package/dist/ops/config.js.map +1 -0
  35. package/dist/ops/coolify.d.ts +2 -0
  36. package/dist/ops/coolify.d.ts.map +1 -0
  37. package/dist/ops/coolify.js +44 -0
  38. package/dist/ops/coolify.js.map +1 -0
  39. package/dist/ops/data.d.ts +27 -0
  40. package/dist/ops/data.d.ts.map +1 -0
  41. package/dist/ops/data.js +145 -0
  42. package/dist/ops/data.js.map +1 -0
  43. package/dist/ops/deploy.d.ts +18 -0
  44. package/dist/ops/deploy.d.ts.map +1 -0
  45. package/dist/ops/deploy.js +92 -0
  46. package/dist/ops/deploy.js.map +1 -0
  47. package/dist/ops/editorial.d.ts +23 -0
  48. package/dist/ops/editorial.d.ts.map +1 -0
  49. package/dist/ops/editorial.js +79 -0
  50. package/dist/ops/editorial.js.map +1 -0
  51. package/dist/ops/environment.d.ts +29 -0
  52. package/dist/ops/environment.d.ts.map +1 -0
  53. package/dist/ops/environment.js +159 -0
  54. package/dist/ops/environment.js.map +1 -0
  55. package/dist/ops/health.d.ts +25 -0
  56. package/dist/ops/health.d.ts.map +1 -0
  57. package/dist/ops/health.js +22 -0
  58. package/dist/ops/health.js.map +1 -0
  59. package/dist/ops/monitor.d.ts +23 -0
  60. package/dist/ops/monitor.d.ts.map +1 -0
  61. package/dist/ops/monitor.js +142 -0
  62. package/dist/ops/monitor.js.map +1 -0
  63. package/dist/ops/process.d.ts +9 -0
  64. package/dist/ops/process.d.ts.map +1 -0
  65. package/dist/ops/process.js +48 -0
  66. package/dist/ops/process.js.map +1 -0
  67. package/dist/ops/provision.d.ts +38 -0
  68. package/dist/ops/provision.d.ts.map +1 -0
  69. package/dist/ops/provision.js +251 -0
  70. package/dist/ops/provision.js.map +1 -0
  71. package/dist/ops/release.d.ts +26 -0
  72. package/dist/ops/release.d.ts.map +1 -0
  73. package/dist/ops/release.js +79 -0
  74. package/dist/ops/release.js.map +1 -0
  75. package/dist/ops/s3.d.ts +8 -0
  76. package/dist/ops/s3.d.ts.map +1 -0
  77. package/dist/ops/s3.js +38 -0
  78. package/dist/ops/s3.js.map +1 -0
  79. package/dist/ops/static-config.d.ts +14 -0
  80. package/dist/ops/static-config.d.ts.map +1 -0
  81. package/dist/ops/static-config.js +96 -0
  82. package/dist/ops/static-config.js.map +1 -0
  83. package/flowpress-deploy.php +2 -2
  84. package/package.json +26 -6
  85. package/schema/deployment.schema.json +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/ops/environment.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export function backupHealth({ executions, objects, maxAgeHours, now }: {
2
+ executions?: never[] | undefined;
3
+ objects: any;
4
+ maxAgeHours: any;
5
+ now?: number | undefined;
6
+ }): {
7
+ ok: boolean;
8
+ lastAttempt: {
9
+ status: any;
10
+ created_at: any;
11
+ } | null;
12
+ lastSuccess: {
13
+ status: any;
14
+ created_at: any;
15
+ } | null;
16
+ latestObject: any;
17
+ ageHours: number | null;
18
+ maxAgeHours: any;
19
+ issues: string[];
20
+ };
21
+ export namespace backupMaxAgeHours {
22
+ let daily: number;
23
+ let weekly: number;
24
+ }
25
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/ops/health.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;EAeC"}
@@ -0,0 +1,22 @@
1
+ export const backupMaxAgeHours = { daily: 36, weekly: 8 * 24 };
2
+ export function backupHealth({ executions = [], objects, maxAgeHours, now = Date.now() }) {
3
+ const sorted = [...executions].sort((a, b) => Date.parse(b.created_at) - Date.parse(a.created_at));
4
+ const lastAttempt = sorted[0] ?? null;
5
+ const lastSuccess = sorted.find((item) => item.status === "success") ?? null;
6
+ const latestObject = objects === undefined ? null : [...objects].filter((item) => item.size > 0)
7
+ .sort((a, b) => Date.parse(b.modified) - Date.parse(a.modified))[0] ?? null;
8
+ const timestamp = latestObject?.modified || lastSuccess?.created_at;
9
+ const ageHours = timestamp ? (now - Date.parse(timestamp)) / 3_600_000 : null;
10
+ const issues = [];
11
+ if (!timestamp)
12
+ issues.push("no successful backup");
13
+ if (ageHours !== null && (!Number.isFinite(ageHours) || ageHours > maxAgeHours || ageHours < -1))
14
+ issues.push("backup stale or invalid timestamp");
15
+ if (lastAttempt && !["success", "running", "in_progress", "in-progress"].includes(lastAttempt.status))
16
+ issues.push("last backup attempt failed");
17
+ if (objects !== undefined && !latestObject)
18
+ issues.push("no nonempty offsite backup object");
19
+ const summary = (attempt) => attempt ? { status: attempt.status, created_at: attempt.created_at } : null;
20
+ return { ok: !issues.length, lastAttempt: summary(lastAttempt), lastSuccess: summary(lastSuccess), latestObject, ageHours, maxAgeHours, issues };
21
+ }
22
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/ops/health.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;AAE/D,MAAM,UAAU,YAAY,CAAC,EAAE,UAAU,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;IACtF,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACnG,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACtC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC;IAC7E,MAAM,YAAY,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;SAC7F,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC9E,MAAM,SAAS,GAAG,YAAY,EAAE,QAAQ,IAAI,WAAW,EAAE,UAAU,CAAC;IACpE,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,WAAW,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnJ,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACjJ,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzG,OAAO,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACnJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ export function backupRun(root: any, manifest: any, name: any): Promise<{
2
+ environment: any;
3
+ database: string;
4
+ uploads: string;
5
+ filename: any;
6
+ }>;
7
+ export function backupVerify(root: any, manifest: any, name: any): Promise<{
8
+ environment: any;
9
+ database: {
10
+ tables: number;
11
+ home: any;
12
+ };
13
+ uploads: {
14
+ files: number;
15
+ };
16
+ offsite: boolean;
17
+ }>;
18
+ export function status(root: any, manifest: any, only: any): Promise<{
19
+ ok: boolean;
20
+ checkedAt: string;
21
+ environments: {};
22
+ }>;
23
+ //# sourceMappingURL=monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/ops/monitor.js"],"names":[],"mappings":"AAWA;;;;;GAgBC;AAQD;;;;;;;;;;GAuCC;AACD;;;;GA+BC"}
@@ -0,0 +1,142 @@
1
+ import { mkdtempSync, rmSync, mkdirSync } from "node:fs";
2
+ import { tmpdir } from "node:os";
3
+ import { join } from "node:path";
4
+ import { allowedComponents, loadState, operatorEnvironment, readEnv } from "./config.js";
5
+ import { coolifyClient } from "./coolify.js";
6
+ import { backupHealth } from "./health.js";
7
+ import { s3Get, s3List } from "./s3.js";
8
+ import { safeArchiveEntries } from "./data.js";
9
+ import { capture, run, sleep } from "./process.js";
10
+ const list = data => Array.isArray(data) ? data : data?.executions || data?.data || [];
11
+ export async function backupRun(root, manifest, name) {
12
+ allowedComponents(manifest, name, ["cms"]);
13
+ const state = loadState(root, name);
14
+ const api = coolifyClient(state.platform.coolifyUrl, operatorEnvironment(root).COOLIFY_TOKEN);
15
+ const before = Date.now() - 2000;
16
+ await api("PATCH", "/databases/" + state.platform.poolUuid + "/backups/" + state.database.backupUuid, { backup_now: true });
17
+ const app = state.apps.cms;
18
+ await api("POST", "/applications/" + app.uuid + "/storages/" + app.uploadsStorageUuid + "/backups/run");
19
+ for (let attempt = 0; attempt < 90; attempt++) {
20
+ const executions = list(await api("GET", "/databases/" + state.platform.poolUuid + "/backups/" + state.database.backupUuid + "/executions"));
21
+ const last = executions.filter(item => Date.parse(item.created_at + (item.created_at.endsWith("Z") ? "" : "Z")) >= before).sort((a, b) => b.created_at.localeCompare(a.created_at))[0];
22
+ if (last?.status === "failed")
23
+ throw new Error("Offsite database backup failed.");
24
+ if (last?.status === "success")
25
+ return { environment: name, database: "success", uploads: "queued", filename: last.filename };
26
+ await sleep(4000);
27
+ }
28
+ throw new Error("Offsite database backup timed out.");
29
+ }
30
+ async function bucketConfig(root, state, api) {
31
+ const secret = readEnv(join(root, ".secrets/backup.env"));
32
+ if (secret.BACKUP_S3_ENDPOINT)
33
+ return { endpoint: secret.BACKUP_S3_ENDPOINT, bucket: secret.BACKUP_S3_BUCKET, region: secret.BACKUP_S3_REGION, user: secret.BACKUP_S3_ACCESS_KEY_ID + ":" + secret.BACKUP_S3_SECRET_ACCESS_KEY };
34
+ const storage = await api("GET", "/s3-storages/" + state.platform.backupStorageUuid);
35
+ if (!storage.key || !storage.secret)
36
+ throw new Error("Set private .secrets/backup.env to verify the offsite backup objects.");
37
+ return { endpoint: storage.endpoint, bucket: storage.bucket, region: storage.region, user: storage.key + ":" + storage.secret };
38
+ }
39
+ export async function backupVerify(root, manifest, name) {
40
+ allowedComponents(manifest, name, ["cms"]);
41
+ const state = loadState(root, name), values = readEnv(join(root, ".secrets", name + ".env"));
42
+ const api = coolifyClient(state.platform.coolifyUrl, operatorEnvironment(root).COOLIFY_TOKEN);
43
+ const bucket = await bucketConfig(root, state, api);
44
+ const objects = s3List(bucket, "data/coolify/backups/").filter(item => item.size > 0).sort((a, b) => b.modified.localeCompare(a.modified));
45
+ const database = objects.find(item => item.key.includes(state.platform.poolUuid) && item.key.includes(state.database.name));
46
+ const uploads = objects.find(item => item.key.includes(state.apps.cms.name + "-uploads"));
47
+ if (!database || !uploads)
48
+ throw new Error("Both nonempty offsite database and uploads backups are required.");
49
+ const directory = mkdtempSync(join(tmpdir(), "flowpress-restore-"));
50
+ const id = "flowpress-restore-" + process.pid;
51
+ try {
52
+ const file = join(directory, database.key.endsWith(".gz") ? "database.sql.gz" : "database.sql");
53
+ s3Get(bucket, database.key, file);
54
+ if (file.endsWith(".gz"))
55
+ run("gunzip", ["-k", file]);
56
+ run("docker", ["run", "--rm", "-d", "--network", "none", "--memory", "1536m", "--name", id, "-e", "MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1", "-e", "MARIADB_DATABASE=restore", "mariadb:11.4"], { stdio: "ignore" });
57
+ for (let attempt = 0; attempt < 60; attempt++) {
58
+ const ready = run;
59
+ try {
60
+ capture("docker", ["exec", id, "healthcheck.sh", "--connect", "--innodb_initialized"]);
61
+ break;
62
+ }
63
+ catch {
64
+ if (attempt === 59)
65
+ throw new Error("Restore test database did not start.");
66
+ await sleep(2000);
67
+ }
68
+ }
69
+ const { readFileSync } = await import("node:fs");
70
+ run("docker", ["exec", "-i", id, "mariadb", "-uroot", "restore"], { input: readFileSync(file.replace(/\.gz$/, "")), stdio: ["pipe", "pipe", "pipe"] });
71
+ if (!/^[a-zA-Z0-9_]+$/.test(values.DB_PREFIX || ""))
72
+ throw new Error("Unsafe WordPress table prefix.");
73
+ const query = sql => capture("docker", ["exec", id, "mariadb", "-uroot", "-N", "restore", "-e", sql]);
74
+ const home = query("SELECT option_value FROM " + values.DB_PREFIX + "options WHERE option_name='home'");
75
+ const tables = Number(query("SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='restore'"));
76
+ if (tables < 10 || new URL(home).origin !== new URL(state.apps.cms.url).origin)
77
+ throw new Error("Restored database identity mismatch.");
78
+ const archive = join(directory, "uploads.tar.gz");
79
+ s3Get(bucket, uploads.key, archive);
80
+ const options = ["run", "--rm", "--network", "none", "--read-only", "--user", String(process.getuid?.() || 0) + ":" + String(process.getgid?.() || 0),
81
+ "--cap-drop", "ALL", "--security-opt", "no-new-privileges", "--tmpfs", "/restore:rw,size=1g,mode=1777", "-v", archive + ":/backup.tar.gz:ro", "alpine:3.22"];
82
+ safeArchiveEntries(capture("docker", [...options, "tar", "-tzf", "/backup.tar.gz"]).split("\n").filter(Boolean));
83
+ const files = capture("docker", [...options, "sh", "-ec", 'tar -xzf /backup.tar.gz -C /restore; find /restore -type f | wc -l']);
84
+ if (Number(files) < 1)
85
+ throw new Error("Restored uploads are empty.");
86
+ return { environment: name, database: { tables, home }, uploads: { files: Number(files) }, offsite: true };
87
+ }
88
+ finally {
89
+ try {
90
+ run("docker", ["rm", "-f", id], { stdio: "ignore" });
91
+ }
92
+ catch { /* startup may have failed */ }
93
+ rmSync(directory, { recursive: true, force: true });
94
+ }
95
+ }
96
+ export async function status(root, manifest, only) {
97
+ const report = { ok: true, checkedAt: new Date().toISOString(), environments: {} };
98
+ for (const name of only ? [only] : Object.keys(manifest.environments)) {
99
+ const state = loadState(root, name);
100
+ if (!Object.keys(state.apps || {}).length) {
101
+ report.environments[name] = { active: false, ok: true };
102
+ continue;
103
+ }
104
+ const result = { active: true, ok: true, apps: {}, backups: {} };
105
+ const api = coolifyClient(state.platform.coolifyUrl, operatorEnvironment(root).COOLIFY_TOKEN);
106
+ for (const [component, app] of Object.entries(state.apps)) {
107
+ try {
108
+ const current = await api("GET", "/applications/" + app.uuid);
109
+ const response = await fetch(app.url + app.health + "?status=" + Date.now(), { signal: AbortSignal.timeout(10000), redirect: "error" });
110
+ const data = await response.json();
111
+ const ok = current.status === "running:healthy" && response.ok && data.status === "ok" && (!app.current || data.release === app.current.sha);
112
+ result.apps[component] = { ok, status: current.status, release: data.release };
113
+ if (!ok)
114
+ result.ok = false;
115
+ }
116
+ catch {
117
+ result.apps[component] = { ok: false, status: "unknown" };
118
+ result.ok = false;
119
+ }
120
+ }
121
+ if (state.database?.backupUuid) {
122
+ try {
123
+ const executions = list(await api("GET", "/databases/" + state.platform.poolUuid + "/backups/" + state.database.backupUuid + "/executions"));
124
+ const bucket = await bucketConfig(root, state, api);
125
+ const objects = s3List(bucket, "data/coolify/backups/");
126
+ result.backups.database = backupHealth({ executions, objects: objects.filter(item => item.key.includes(state.platform.poolUuid) && item.key.includes(state.database.name)), maxAgeHours: 36 });
127
+ result.backups.uploads = backupHealth({ objects: objects.filter(item => item.key.includes(state.apps.cms.name + "-uploads")), maxAgeHours: 36 });
128
+ if (!result.backups.database.ok || !result.backups.uploads.ok)
129
+ result.ok = false;
130
+ }
131
+ catch {
132
+ result.backups = { ok: false, status: "unknown" };
133
+ result.ok = false;
134
+ }
135
+ }
136
+ report.environments[name] = result;
137
+ if (!result.ok)
138
+ report.ok = false;
139
+ }
140
+ return report;
141
+ }
142
+ //# sourceMappingURL=monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/ops/monitor.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export function run(command: any, args: any, options?: {}): import("child_process").SpawnSyncReturns<NonSharedBuffer>;
2
+ export function capture(command: any, args: any, options?: {}): any;
3
+ export function shellQuote(value: any): string;
4
+ export function ssh(platform: any, command: any, options?: {}): any;
5
+ export function sshFile(platform: any, command: any, { input, output }?: {}): Promise<void>;
6
+ export function argValue(args: any, flag: any): any;
7
+ export function containerFor(platform: any, uuid: any): any;
8
+ export function sleep(ms: any): Promise<any>;
9
+ //# sourceMappingURL=process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/ops/process.js"],"names":[],"mappings":"AAIA,sHAKC;AACD,oEAEC;AACD,+CAAgG;AAChG,oEAGC;AACD,4FAQC;AAED,oDAKC;AACD,4DAKC;AAZM,6CAAmE"}
@@ -0,0 +1,48 @@
1
+ import { spawnSync, spawn } from "node:child_process";
2
+ import { createReadStream, createWriteStream } from "node:fs";
3
+ import { pipeline } from "node:stream/promises";
4
+ export function run(command, args, options = {}) {
5
+ const result = spawnSync(command, args, { stdio: "inherit", ...options });
6
+ if (result.error)
7
+ throw new Error("Cannot start " + command + ": " + result.error.code);
8
+ if (result.status !== 0)
9
+ throw new Error(command + " failed (exit " + result.status + ").");
10
+ return result;
11
+ }
12
+ export function capture(command, args, options = {}) {
13
+ return run(command, args, { encoding: "utf8", stdio: ["pipe", "pipe", "pipe"], maxBuffer: 64 * 1024 * 1024, ...options }).stdout.trim();
14
+ }
15
+ export function shellQuote(value) { return "'" + String(value).replaceAll("'", "'\\''") + "'"; }
16
+ export function ssh(platform, command, options = {}) {
17
+ if (!/^[a-zA-Z0-9_.@-]+$/.test(platform.ssh || ""))
18
+ throw new Error("Invalid SSH target.");
19
+ return capture("ssh", ["-o", "BatchMode=yes", "-o", "ConnectTimeout=15", platform.ssh, command], options);
20
+ }
21
+ export async function sshFile(platform, command, { input, output } = {}) {
22
+ if (!/^[a-zA-Z0-9_.@-]+$/.test(platform.ssh || ""))
23
+ throw new Error("Invalid SSH target.");
24
+ const child = spawn("ssh", ["-o", "BatchMode=yes", "-o", "ConnectTimeout=15", platform.ssh, command], { stdio: [input ? "pipe" : "ignore", output ? "pipe" : "inherit", "inherit"] });
25
+ const completion = new Promise((resolve, reject) => {
26
+ child.on("error", reject);
27
+ child.on("exit", code => code === 0 ? resolve() : reject(new Error("SSH stream failed (exit " + code + ").")));
28
+ });
29
+ await Promise.all([completion, ...(input ? [pipeline(createReadStream(input), child.stdin)] : []), ...(output ? [pipeline(child.stdout, createWriteStream(output, { mode: 0o600 }))] : [])]);
30
+ }
31
+ export const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
32
+ export function argValue(args, flag) {
33
+ const index = args.indexOf(flag);
34
+ if (index < 0)
35
+ return undefined;
36
+ if (!args[index + 1] || args[index + 1].startsWith("--"))
37
+ throw new Error("Missing value for " + flag);
38
+ return args[index + 1];
39
+ }
40
+ export function containerFor(platform, uuid) {
41
+ if (!/^[a-z0-9]+$/.test(uuid || ""))
42
+ throw new Error("Invalid resource UUID.");
43
+ const names = ssh(platform, "docker ps --filter name=^" + uuid + " --format '{{.Names}}'").split("\n").filter(Boolean);
44
+ if (names.length !== 1)
45
+ throw new Error("Expected exactly one running container for " + uuid + ".");
46
+ return names[0];
47
+ }
48
+ //# sourceMappingURL=process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/ops/process.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ export function sqlIdentifier(value: any): any;
2
+ export function schemaSql(values: any): string;
3
+ export function poolSecrets(root: any, platformId: any): import("dotenv").DotenvParseOutput;
4
+ export function poolSql(platform: any, password: any, sql: any): any;
5
+ export function provisionPlatform(root: any, manifest: any, { file, apply }?: {
6
+ apply?: boolean | undefined;
7
+ }): Promise<{
8
+ actions: string[];
9
+ platform: {
10
+ id: any;
11
+ coolifyUrl: any;
12
+ serverUuid: any;
13
+ ssh: any;
14
+ network: any;
15
+ subnet: any;
16
+ registry: any;
17
+ registryProject: any;
18
+ backupStorageUuid: any;
19
+ poolUuid: any;
20
+ destinationUuid: any;
21
+ phpImage: any;
22
+ };
23
+ applied: boolean;
24
+ }>;
25
+ export function provision(root: any, manifest: any, name: any, { file, apply, components }?: {
26
+ apply?: boolean | undefined;
27
+ components?: never[] | undefined;
28
+ }): Promise<{
29
+ project: string;
30
+ environment: any;
31
+ components: any;
32
+ actions: string[];
33
+ applied: boolean;
34
+ }>;
35
+ export function syncEnvironment(root: any, name: any, api: any): Promise<{
36
+ keys: string[];
37
+ }>;
38
+ //# sourceMappingURL=provision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../src/ops/provision.js"],"names":[],"mappings":"AAUA,+CAGC;AACD,+CAMC;AACD,4FASC;AACD,qEAKC;AASD;;;;;;;;;;;;;;;;;;;GAyEC;AAED;;;;;;;;;GA8FC;AACD;;GAWC"}