Skip to content

Worker: run executors through a seperate process - #3

Merged
numkem merged 18 commits into
masterfrom
worker
Oct 16, 2026
Merged

numkem merged 18 commits into
masterfrom
worker

Conversation

@numkem

@numkem numkem commented Oct 15, 2026

Copy link
Copy Markdown
Owner

By splitting the executor out of the main server binary. It's possible
to apply better permissions on it. It also fixes the os.Chdir() issue
with the Lua executor that could allow 2 different scripts to write at
the same place. By default the worker doesn't a PATH variable set. This
is were the -wenv switch comes in as it allows to write a file
containing all the environment variables the worker should have.

  • Binary created under cmd/worker
  • Reworked NixOS module to compensate
  • Add integration tests using runNixosTest
  • Fix missing folders not being created by the NixOS module
  • The module doesn't set -etcdurl and -nats if not needed
  • flake: Package set is now created by a function so it will be equal
    accross the different architectures.
  • Unify the tests into a single file per backend
  • Shared fixtures are in fixtures.nix
  • Add username/password/policy for pulls in the json
  • Fixes on the podman executor itself
  • Properly set XDG_RUNTIME_DIR/HOME on the service
  • Podman executor will use the podman root socket by default
  • Update podman Go bindings to latest version

By splitting the executor out of the main server binary. It's possible
to apply better permissions on it. It also fixes the os.Chdir() issue
with the Lua executor that could allow 2 different scripts to write at
the same place. By default the worker doesn't a PATH variable set. This
is were the -wenv switch comes in as it allows to write a file
containing all the environment variables the worker should have.

- Binary created under cmd/worker
- Reworked NixOS module to compensate
- Add integration tests using runNixosTest
- Fix missing folders not being created by the NixOS module
- The module doesn't set -etcdurl and -nats if not needed
- flake: Package set is now created by a function so it will be equal
  accross the different architectures.
- Unify the tests into a single file per backend
- Shared fixtures are in fixtures.nix
- Add username/password/policy for pulls in the json
- Fixes on the podman executor itself
- Properly set XDG_RUNTIME_DIR/HOME on the service
- Podman executor will use the podman root socket by default
- Update podman Go bindings to latest version
@numkem numkem self-assigned this Oct 15, 2026
@numkem numkem changed the title Worker Worker: run executors through a seperate process Oct 15, 2026
@numkem
numkem merged commit 607581e into master Oct 16, 2026
1 check passed
@numkem
numkem deleted the worker branch October 17, 2026 00:29
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