Skip to content

fix: resolve #2 - #11

Open
Shaidyk wants to merge 1 commit into
UnsafeLabs:v4.xfrom
Shaidyk:fix/issue-2
Open

fix: resolve #2#11
Shaidyk wants to merge 1 commit into
UnsafeLabs:v4.xfrom
Shaidyk:fix/issue-2

Conversation

@Shaidyk

@Shaidyk Shaidyk commented Jun 18, 2026

Copy link
Copy Markdown

Resolves #2.

Turned the standalone x86_64 copy-engine into a real daemon and wired it into Coolify's actual backup stack. (1) backup-daemon.s now implements the scheduling-loop layer the issue requires — a --every <seconds> daemon mode (copy → fsyncnanosleep → repeat) and a --fsync <path> durability mode — alongside the existing one-shot copy. (2) The binary is assembled (amd64-only, guarded) and installed at /usr/local/bin/coolify-backup-daemon inside the helper image (docker/coolify-helper/Dockerfile) — the image Coolify already runs on the managed server during backups. (3) DatabaseBackupJob::flushBackupToDisk() invokes the daemon in --fsync mode after every dump, so a reported-good backup is actually flushed to disk on the real backup path (opportunistic, never fails a backup). (4) Added tests/Feature/BackupDaemonPackagingTest.php, which runs in Coolify's Pest/PHP CI (mirroring the existing RealtimeTerminalPackagingTest), plus extended the node:test suite for the new modes, and made the helper workflow rebuild when the asm changes.

/claim #2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bare-Metal Backup Daemon in x86_64 Assembly

1 participant