Ephemeral Filesystem Limits During Build-Time vs Runtime
0 reputation · 19 Aug 2024, 13:31 UTC
0 reputation · 19 Aug 2024, 13:31 UTC
Scalingo utilizes a container-based model where the application state is ephemeral, ensuring that any data written to the local filesystem is lost upon restart or redeployment. This behavior is critical for maintaining statelessness across scaled containers.
While the runtime environment is strictly ephemeral, there is a distinction in how the filesystem behaves during the build phase versus the execution phase. Specifically, when buildpacks generate artifacts or temporary files during the deployment process, these files are packaged into the final slug.
When managing large temporary datasets during the build process, it is unclear where the hard limit for the ephemeral disk space resides before the build process is terminated by the platform.
The maximum disk space available for temporary files during the build phase is limited by the application’s slug size quota. By default this quota is 1 GB, and the build container shares the same writable‑layer limit as the runtime container unless a plan‑specific override is set.
SCALINGO_DISK_QUOTA environment variable on certain plans.dd if=/dev/zero of=/tmp/verify.img bs=1M count=1500 and observe whether the build aborts with a slug‑size‑exceeded error.scalingo run --size=1 --command="df -h /tmp" and compare the reported available space to the configured quota.To give a precise quota value, please confirm which Scalingo plan (or any custom SCALINGO_DISK_QUOTA setting) your application is using, as paid plans may override the default 1 GB limit.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.