Abra cheat sheet¶
Info
not all flags are listed here.
Warning
Definitely set up autocomplete or you'll be sad
abra autocomplete bash/zsh/fizsh
create and deploy a new app:¶
abra app new $RECIPE
flags:-s/--server
,-D/--domain
,-S/--secrets
,-p/--pass
abra app config $APPNAME
abra app secret generate $APPNAME -a
flags:-p/--pass
,-a/--all
abra app deploy $APPNAME
flags:-f/--force
,-C/--chaos
undeploy and remove an app¶
- back up any data you don't want to lose
abra app undeploy $APPNAME
abra app rm --volumes $APPNAME
flags:-f/--force
,-V/--volumes
add/remove server¶
abra server add $SERVER
abra server remove $SERVER
flags:-s/--server
upgrade abra¶
abra upgrade
flags:--rc
upgrade a recipe¶
abra recipe upgrade $RECIPE
flags:-x,y,z/--major,minor,patch
abra recipe sync $RECIPE
flags:-x,y,z
abra recipe release $RECIPE [$VERSION]
flags:-p/--publish
,-r/--dry-run
,-x,y,z
make a change to a recipe¶
- edit the files in
~/.abra/recipe/$RECIPENAME
- deploy the changed version to your test instance
- determine how serious your change is (semver.org for reference)
abra recipe release $RECIPE [$VERSION]
Advanced Listing using jq
¶
Several abra
commands can output JSON formatted tables, and can thus be queried and filtered with the tool jq. We can also format these outputs with tv into a pretty table.
Currently, abra recipe ls
, abra server ls
, and abra app ls
support the -m
machine readable output flag which outputs JSON.
Filter recipes by "category"¶
abra recipe ls -m | jq '[.[] | select(.category == "Utilities") ]' | tv
As you can see we, we're selecting all recipes where category is "Utilities".
Filter apps by state deployed
¶
Info
abra app ls -S
queries each server in your added server list, where as without the -S
it only lists from your local copy of the sever files (thus providing no information about actual state of the apps)
Info
abra app ls
lists apps grouped into a server object, with statistics about the server. In jq
we can select the entire apps list with .[].apps[]
.
abra app ls -m -S |jq '[.[].apps[] | select(.status == "deployed") | del(.upgrade)]' |tv
The del(.upgrade)
filter filters out available versions for the recipe in question for that row. It could be useful to leave in if you want a list of deployed apps that need an upgrade.