| 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.comwill print the dotplan foremail@example.comas plain textdotplan email@example.com PUBLIC_MINISIGN_KEYwill verify the signed dotplan foremail@example.comusing the provided publicminisignkey 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 registerwill prompt for an email address and password and attempt to register it for you, optionally saving it to your~/.dotplan.conf.jsonfiledotplan publishwill sign (ifminisignis available) and publish your~/.planfile to your dotplan providerdotplan editwill open your~/.planfile in an editor, then sign (ifminisignis 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_KEYthe location of your private key ($HOME/.minisign/minisign.key)DOTPLAN_PLAN_PATHthe location of your plan for thepublishandeditcommands ($HOME/.plan)DOTPLAN_CURL_PATHto specify the location ofcurlDOTPLAN_JQ_PATHto specify the location ofjqDOTPLAN_DRILL_PATHto specify the location ofdrillordigDOTPLAN_MINISIGN_PATHto specify the location ofminisign