|
|
|
[update system repos]
|
|
|
|
system: update
|
|
|
|
|
|
|
|
[upgrade the system]
|
|
|
|
system: upgrade
|
|
|
|
|
|
|
|
[reboot the system]
|
|
|
|
system: reboot
|
|
|
|
|
|
|
|
[function for setting up apache]
|
|
|
|
func = apache_setup
|
|
|
|
|
|
|
|
[install apache]
|
|
|
|
install: apache2
|
|
|
|
func: apache_setup
|
|
|
|
|
|
|
|
[install wsgi]
|
|
|
|
install: mod_wsgi
|
|
|
|
func: apache_setup
|
|
|
|
|
|
|
|
[enable wsgi]
|
|
|
|
apache.enable_module: mod_wsgi
|
|
|
|
func: apache_setup
|
|
|
|
|
|
|
|
[disable the default site in function]
|
|
|
|
apache.disable_site = default
|
|
|
|
func: apache_setup
|
|
|
|
|
|
|
|
[restart apache]
|
|
|
|
apache: restart
|
|
|
|
func: apache_setup
|
|
|
|
|
|
|
|
[call apache setup]
|
|
|
|
run: apache_setup
|
|
|
|
|
|
|
|
[disable the default site]
|
|
|
|
apache.disable_site = default
|
|
|
|
|
|
|
|
[enable mod SSL]
|
|
|
|
apache.enable_module = mod_ssl
|
|
|
|
|
|
|
|
[enable more than one apache module at once]
|
|
|
|
apache.enable_module = $item
|
|
|
|
items = mod_wsgi, mod_rewrite
|
|
|
|
|
|
|
|
[make sure apache can be reloaded]
|
|
|
|
apache: test
|
|
|
|
|
|
|
|
[restart apache outside of function]
|
|
|
|
apache: restart
|
|
|
|
condition: $apache_checks_out -eq 0
|
|
|
|
|
|
|
|
[install the virtualenv package]
|
|
|
|
pip = virtualenv
|
|
|
|
|
|
|
|
[install django debug toolbar]
|
|
|
|
pip: django-debug-toolbar
|
|
|
|
env: development
|
|
|
|
tags: python, project
|
|
|
|
|
|
|
|
[create a virtual environment]
|
|
|
|
virtualenv = python
|
|
|
|
cd = /path/to/project
|
|
|
|
tags = python, project
|
|
|
|
|
|
|
|
[install pillow]
|
|
|
|
pip = Pillow
|
|
|
|
cd = /path/to/project
|
|
|
|
upgrade = yes
|
|
|
|
venv = python
|
|
|
|
tags = python, project
|
|
|
|
|
|
|
|
[apply database migrations]
|
|
|
|
django: migrate
|
|
|
|
cd: /path/to/project
|
|
|
|
venv: python
|
|
|
|
|
|
|
|
[run a custom django command]
|
|
|
|
django = custom_command arg1 arg2
|
|
|
|
cd = /path/to/project
|
|
|
|
venv = python
|
|
|
|
settings = tenants.example_app.settings
|
|
|
|
quiet = yes
|
|
|
|
|
|
|
|
[collect the project's static files]
|
|
|
|
django: collectstatic
|
|
|
|
cd: /path/to/project
|
|
|
|
venv: python
|
|
|
|
|
|
|
|
[load data fixtures]
|
|
|
|
django.loaddata: categories
|
|
|
|
cd: /path/to/project
|
|
|
|
venv: python
|
|
|
|
|
|
|
|
[dump data fixtures]
|
|
|
|
django.dumpdata: projects
|
|
|
|
cd: /path/to/project
|
|
|
|
venv: python
|
|
|
|
|
|
|
|
[reload a service]
|
|
|
|
reload: postfix
|
|
|
|
|
|
|
|
[restart a service]
|
|
|
|
restart: postfix
|
|
|
|
|
|
|
|
[stop a service]
|
|
|
|
stop: postfix
|
|
|
|
|
|
|
|
[start a service]
|
|
|
|
start: postfix
|
|
|
|
|
|
|
|
[install a package]
|
|
|
|
install: python3
|
|
|
|
|
|
|
|
[remove a package]
|
|
|
|
uninstall: apache-top
|
|
|
|
|
|
|
|
[add to a file]
|
|
|
|
append: /path/to/file.txt
|
|
|
|
content: this is a test
|
|
|
|
|
|
|
|
[copy a file]
|
|
|
|
copy: /path/to/file.txt /new/path/to/file.txt
|
|
|
|
|
|
|
|
[write (overwrite) a file]
|
|
|
|
write: /path/to/file.txt
|
|
|
|
content: this replaces all text in the file
|
|
|
|
|
|
|
|
[create a directory]
|
|
|
|
mkdir: /path/to/dir
|
|
|
|
mode: 755
|
|
|
|
|
|
|
|
[move a file]
|
|
|
|
move: /path/to/file.txt /path/to/file.txt.b
|
|
|
|
|
|
|
|
[set permissions on a file]
|
|
|
|
perms: /path/to/file.txt
|
|
|
|
group: www-data
|
|
|
|
mode: 755
|
|
|
|
owner: deploy
|
|
|
|
recursive: yes
|
|
|
|
|
|
|
|
[remove a file]
|
|
|
|
remove: /path/to/file.txt
|
|
|
|
|
|
|
|
[sync a directory]
|
|
|
|
rsync: /path/to/source /path/to/target
|
|
|
|
|
|
|
|
[copy a file to remote server]
|
|
|
|
scopy: /path/to/file.txt /path/to/server/file.txt
|
|
|
|
host: example.com
|
|
|
|
|
|
|
|
[replace text in a file]
|
|
|
|
sed: /path/to/file.txt
|
|
|
|
find: logging = no
|
|
|
|
replace: logging = yes
|
|
|
|
|
|
|
|
[create a symlink]
|
|
|
|
symlink: /var/www/domains
|
|
|
|
|
|
|
|
[touch a file]
|
|
|
|
touch: /path/to/file.txt
|
|
|
|
|
|
|
|
[create a postgres user/role]
|
|
|
|
pg.user: example_app
|
|
|
|
|
|
|
|
[create a postgres database]
|
|
|
|
pg.db: example_app
|
|
|
|
owner: example_app
|
|
|
|
|
|
|
|
[determine whether a postgres database exists]
|
|
|
|
pg.database_exists: example_app
|
|
|
|
|
|
|
|
[export a postgres database]
|
|
|
|
pg.dump: testing
|
|
|
|
|
|
|
|
[drop a postgres user/role]
|
|
|
|
pg.dropuser: testing
|
|
|
|
|
|
|
|
[drop a postgres database]
|
|
|
|
pg.dropdb: testing
|
|
|
|
|
|
|
|
[run an SQL command on a postgres database]
|
|
|
|
psql: "SELECT * FROM projects WHERE category = 'testing'"
|
|
|
|
database: example_app
|
|
|
|
owner: example_app
|
|
|
|
|
|
|
|
[create a file archive]
|
|
|
|
archive: /var/www/domains/example_com
|
|
|
|
|
|
|
|
[extract a file archive]
|
|
|
|
extract: /var/www/domains/example_com.tgz
|
|
|
|
|
|
|
|
[create a file from a template]
|
|
|
|
template: good.j2.txt tests/tmp/good.txt
|
|
|
|
testing: {{ testing }}
|
|
|
|
times: 123
|
|
|
|
|
|
|
|
[create a bunch of files using templates]
|
|
|
|
template: $item.txt tests/tmp/$item
|
|
|
|
items: simple.sh.txt, simple.txt
|
|
|
|
testing: {{ testing }}
|
|
|
|
times: 123
|