oz0 policy
For: Operators and developers looking up a command.
The tenant's tool policy decides what happens to each call of a plugin's functions: Allow (the call runs), Ask (a person decides each call) or Refuse (the call is not made, and the agent is told why). Rules name functions, <tool>.<function> with * for anything, and the first rule that matches a call decides it; a function no rule names gets the default for its type: Read, Destructive, Reaches outside or Unknown (it does not say what it does).
Floors, such as the taint-default rule, and a plugin's own requires_approval only ever raise a decision.
allow, ask and refuse add one rule, placed as a plugin's switch places its rule: just before the rule that decided its functions for every caller, after the rules that decide only some calls (a condition, a caller), which still win for those calls. remove, edit and explain work on one rule by its ID (oz0 policy show lists them). export writes the whole policy as a file and apply reads one back, showing every change first.
Nothing replaces rules you did not name.
Every change takes a reason (--reason, or $OZ0_REASON); a change that loosens the policy waits for another admin where four eyes are on. The old commands, oz0 tenant tool-policy and oz0 plugin policy, work as before.
Usage
oz0 policy [command]
Subcommands
Inherited flags
| Flag | Type | Default | Description |
|---|---|---|---|
--context | string | $OZ0_CONTEXT or <config dir>/orchestrator-zero/context.json | CLI context file written by server init |
--log-level | string | info | log level: debug, info, warn or error |
See all oz0 commands and the global flags.