2012-07-29 16:47:44 +00:00
|
|
|
##
|
|
|
|
# Example Ansible playbook that uses the PostgreSQL module.
|
|
|
|
#
|
|
|
|
# This installs PostgreSQL on an Ubuntu system, creates a database called
|
|
|
|
# "myapp" and a user called "django" with password "mysupersecretpassword"
|
|
|
|
# with access to the "myapp" database.
|
|
|
|
#
|
|
|
|
---
|
|
|
|
- hosts: webservers
|
2012-12-14 10:56:53 +00:00
|
|
|
sudo: yes
|
|
|
|
gather_facts: no
|
2012-07-29 16:47:44 +00:00
|
|
|
|
|
|
|
tasks:
|
|
|
|
- name: ensure apt cache is up to date
|
|
|
|
action: apt update_cache=yes
|
|
|
|
- name: ensure packages are installed
|
|
|
|
action: apt pkg=$item
|
|
|
|
with_items:
|
|
|
|
- postgresql
|
|
|
|
- libpq-dev
|
|
|
|
- python-psycopg2
|
|
|
|
|
|
|
|
- hosts: webservers
|
2012-12-14 10:56:53 +00:00
|
|
|
sudo: yes
|
2012-07-29 16:47:44 +00:00
|
|
|
sudo_user: postgres
|
2012-12-14 10:56:53 +00:00
|
|
|
gather_facts: no
|
2012-07-29 16:47:44 +00:00
|
|
|
|
|
|
|
vars:
|
|
|
|
dbname: myapp
|
|
|
|
dbuser: django
|
|
|
|
dbpassword: mysupersecreetpassword
|
|
|
|
|
|
|
|
tasks:
|
|
|
|
- name: ensure database is created
|
|
|
|
action: postgresql_db db=$dbname
|
|
|
|
|
|
|
|
- name: ensure user has access to database
|
2012-08-27 15:12:34 +00:00
|
|
|
action: postgresql_user db=$dbname user=$dbuser password=$dbpassword priv=ALL
|
2012-10-15 21:42:06 +00:00
|
|
|
|
|
|
|
- name: ensure user does not have unnecessary privilege
|
|
|
|
action: postgresql_user user=$dbuser role_attr_flags=NOSUPERUSER,NOCREATEDB
|