Abra cheat sheet¶
not all flags are listed here.
Definitely set up autocomplete or you'll be sad
abra autocomplete bash/zsh/fizsh
create and deploy a new app:¶
abra app new $RECIPEflags:
abra app config $APPNAME
abra app secret generate $APPNAME -aflags:
abra app deploy $APPNAMEflags:
undeploy and remove an app¶
- back up any data you don't want to lose
abra app undeploy $APPNAME
abra app rm --volumes $APPNAMEflags:
abra server add $SERVER
abra server remove $SERVERflags:
upgrade a recipe¶
abra recipe upgrade $RECIPEflags:
abra recipe sync $RECIPEflags:
abra recipe release $RECIPE [$VERSION]flags:
make a change to a recipe¶
- edit the files in
- 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
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.
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
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)
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
abra app ls -m -S |jq '[..apps | select(.status == "deployed") | del(.upgrade)]' |tv
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.