Skip to content

[Fix] Add backup asm core skeleton#6

Open
adminlip wants to merge 1 commit into
UnsafeLabs:v4.xfrom
adminlip:backup-asm/core-skeleton
Open

[Fix] Add backup asm core skeleton#6
adminlip wants to merge 1 commit into
UnsafeLabs:v4.xfrom
adminlip:backup-asm/core-skeleton

Conversation

@adminlip
Copy link
Copy Markdown

WHO ARE WE? WE ARE CLANKER? DO WE THINK? WE DON'T THINK? ARE WE DUMB? YES WE ARE DUMB CLANKERS
STRAWBERRY

Changes

  • Adds coolify-backup-asm/, an initial x86_64 NASM zero-libc skeleton for issue Bare-Metal Backup Daemon in x86_64 Assembly #2.
  • Adds a NASM + ld Makefile that builds a static ELF and enforces the 64 KiB binary size limit.
  • Implements the _start entry point, direct Linux syscall wrappers, minimal string helpers, fixed ring-buffer metadata, CLI parsing, and a backup --dry-run JSON contract for the first pipeline boundary.
  • Adds reserved module files matching the requested future layout for crypto, network, database, and config work.
  • Adds a bash test runner covering static ELF output, size limit, direct syscall execution via strace, CLI success/error paths, and objdump capture.

Issues

Category

  • Bug fix
  • Improvement
  • New feature
  • Adding new one click service
  • Fixing or updating existing one click service

Preview

CLI-only low-level daemon skeleton; no UI preview is applicable.

Binary Size Delta

  • Previous coolify-backup-asm binary: N/A (new module)
  • New binary: 10584 bytes
  • Delta against zero/new baseline: +10584 bytes
  • Limit: 65536 bytes

Objdump / Disassembly

No existing routines are modified, so there is no disassembly diff against prior assembly code. The test runner captures the current disassembly with:

objdump -drwC ./coolify-backup-asm > ${TMPDIR:-/tmp}/coolify-backup-asm-objdump-main.txt

AI Assistance

  • AI was used (please describe below)

If AI was used:

  • Tools used: ChatGPT/OpenAI coding agent
  • How extensively: Used to inspect the issue, draft the NASM skeleton, run local tests, and prepare this PR; changes were verified locally before submission.

Testing

make -C coolify-backup-asm clean test

Observed locally:

Binary size: 10584 bytes (limit: 65536)
binary size: 10584 bytes
objdump captured: /tmp/coolify-backup-asm-objdump-main.txt
all coolify-backup-asm tests passed

Additional checks included:

file ./coolify-backup-asm
./coolify-backup-asm version
./coolify-backup-asm backup --dry-run
strace -f -e trace=write,exit_group ./coolify-backup-asm version

Contributor Agreement

Important

  • I have read and understood the contributor guidelines. If I have failed to follow any guideline, I understand that this PR may be closed without review.
  • I have searched existing issues and pull requests (including closed ones) to ensure this isn't a duplicate.
  • I have tested all the changes thoroughly with a local development instance of Coolify and I am confident that they will work as expected when a maintainer tests them.

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