Skip to content

fix(exegol): per-engagement container + workspace location + host-editable ACLs#11

Merged
Dxsk merged 4 commits into
mainfrom
fix/exegol-per-engagement
Jun 11, 2026
Merged

fix(exegol): per-engagement container + workspace location + host-editable ACLs#11
Dxsk merged 4 commits into
mainfrom
fix/exegol-per-engagement

Conversation

@Dxsk

@Dxsk Dxsk commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • dotsec new now CREATES a per-engagement Exegol container (exegol-<target>) non-interactively (exegol start <t> free -w <ws> --accept-eula), my-resources deployed, engagement workspace mounted at /workspace. No more 120s hang waiting on a non-existent shared container.
  • dotsec new <target> <path> — a path-like 2nd positional (., /dir, ~/dir) sets where the workspace is created (resolved absolute).
  • Default POSIX ACLs laid on the workspace so files the root container creates stay editable from the host.
  • Dropped the exegol auto-detection in __dotsec_load_global that pinned every engagement to whatever exegol-* was running.
  • Per-engagement naming propagated to status/stop/rm/restart/archive/tmux/spawn.

Test plan

  • make test (70 bats) + make lint
  • live: dotsec new probe <path>exegol-probe created, /workspace mounted, my-resources present, root-created files editable from host, workspace at the chosen path

Dxsk added 4 commits June 11, 2026 21:34
…120s hang

dotsec new now CREATES the Exegol container instead of waiting on a non-existent shared 'exegol' one. Each engagement gets exegol-<target> via 'exegol start <target> free -w <ws> --accept-eula </dev/null' (non-interactive, my-resources deployed, engagement workspace mounted at /workspace; the auto-attach fails cleanly leaving it detached). tmux_spawn skips fast when the container is absent instead of looping 120s. Container name centralised in __exegol_name (EXEGOL_CONTAINER still overrides). stop/rm act on exegol-<target>; load_cmd sources /workspace/.env.
A path-like 2nd positional (., .., /dir, ./dir, ~/dir) sets where the workspace is created (dotsec new swiss_post .); resolved to an absolute path for Docker mounts. dotsec also lays default POSIX ACLs on the workspace so files the root Exegol/proxy containers create stay editable from the host (your user keeps rwx by inheritance), instead of being root-owned.
…running container

__dotsec_load_global no longer scans for a running exegol-* and forces EXEGOL_CONTAINER: with per-engagement containers that pinned 'dotsec new X' to whatever exegol-* happened to be up. Name now comes from __exegol_name (exegol-<target>); EXEGOL_CONTAINER only set if the user forces it.
@Dxsk Dxsk merged commit 22a5a41 into main Jun 11, 2026
4 checks passed
@Dxsk Dxsk deleted the fix/exegol-per-engagement branch June 11, 2026 20:05
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.

1 participant