MAQPNADocs

maqpna exec

Run a command in a session's sandbox (kubectl exec; privileged, audited)

Run agents

Synopsis#

maqpna exec SESSION | sess/NAME | ag/AGENT [-n NS] [-c CONTAINER] [-i] [-t] -- COMMAND [ARG...]
maqpna exec SESSION --governed [-n NS] [--gateway URL] -- COMMAND [ARG...]

Description#

exec runs kubectl exec in the session's sandbox pod (default container: agent) after checking that you may create pods/exec there, and records a Warning event PrivilegedAccess on the AgentSession. It bypasses the gateway's tool policy: prefer --governed, which runs the command through the gateway's session API (maqpna session exec: policy-checked, in the audit ledger). Needs kubectl on PATH.

Flags#

FlagTypeDescriptionDefault
--allow-gateway-mismatchswitchsend the context's login token to a gateway other than the one it was issued for (env MAQPNA_ALLOW_GATEWAY_MISMATCH=1)none
-c, --containerstringsame as -cagent
--gatewaystringgateway base URL (env MAQPNA_GATEWAY_URL; default: the context's gateway)none
--governedswitchrun through the gateway's session API (policy-checked, audited) instead of the podnone
-i, --stdinswitchpass stdin to the containernone
-n, --namespacestringnamespacedefault
--oidc-token-filestringfile holding an OIDC access token for the admin API (env MAQPNA_OIDC_TOKEN_FILE); wins over --tokennone
-t, --ttyswitchallocate a TTYnone
--tokenstringstatic admin token (env MAQPNA_ADMIN_TOKEN; dev/break-glass)none

The global flags (--context, -o, --no-color, ...) work with every command.

Examples#

maqpna exec coder-x1 -n team-a -it -- sh
maqpna exec coder-x1 --governed -n team-a -- ls /workspace

What happens when you run it#

  • Talks to the gateway: --gateway, else MAQPNA_GATEWAY_URL, else the current context's gateway (maqpna context).
  • Authenticates to the admin API with the token stored by maqpna login, --oidc-token-file, or a static --token (MAQPNA_ADMIN_TOKEN).

Exit codes#

CodeMeaning
0success
1error (the message says what failed, with a hint when there is one)
2usage error: unknown flag, missing argument or bad value; the synopsis is printed
3a check failed, a change is blocked, or a result did not match (tamper, policy mismatch) (not used by this command)