2.6 KiB
title
| title |
|---|
| Cheat sheet |
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 $RECIPEflags:-s/--server,-D/--domain,-S/--secrets,-p/--passabra app config $APPNAMEabra app secret generate $APPNAME -aflags:-p/--pass,-a/--allabra app deploy $APPNAMEflags:-f/--force,-C/--chaos
undeploy and remove an app
- back up any data you don't want to lose
abra app undeploy $APPNAMEabra app rm --volumes $APPNAMEflags:-f/--force,-V/--volumes
add/remove server
abra server add $SERVER $USERNAME $SSH_PORTflags:-p/--provision,-l/--localabra server remove $SERVERflags:-s/--server
upgrade abra
abra upgradeflags:--rc
upgrade a recipe
abra recipe upgrade $RECIPEflags:-x,y,z/--major,minor,patchabra recipe sync $RECIPEflags:-x,y,zabra 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 t

11:51
v 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.