Skip to content

Deploy a release by moving it, and stop on a full disk² - #233

Merged
michelroegl-brunner merged 1 commit into
mainfrom
fix/forge-deploy-disk-space
Nov 12, 2026
Merged

michelroegl-brunner merged 1 commit into
mainfrom
fix/forge-deploy-disk-space

Conversation

@MickLesk

Copy link
Copy Markdown
Member

✍️ Description

Staging moved from /tmp to disk in #218, and the deploy step still copied the unpacked release into its target, so it was on disk twice. LibreNMS on its 4 GB disk ran out of space in 41 installs within four days. The tarball mode ignored cp's failure and returned 0, so the install went on with a partial tree and only failed when it could not write the version file.

Entries the target does not have yet are now moved, the rest copied over and removed from staging. A failed deploy on a full disk says so and returns 252.

🔗 Related Issue

Fixes #

✅ Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected (Proxmox VE and/or Incus, as applicable).
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.
  • API.txt regenerated – If a function signature or behavior changed, API.txt was updated to match.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • ✨ New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing behavior in a way that may require updates in every downstream script.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, docs/, CONTRIBUTING.md, or other docs.

🤖 AI Assistance (X in brackets)

If you used an AI tool (GitHub Copilot, Claude, ChatGPT, etc.) to write or generate any code in this PR, you must confirm compliance below.
Select exactly one option.

  • No AI used – Code was written without AI assistance.
  • AI was used – The output has been reviewed and corrected, and I take responsibility for it matching this repo's conventions.

Staging moved from /tmp to disk in #218, and the deploy step still
copied the unpacked release into its target, so it was on disk twice.
LibreNMS on its 4 GB disk ran out of space in 41 installs within four
days. The tarball mode ignored cp's failure and returned 0, so the
install went on with a partial tree and only failed when it could not
write the version file.

Entries the target does not have yet are now moved, the rest copied
over and removed from staging. A failed deploy on a full disk says so
and returns 252.
@michelroegl-brunner
michelroegl-brunner merged commit 5224736 into main Nov 12, 2026
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.

2 participants