The `xactfetch` script now uses a helper tool, `secretsocket` to handle looking up secrets. This tool supports various secret source types, including files, environment variables, and external commands. Separating this functionality out of the main script makes it a lot more flexible and pluggable. It's main purpose, though, was actually to allow `xactfetch` to run in a container while communicating with `rbw` outside that container, specifically for development puposes. The `secretsocket` tool reads its configuration from a TOML document. This document defines the secrets the tool handles, and how to look them up. Note that the `xactfetch` container image no longer defines the `XDG_CONFIG_HOME` environment variable, as it uses Chromium instead of Firefox now, and the former does not work with a read-only config directory. As such, we have to mount the `rbw` configuration in the default location.
30 lines
670 B
TOML
30 lines
670 B
TOML
['firefly.token']
|
|
exec = 'rbw get xactfetch'
|
|
|
|
['firefly.import.secret']
|
|
path = '/run/secrets/xactfetch/firefly-import.secret'
|
|
|
|
['firefly.import.username']
|
|
string = 'svc.xactfetch'
|
|
|
|
['firefly.import.password']
|
|
path = '/run/secrets/xactfetch/firefly-import.password'
|
|
|
|
['bank.commerce.username']
|
|
string = 'admiraln3mo'
|
|
|
|
['bank.commerce.password']
|
|
exec = '''rbw get --folder Websites 'Commerce Bank' admiraln3mo'''
|
|
|
|
['bank.commerce.otp']
|
|
exec = '''rbw code --folder Websites 'Commerce Bank' admiraln3mo'''
|
|
|
|
['bank.chase.username']
|
|
string = 'AdmiralN3mo'
|
|
|
|
['bank.chase.password']
|
|
exec = '''rbw get --folder Websites Chase AdmiralN3mo'''
|
|
|
|
['bank.chase.otp']
|
|
exec = 'chase2fa'
|