Skip to content

Make borg more flexible

André Breda requested to merge ist189409/nixrnl:borg-complain-but-allow into master

Description of changes

Starting jobs from outside borg appears to have some undiagnosed issues (which are hard to diagnose without full system access). And it's currently hard to use custom scripts to start jobs in borg, even if they don't consume much resources (e.g. mine uses Python and bc for math, and make to handle retries and parallel execution).

It's imperative to allow general computation in borg, while keeping users in check, and discouraging them from performing any computation that is not related to job preparation/launching in borg.

Keeping users in check was already solved (see resource limits from !7 (merged)), this MR addresses the remaining items.

  • Allows nix shell usage in borg.
  • Splits software profile into shell and devtools components, and includes the general shell components in borg.
    • Build systems and tools, and debuggers were considered build tools.
    • Tools that are flexible enough to be used in scenarios outside software compilation (like make) are in both sections.
  • Introduces a new package dontcompileinborg which displays a warning and exits with an error code when invoked, and is symlinked to common compiler.
    • Should avoid students compiling their project due to brain-dead copy and paste from guides.

Things done

  • Tested
  • Updated documentation (Wiki/NetBox)
  • Breaking change
Edited by André Breda

Merge request reports

Loading