dotplan | ||
LICENSE | ||
README.md |
Dotplan CLI
A shell script to interact with dotplan providers.
Requirements
Install these using your distribution's package manager, or compile from source if your distribution does not provide recent versions.
Basic Usage
dotplan email@example.com
will print the dotplan foremail@example.com
as plain textdotplan email@example.com PUBLIC_MINISIGN_KEY
will verify the signed dotplan foremail@example.com
using the provided publicminisign
key before printing it
Advanced Usage
dotplan-cli
can be used to register an account and publish dotplans on Dotplan Online or other providers running compatible implementations.
Configure your email and password in ~/.dotplan.conf.json
. Make sure this file is read-protected after you create it (chmod 0600 ~/.dotplan.conf.json
):
{
"auth": {
"email": "user@example.com",
"password": "my-password-123"
}
}
dotplan register
will prompt for an email address and password and attempt to register it for you, optionally saving it to your~/.dotplan.conf.json
filedotplan publish
will sign (ifminisign
is available) and publish your~/.plan
file to your dotplan providerdotplan edit
will open your~/.plan
file in an editor, then sign (ifminisign
is available) and publish it to your dotplan provider after you save and exit
Optional Configuration
If you set auth.provider
in your ~/.dotplan.conf.json
file, the register
, publish
, and edit
commands will use that instead of discovering via SRV
records. If you set relayProvider
, all dotplans will be fetched from there instead of discovering via SRV
records.
{
"auth": {
"email": "user@example.com",
"password": "my-password-123",
"provider": "https://dotplan.online"
},
"relayProvider": "https://dotplan.online"
}
Several other aspects can be configured via environment variables:
DOTPLAN_CONFIG_PATH
: the config file to read and write ($HOME/.dotplan.conf.json
)DOTPLAN_MINISIGN_PRIVATE_KEY
the location of your private key ($HOME/.minisign/minisign.key
)DOTPLAN_PLAN_PATH
the location of your plan for thepublish
andedit
commands ($HOME/.plan
)DOTPLAN_CURL_PATH
to specify the location ofcurl
DOTPLAN_JQ_PATH
to specify the location ofjq
DOTPLAN_DRILL_PATH
to specify the location ofdrill
ordig
DOTPLAN_MINISIGN_PATH
to specify the location ofminisign