blowhorn config
blowhorn config: get, path, set, show.
The blowhorn config commands. Each one's --help prints the same text.
| Command | What it does |
|---|---|
config get |
Print one option's effective value, which layer supplied it (a flag, the environment, the file or the built-in) and which document holds it. |
config path |
Print the effective global config file path. |
config set |
Set a dotted key in the global config file, keeping the file's comments, key order and unknown keys as written. |
config show |
Display the current global config file contents, followed by the private connection file that defaults.store.config points at (~/.config/blowhorn/store.yaml, mode 0600) with store.password reported... |
blowhorn config get
Print one option's effective value, which layer supplied it (a flag, the environment, the file or the built-in) and which document holds it: .blowhorn.yaml for defaults.<name>, the private connection file for store.<name>. store.password is reported as set or not set and never printed. With --json, the same row 'config show --json' carries for the option.
blowhorn config get [OPTIONS] key| Argument | Required | Description |
|---|---|---|
key |
yes | Dotted option key: defaults.<name> lives in .blowhorn.yaml, store.<name> in the private connection file |
| Flag | Type | Default | Description |
|---|---|---|---|
--json |
boolean | false |
Emit the option report as machine-readable JSON |
--platform |
string | Accepted and ignored by 'blowhorn config': this command never acts on a platform, so --platform has no effect here -- including a value inherited from BLOWHORN_PLATFORM or defaults.platform in .blowhorn.yaml | |
--pace |
string | Accepted by 'blowhorn config get' because --pace is a global flag, but this command does no paced work -- it opens no browser and sleeps between nothing -- so the value changes nothing about how it runs and appears only in the Pace column of the -v summary. Resolved as CLI flag, then BLOWHORN_PACE, then defaults.pace in .blowhorn.yaml (normal when none is set); an unrecognized value is rejected before anything runs |
Also takes the shared flags: --config, --log-dir, --profile, --exclude, --headless, --chrome-launch, --headed, --dry-run, --verbose.
Examples:
blowhorn config get defaults.profile
blowhorn config get store.password
blowhorn config get store.tunnel.remote --jsonOutput: json with --json, text otherwise.
blowhorn config path
Print the effective global config file path.
blowhorn config path [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--platform |
string | Accepted and ignored by 'blowhorn config': this command never acts on a platform, so --platform has no effect here -- including a value inherited from BLOWHORN_PLATFORM or defaults.platform in .blowhorn.yaml | |
--pace |
string | Accepted by 'blowhorn config path' because --pace is a global flag, but this command does no paced work -- it opens no browser and sleeps between nothing -- so the value changes nothing about how it runs and appears only in the Pace column of the -v summary. Resolved as CLI flag, then BLOWHORN_PACE, then defaults.pace in .blowhorn.yaml (normal when none is set); an unrecognized value is rejected before anything runs |
Also takes the shared flags: --config, --log-dir, --profile, --exclude, --headless, --chrome-launch, --headed, --dry-run, --verbose.
Examples:
blowhorn config pathOutput: text.
blowhorn config set
Set a dotted key in the global config file, keeping the file's comments, key order and unknown keys as written. A key the engine reads is stored in its own type (defaults.headless becomes a boolean, defaults.exclude a list even for one name, an empty value clears the key); for any other key, true/false become booleans and comma-delimited values become lists. A store.<name> key -- the database connection and the bastion tunnel -- is written to the private connection file that defaults.store.config points at (~/.config/blowhorn/store.yaml, created at mode 0600 in a 0700 directory) and never to .blowhorn.yaml, which git tracks. 'store.password' with no value prompts for it, so the password is never in argv or the daily log; an empty read -- no stdin, or a blank line -- is refused and nothing is written, so the one way to clear a stored password is the explicit empty argument "blowhorn config set store.password ''". A value that starts with a dash is read as an option unless you end the options first: write "blowhorn config set <key> -- <value>", which is also how a refused value gets the sentence saying what a valid one is.
blowhorn config set [OPTIONS] key [value]| Argument | Required | Description |
|---|---|---|
key |
yes | Dotted option key: defaults.<name> lives in .blowhorn.yaml, store.<name> in the private connection file |
value |
no | Value to assign to the key. Leave it out for store.password to be prompted for it instead; an empty prompt clears nothing, so pass an explicit '' to clear a stored value |
| Flag | Type | Default | Description |
|---|---|---|---|
--json |
boolean | false |
Emit the option report as machine-readable JSON |
--platform |
string | Accepted and ignored by 'blowhorn config': this command never acts on a platform, so --platform has no effect here -- including a value inherited from BLOWHORN_PLATFORM or defaults.platform in .blowhorn.yaml | |
--pace |
string | Accepted by 'blowhorn config set' because --pace is a global flag, but this command does no paced work -- it opens no browser and sleeps between nothing -- so the value changes nothing about how it runs and appears only in the Pace column of the -v summary. Resolved as CLI flag, then BLOWHORN_PACE, then defaults.pace in .blowhorn.yaml (normal when none is set); an unrecognized value is rejected before anything runs |
Also takes the shared flags: --config, --log-dir, --profile, --exclude, --headless, --chrome-launch, --headed, --dry-run, --verbose.
Examples:
blowhorn config set defaults.profile lee
blowhorn config set defaults.pace slow
blowhorn config set defaults.exclude layer5,lee,meshery,kanvas
blowhorn config set defaults.logs.directory ~/blowhorn-logs
blowhorn config set defaults.logs.retention_days 365
blowhorn config set defaults.logs.retention_days -- -1
blowhorn config set defaults.exclude ''
blowhorn config set defaults.headless true --json
blowhorn config set defaults.store.organization layer5
blowhorn config set store.tunnel.target someone@bastion.example.com
blowhorn config set store.password
blowhorn config set store.password ''Output: json with --json, text otherwise.
blowhorn config show
Display the current global config file contents, followed by the private connection file that defaults.store.config points at (~/.config/blowhorn/store.yaml, mode 0600) with store.password reported as set or not set and never printed. With --json, report every option .blowhorn.yaml honours instead: the value stored in the file, the environment override in force, the effective value and which of them supplied it, plus any keys under defaults the engine does not read; the private file's options are read with 'blowhorn config get' and 'blowhorn store --json'.
blowhorn config show [OPTIONS]| Flag | Type | Default | Description |
|---|---|---|---|
--json |
boolean | false |
Emit the option report as machine-readable JSON |
--platform |
string | Accepted and ignored by 'blowhorn config': this command never acts on a platform, so --platform has no effect here -- including a value inherited from BLOWHORN_PLATFORM or defaults.platform in .blowhorn.yaml | |
--pace |
string | Accepted by 'blowhorn config show' because --pace is a global flag, but this command does no paced work -- it opens no browser and sleeps between nothing -- so the value changes nothing about how it runs and appears only in the Pace column of the -v summary. Resolved as CLI flag, then BLOWHORN_PACE, then defaults.pace in .blowhorn.yaml (normal when none is set); an unrecognized value is rejected before anything runs |
Also takes the shared flags: --config, --log-dir, --profile, --exclude, --headless, --chrome-launch, --headed, --dry-run, --verbose.
Examples:
blowhorn config show
blowhorn config show --config ~/.blowhorn.yaml
blowhorn config show --jsonOutput: json with --json, text otherwise.