What ships ready to use
The read-only Linux pack covers network, disk, memory, services and logs. Every tool in it is effect: read. It is tested on Debian, Ubuntu and Alpine, including an Alpine image with BusyBox and no extra packages. A flavor the spec does not accept is refused before it runs.
Read-only twice
- In the spec. Every action in the pack reads. There is no write action to grant by mistake.
- On the host. The connector profile
linux-readonlyallows each of those programs atmax_effect: read. The machine owner sets that limit, and the bastn connector enforces it locally, whatever the policy on the gateway says.
What the agent sees
Illustrative calls from an on-call agent during an alert:
oncall-agent -> systemctl_status unit nginx · on web-42 allowed audited
oncall-agent -> journalctl_unit unit nginx · on web-42 allowed audited
oncall-agent -> route_get address 10.0.4.12 · on web-42 allowed auditedEach call has typed arguments. A value that does not match its pattern never reaches the host.
Every host, by label
Enrol each host with labels such as web, db or prod. Give the on-call agent the read actions on those labels. A new host gets them as soon as its connector enrols.
When it needs to change something
Reading is where most triage ends. When a fix is needed, hand it to an agent whose menu includes the fix, with the risky calls held for you. See remediation with approvals.