Skip to content

doorman Commands

Sequence diagrams for each doorman subcommand — the C4 dynamics level of the doorman architecture. Participants are doorman's two internal components — cmd/ (Cobra command handlers) and plugin/ (discovery and subprocess delegation) — plus the externals they talk to: the filesystem ($PATH directories) and the doorman-* plugin subprocesses. The current code ships exactly these two subcommands; the resolve, list, and settings commands mentioned in older docs are not present in the source.

doorman get

Retrieves one secret by key. --from <name> is required and names the backend; doorman prefixes it to build the binary name (--from vaultdoorman-vault), resolves it on PATH, and runs doorman-<name> get <key> with its stdout and stderr wired straight through — the secret reaches the caller verbatim, with no framing or trailing newline added by doorman. Exit is 0 on success, 1 if the flag is missing, the plugin is not on PATH, or the plugin exits non-zero. Note the repo README shows an auto-detect form without --from; the code has no such path — the flag is mandatory.

doorman get doorman get

doorman plugins

Scans every $PATH directory for executable files named doorman-* (unreadable directories are silently skipped, duplicates deduped by name), then runs <plugin> info -o json on each and parses the reply — HERY envelope (_type/_body) first, flat JSON as fallback. Output is a table by default, or -o json|yaml; --hery wraps the rows in an amadla.org/entity/tools/plugins@v1.0.0 envelope. An unrecognized -o value silently falls back to table. A plugin whose info call fails still gets a row (? fields, error in the description), and finding no plugins prints a notice on stderr — both cases still exit 0.

doorman plugins doorman plugins