feat: harden podman deployment orchestration

This commit is contained in:
Yahya Alhinai
2026-06-28 01:44:26 +00:00
parent 5185845090
commit c818d5081e
37 changed files with 1796 additions and 273 deletions
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env node
import { cp, chmod, rm } from 'node:fs/promises';
const source = process.env.PODMAN_STATIC_SOURCE ?? 'frontend/dist';
const target = process.env.PODMAN_STATIC_TARGET ?? '/var/www/podman';
await rm(target, { recursive: true, force: true });
await cp(source, target, { recursive: true });
await chmod(target, 0o755);
const stack = [target];
while (stack.length) {
const dir = stack.pop();
const { readdir } = await import('node:fs/promises');
const entries = await readdir(dir, { withFileTypes: true });
for (const entry of entries) {
const path = `${dir}/${entry.name}`;
if (entry.isDirectory()) {
await chmod(path, 0o755);
stack.push(path);
} else {
await chmod(path, 0o644);
}
}
}
console.log(JSON.stringify({ ok: true, source, target }, null, 2));