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/--pass
- abra app config $APPNAME
- abra app secret generate $APPNAME -aflags:- -p/--pass,- -a/--all
- abra 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 $APPNAME
- abra app rm --volumes $APPNAMEflags:- -f/--force,- -V/--volumes
add/remove server
- abra server add $SERVER
- abra server remove $SERVERflags:- -s/--server
upgrade abra
- abra upgradeflags:- --rc
upgrade a recipe
- abra recipe upgrade $RECIPEflags:- -x,y,z/--major,minor,patch
- abra recipe sync $RECIPEflags:- -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.