runspec-linux-root 0.1.0__tar.gz → 0.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to `runspec-linux-root` are documented here.
4
4
 
5
+ ## [0.1.1] — 2026-10-01
6
+
7
+ - `enable-passwordless-sudo --scope scoped`: the help text and README now say
8
+ the scoped grant also covers runspec-console and MCP-gateway runs, from
9
+ runspec 0.70.0 (their env prelude runs on the venv's `bin/python`).
10
+ `--scope all` is no longer needed for those. No code change.
11
+
5
12
  ## [0.1.0] — 2026-09-30
6
13
 
7
14
  First release. The Linux tools that need root, split out of `runspec-linux`
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: runspec-linux-root
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: Linux admin runnables that need root (packages, reboot, sysctl) for runspec
5
5
  Project-URL: Documentation, https://runspec.app/
6
6
  Project-URL: Source, https://github.com/jasonfinestone/runspec/tree/main/packages/python/runspec-linux-root
@@ -62,9 +62,11 @@ otherwise, naming the account to `sudo -u` to.
62
62
  which never prompts for a password, so the admin needs a passwordless sudo rule.
63
63
  `enable-passwordless-sudo` installs one:
64
64
 
65
- - `--scope scoped` allows only this venv's tools, run directly
66
- (`sudo /opt/venvs/admin/bin/<tool>` from a shell or cron). It does **not**
67
- cover the console or the gateway, which pass variables to the tool through a
68
- `sh` prelude so that secrets never go on a command line; sudo then sees `sh`,
69
- not the tool.
70
- - `--scope all` grants `NOPASSWD: ALL`, which the console and the gateway need.
65
+ - `--scope scoped` allows only the programs in this venv's `bin/`. That covers
66
+ direct runs (`sudo /opt/venvs/admin/bin/<tool>` from a shell or cron) and,
67
+ with runspec-console / runspec-mcp built on runspec ≥ 0.70.0, console and
68
+ gateway runs too. Those pass variables to the tool on stdin through a small
69
+ prelude that runs on the venv's own `bin/python`, which the scoped rule covers.
70
+ (Before runspec 0.70.0 the prelude ran on `sh`, which the scoped rule doesn't
71
+ cover, so console runs that carried variables needed `--scope all`.)
72
+ - `--scope all` grants `NOPASSWD: ALL`.
@@ -44,9 +44,11 @@ otherwise, naming the account to `sudo -u` to.
44
44
  which never prompts for a password, so the admin needs a passwordless sudo rule.
45
45
  `enable-passwordless-sudo` installs one:
46
46
 
47
- - `--scope scoped` allows only this venv's tools, run directly
48
- (`sudo /opt/venvs/admin/bin/<tool>` from a shell or cron). It does **not**
49
- cover the console or the gateway, which pass variables to the tool through a
50
- `sh` prelude so that secrets never go on a command line; sudo then sees `sh`,
51
- not the tool.
52
- - `--scope all` grants `NOPASSWD: ALL`, which the console and the gateway need.
47
+ - `--scope scoped` allows only the programs in this venv's `bin/`. That covers
48
+ direct runs (`sudo /opt/venvs/admin/bin/<tool>` from a shell or cron) and,
49
+ with runspec-console / runspec-mcp built on runspec ≥ 0.70.0, console and
50
+ gateway runs too. Those pass variables to the tool on stdin through a small
51
+ prelude that runs on the venv's own `bin/python`, which the scoped rule covers.
52
+ (Before runspec 0.70.0 the prelude ran on `sh`, which the scoped rule doesn't
53
+ cover, so console runs that carried variables needed `--scope all`.)
54
+ - `--scope all` grants `NOPASSWD: ALL`.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "runspec-linux-root"
7
- version = "0.1.0"
7
+ version = "0.1.1"
8
8
  requires-python = ">=3.10"
9
9
  description = "Linux admin runnables that need root (packages, reboot, sysctl) for runspec"
10
10
  readme = "README.md"
@@ -142,4 +142,4 @@ required = false
142
142
  type = "choice"
143
143
  options = ["scoped", "all"]
144
144
  default = "scoped"
145
- description = "scoped = NOPASSWD only for this venv's tools, run directly (sudo <venv>/bin/<tool> from a shell or cron); all = NOPASSWD: ALL (also needed for runs from runspec-console or the MCP gateway)"
145
+ description = "scoped = NOPASSWD only for the programs in this venv's bin/ (direct runs, and runspec-console / MCP gateway runs built on runspec >= 0.70.0); all = NOPASSWD: ALL"