taperole 1.3.6 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +11 -12
- data/lib/tape/ansible_runner.rb +1 -1
- data/lib/tape/installer.rb +0 -8
- data/lib/tape.rb +2 -2
- data/requirements.yml +5 -5
- data/roles/backend_install_essentials/meta/main.yml +2 -2
- data/roles/frontend_install_essentials/meta/main.yml +1 -1
- data/roles/frontend_install_essentials/tasks/main.yml +6 -2
- data/roles/node/tasks/main.yml +35 -0
- data/roles/node/templates/nvm.sh +5 -0
- data/taperole.gemspec +1 -1
- data/vars/defaults.yml +3 -2
- data/vendor/ANXS.postgresql/.travis.yml +25 -10
- data/vendor/ANXS.postgresql/README.md +29 -5
- data/vendor/ANXS.postgresql/Vagrantfile +14 -6
- data/vendor/ANXS.postgresql/ansible.cfg +2 -0
- data/vendor/ANXS.postgresql/defaults/main.yml +49 -25
- data/vendor/ANXS.postgresql/handlers/main.yml +1 -1
- data/vendor/ANXS.postgresql/meta/.galaxy_install_info +1 -1
- data/vendor/ANXS.postgresql/meta/main.yml +1 -1
- data/vendor/ANXS.postgresql/tasks/configure.yml +76 -10
- data/vendor/ANXS.postgresql/tasks/databases.yml +21 -11
- data/vendor/ANXS.postgresql/tasks/extensions/contrib.yml +9 -1
- data/vendor/ANXS.postgresql/tasks/install.yml +2 -2
- data/vendor/ANXS.postgresql/tasks/install_yum.yml +36 -0
- data/vendor/ANXS.postgresql/tasks/main.yml +11 -0
- data/vendor/ANXS.postgresql/tasks/users.yml +2 -1
- data/vendor/ANXS.postgresql/templates/HOWTO.postgresql.conf +21 -0
- data/vendor/ANXS.postgresql/templates/etc_systemd_system_postgresql.service.d_custom.conf.j2 +11 -0
- data/vendor/ANXS.postgresql/templates/pg_hba.conf.j2 +4 -0
- data/vendor/ANXS.postgresql/templates/postgresql.conf-9.1.j2 +561 -0
- data/vendor/ANXS.postgresql/templates/postgresql.conf-9.2.j2 +578 -0
- data/vendor/ANXS.postgresql/templates/postgresql.conf-9.3.j2 +4 -0
- data/vendor/ANXS.postgresql/templates/postgresql.conf-9.4.j2 +4 -0
- data/vendor/ANXS.postgresql/templates/postgresql.conf-9.5.j2 +622 -0
- data/vendor/ANXS.postgresql/tests/idempotence_check.sh +28 -0
- data/vendor/ANXS.postgresql/tests/playbook.yml +9 -0
- data/vendor/ANXS.postgresql/{vars/test.yml → tests/vars.yml} +10 -1
- data/vendor/ANXS.postgresql/vagrant-inventory +1 -1
- data/vendor/ANXS.postgresql/vars/Debian.yml +4 -0
- data/vendor/ANXS.postgresql/vars/RedHat.yml +14 -0
- data/vendor/ANXS.postgresql/vars/empty.yml +2 -0
- data/vendor/geerlingguy.memcached/.gitignore +1 -0
- data/vendor/geerlingguy.memcached/.travis.yml +34 -0
- data/vendor/geerlingguy.memcached/README.md +53 -0
- data/vendor/geerlingguy.memcached/defaults/main.yml +9 -0
- data/vendor/geerlingguy.memcached/handlers/main.yml +3 -0
- data/vendor/geerlingguy.memcached/meta/.galaxy_install_info +1 -0
- data/vendor/geerlingguy.memcached/meta/main.yml +24 -0
- data/vendor/geerlingguy.memcached/tasks/main.yml +29 -0
- data/vendor/geerlingguy.memcached/tasks/setup-Debian.yml +6 -0
- data/vendor/geerlingguy.memcached/tasks/setup-RedHat.yml +3 -0
- data/vendor/{bennojoy.memcached/templates/memcached_debian.j2 → geerlingguy.memcached/templates/memcached-Debian.conf.j2} +7 -29
- data/vendor/geerlingguy.memcached/templates/memcached-RedHat.conf.j2 +19 -0
- data/vendor/geerlingguy.memcached/tests/inventory +1 -0
- data/vendor/geerlingguy.memcached/tests/test.yml +5 -0
- data/vendor/geerlingguy.memcached/vars/Debian.yml +3 -0
- data/vendor/geerlingguy.memcached/vars/RedHat.yml +3 -0
- data/vendor/jnv.mosh/meta/.galaxy_install_info +1 -1
- data/vendor/jnv.unattended-upgrades/README.md +8 -2
- data/vendor/jnv.unattended-upgrades/meta/.galaxy_install_info +1 -1
- data/vendor/jnv.unattended-upgrades/tasks/main.yml +5 -0
- data/vendor/jnv.unattended-upgrades/tasks/reboot.yml +12 -0
- data/vendor/jnv.unattended-upgrades/vars/Debian.yml +1 -1
- data/vendor/lxhunter.apt/meta/.galaxy_install_info +1 -1
- data/vendor/tersmitten.htop/meta/.galaxy_install_info +1 -1
- data/vendor/zzet.rbenv/README.md +10 -10
- data/vendor/zzet.rbenv/defaults/main.yml +9 -9
- data/vendor/zzet.rbenv/meta/.galaxy_install_info +1 -1
- data/vendor/zzet.rbenv/tasks/main.yml +41 -10
- metadata +35 -46
- data/vendor/ANXS.postgresql/test.yml +0 -8
- data/vendor/bennojoy.memcached/README.md +0 -49
- data/vendor/bennojoy.memcached/defaults/main.yml +0 -8
- data/vendor/bennojoy.memcached/handlers/main.yml +0 -3
- data/vendor/bennojoy.memcached/meta/.galaxy_install_info +0 -1
- data/vendor/bennojoy.memcached/meta/main.yml +0 -26
- data/vendor/bennojoy.memcached/tasks/main.yml +0 -30
- data/vendor/bennojoy.memcached/templates/memcached_redhat.j2 +0 -5
- data/vendor/bennojoy.memcached/vars/main.yml +0 -14
- data/vendor/nodesource.node/Dockerfile +0 -16
- data/vendor/nodesource.node/LICENSE.md +0 -11
- data/vendor/nodesource.node/README.md +0 -46
- data/vendor/nodesource.node/defaults/main.yml +0 -3
- data/vendor/nodesource.node/handlers/main.yml +0 -2
- data/vendor/nodesource.node/meta/.galaxy_install_info +0 -1
- data/vendor/nodesource.node/meta/main.yml +0 -18
- data/vendor/nodesource.node/role.yml +0 -6
- data/vendor/nodesource.node/tasks/main.yml +0 -26
- data/vendor/nodesource.node/templates/etc/apt/preferences.d/deb_nodesource_com_node.pref.2 +0 -5
- data/vendor/nodesource.node/tests/localhosts +0 -2
- data/vendor/nodesource.node/vars/main.yml +0 -2
- data/vendor/williamyeh.nodejs/.gitignore +0 -1
- data/vendor/williamyeh.nodejs/LICENSE +0 -22
- data/vendor/williamyeh.nodejs/README.md +0 -107
- data/vendor/williamyeh.nodejs/Vagrantfile +0 -33
- data/vendor/williamyeh.nodejs/circle.yml +0 -32
- data/vendor/williamyeh.nodejs/defaults/main.yml +0 -17
- data/vendor/williamyeh.nodejs/files/nodesource.gpg.key +0 -52
- data/vendor/williamyeh.nodejs/meta/.galaxy_install_info +0 -1
- data/vendor/williamyeh.nodejs/meta/main.yml +0 -27
- data/vendor/williamyeh.nodejs/tasks/main.yml +0 -19
- data/vendor/williamyeh.nodejs/tasks/set-role-variables.yml +0 -15
- data/vendor/williamyeh.nodejs/tasks/use-apt.yml +0 -88
- data/vendor/williamyeh.nodejs/tasks/use-yum.yml +0 -34
- data/vendor/williamyeh.nodejs/test/Dockerfile-centos6 +0 -29
- data/vendor/williamyeh.nodejs/test/Dockerfile-centos7 +0 -29
- data/vendor/williamyeh.nodejs/test/Dockerfile-debian7 +0 -29
- data/vendor/williamyeh.nodejs/test/Dockerfile-debian8 +0 -29
- data/vendor/williamyeh.nodejs/test/Dockerfile-ubuntu12.04 +0 -29
- data/vendor/williamyeh.nodejs/test/Dockerfile-ubuntu14.04 +0 -29
- data/vendor/williamyeh.nodejs/test.yml +0 -12
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# file: postgresql/tasks/configure.yml
|
|
2
2
|
|
|
3
|
+
- name: PostgreSQL | Drop the data directory | RedHat
|
|
4
|
+
file:
|
|
5
|
+
path: "{{ postgresql_data_directory }}"
|
|
6
|
+
state: absent
|
|
7
|
+
register: pgdata_dir_remove
|
|
8
|
+
when: ansible_os_family == "RedHat" and postgresql_cluster_reset
|
|
9
|
+
|
|
3
10
|
- name: PostgreSQL | Make sure the postgres data directory exists
|
|
4
11
|
file:
|
|
5
12
|
path: "{{postgresql_data_directory}}"
|
|
@@ -9,21 +16,58 @@
|
|
|
9
16
|
mode: 0700
|
|
10
17
|
register: pgdata_dir_exist
|
|
11
18
|
|
|
12
|
-
- name: PostgreSQL | Ensure the locale is generated
|
|
19
|
+
- name: PostgreSQL | Ensure the locale is generated | Debian
|
|
20
|
+
sudo: yes
|
|
21
|
+
locale_gen: name="{{ postgresql_locale }}" state=present
|
|
22
|
+
when: ansible_os_family == "Debian"
|
|
23
|
+
|
|
24
|
+
- name: PostgreSQL | Ensure the locale is generated | RedHat
|
|
25
|
+
sudo: yes
|
|
26
|
+
command: >
|
|
27
|
+
localedef -c -i {{ postgresql_locale_parts[0] }} -f {{ postgresql_locale_parts[1] }}
|
|
28
|
+
{{ postgresql_locale }}
|
|
29
|
+
changed_when: false
|
|
30
|
+
when: ansible_os_family == "RedHat"
|
|
31
|
+
|
|
32
|
+
- name: PostgreSQL | Reset the cluster - drop the existing one | Debian
|
|
33
|
+
shell: pg_dropcluster --stop {{ postgresql_version }} {{ postgresql_cluster_name }}
|
|
13
34
|
sudo: yes
|
|
14
|
-
|
|
35
|
+
sudo_user: "{{ postgresql_service_user }}"
|
|
36
|
+
when: ansible_os_family == "Debian" and postgresql_cluster_reset and pgdata_dir_exist.changed
|
|
15
37
|
|
|
16
|
-
- name: PostgreSQL | Reset the cluster -
|
|
17
|
-
shell:
|
|
38
|
+
- name: PostgreSQL | Reset the cluster - create a new one (with specified encoding and locale) | Debian
|
|
39
|
+
shell: >
|
|
40
|
+
pg_createcluster --start --locale {{ postgresql_locale }}
|
|
41
|
+
-e {{ postgresql_encoding }} -d {{ postgresql_data_directory }}
|
|
42
|
+
{{ postgresql_version }} {{ postgresql_cluster_name }}
|
|
18
43
|
sudo: yes
|
|
19
44
|
sudo_user: "{{ postgresql_service_user }}"
|
|
20
|
-
when: postgresql_cluster_reset and pgdata_dir_exist.changed
|
|
45
|
+
when: ansible_os_family == "Debian" and postgresql_cluster_reset and pgdata_dir_exist.changed
|
|
46
|
+
|
|
47
|
+
- name: PostgreSQL | Check whether the postgres data directory is initialized
|
|
48
|
+
stat:
|
|
49
|
+
path: "{{ postgresql_data_directory }}/PG_VERSION"
|
|
50
|
+
when: ansible_os_family == "RedHat" and not postgresql_cluster_reset
|
|
51
|
+
register: pgdata_dir_initialized
|
|
21
52
|
|
|
22
|
-
- name: PostgreSQL |
|
|
23
|
-
|
|
53
|
+
- name: PostgreSQL | Initialize the database | RedHat
|
|
54
|
+
command: >
|
|
55
|
+
{{ postgresql_bin_directory }}/initdb -D {{ postgresql_data_directory }}
|
|
56
|
+
--locale={{ postgresql_locale }} --encoding={{ postgresql_encoding }}
|
|
24
57
|
sudo: yes
|
|
25
58
|
sudo_user: "{{ postgresql_service_user }}"
|
|
26
|
-
when:
|
|
59
|
+
when: ansible_os_family == "RedHat" and
|
|
60
|
+
(postgresql_cluster_reset or
|
|
61
|
+
pgdata_dir_exist.changed or
|
|
62
|
+
not pgdata_dir_initialized.stat.exists)
|
|
63
|
+
|
|
64
|
+
- name: PostgreSQL | Ensure configuration directory exists
|
|
65
|
+
file:
|
|
66
|
+
path: "{{ postgresql_conf_directory }}"
|
|
67
|
+
owner: "{{ postgresql_service_user }}"
|
|
68
|
+
group: "{{ postgresql_service_group }}"
|
|
69
|
+
mode: 0750
|
|
70
|
+
state: directory
|
|
27
71
|
|
|
28
72
|
- name: PostgreSQL | Update configuration - pt. 1 (pg_hba.conf)
|
|
29
73
|
template:
|
|
@@ -82,8 +126,30 @@
|
|
|
82
126
|
group: "{{ postgresql_service_group }}"
|
|
83
127
|
mode: 0755
|
|
84
128
|
|
|
129
|
+
- name: PostgreSQL | Ensure the systemd directory for PostgreSQL exists | RedHat
|
|
130
|
+
file:
|
|
131
|
+
name: "/etc/systemd/system/postgresql-{{ postgresql_version }}.service.d"
|
|
132
|
+
state: directory
|
|
133
|
+
mode: 0755
|
|
134
|
+
when: ansible_os_family == "RedHat"
|
|
135
|
+
|
|
136
|
+
- name: PostgreSQL | Use the conf directory when starting the Postgres service | RedHat
|
|
137
|
+
template:
|
|
138
|
+
src: etc_systemd_system_postgresql.service.d_custom.conf.j2
|
|
139
|
+
dest: "/etc/systemd/system/postgresql-{{ postgresql_version }}.service.d/custom.conf"
|
|
140
|
+
when: ansible_os_family == "RedHat"
|
|
141
|
+
register: postgresql_systemd_custom_conf
|
|
142
|
+
|
|
143
|
+
- name: PostgreSQL | Ensure the pid directory for PostgreSQL exists
|
|
144
|
+
file:
|
|
145
|
+
name: "{{ postgresql_pid_directory }}"
|
|
146
|
+
state: directory
|
|
147
|
+
owner: "{{ postgresql_service_user }}"
|
|
148
|
+
group: "{{ postgresql_service_group }}"
|
|
149
|
+
mode: u=rwX,g=rwXs,o=rx
|
|
150
|
+
|
|
85
151
|
- name: PostgreSQL | Restart PostgreSQL
|
|
86
152
|
service:
|
|
87
|
-
name:
|
|
153
|
+
name: "{{ postgresql_service_name }}"
|
|
88
154
|
state: restarted
|
|
89
|
-
when: postgresql_configuration_pt1.changed or postgresql_configuration_pt2.changed or postgresql_configuration_pt3.changed
|
|
155
|
+
when: postgresql_configuration_pt1.changed or postgresql_configuration_pt2.changed or postgresql_configuration_pt3.changed or postgresql_systemd_custom_conf.changed
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
- name: PostgreSQL | Ensure PostgreSQL is running
|
|
4
4
|
service:
|
|
5
|
-
name:
|
|
5
|
+
name: "{{ postgresql_service_name }}"
|
|
6
6
|
state: started
|
|
7
7
|
|
|
8
8
|
- name: PostgreSQL | Make sure the PostgreSQL databases are present
|
|
9
9
|
postgresql_db:
|
|
10
10
|
name: "{{item.name}}"
|
|
11
|
-
owner: "{{postgresql_database_owner}}"
|
|
11
|
+
owner: "{{ item.owner | default(postgresql_database_owner) }}"
|
|
12
12
|
encoding: "{{postgresql_encoding}}"
|
|
13
13
|
lc_collate: "{{postgresql_locale}}"
|
|
14
14
|
lc_ctype: "{{postgresql_locale}}"
|
|
@@ -21,10 +21,20 @@
|
|
|
21
21
|
with_items: postgresql_databases
|
|
22
22
|
when: postgresql_databases|length > 0
|
|
23
23
|
|
|
24
|
+
- name: PostgreSQL | Add extensions to the databases
|
|
25
|
+
shell: "psql {{item.0.db}} --username {{postgresql_admin_user}} -c 'CREATE EXTENSION IF NOT EXISTS {{ item.1 }};'"
|
|
26
|
+
sudo: yes
|
|
27
|
+
sudo_user: "{{postgresql_admin_user}}"
|
|
28
|
+
with_subelements:
|
|
29
|
+
- postgresql_database_extensions
|
|
30
|
+
- extensions
|
|
31
|
+
register: result
|
|
32
|
+
changed_when: "'NOTICE' not in result.stderr"
|
|
33
|
+
|
|
24
34
|
- name: PostgreSQL | Add hstore to the databases with the requirement
|
|
25
35
|
sudo: yes
|
|
26
36
|
sudo_user: "{{ postgresql_service_user }}"
|
|
27
|
-
shell: "psql {{item.name}} --username {{postgresql_admin_user}} -c 'CREATE EXTENSION IF NOT EXISTS hstore;'"
|
|
37
|
+
shell: "{{ postgresql_bin_directory}}/psql {{item.name}} --username {{postgresql_admin_user}} -c 'CREATE EXTENSION IF NOT EXISTS hstore;'"
|
|
28
38
|
with_items: postgresql_databases
|
|
29
39
|
register: hstore_ext_result
|
|
30
40
|
failed_when: hstore_ext_result.rc != 0 and ("already exists, skipping" not in hstore_ext_result.stderr)
|
|
@@ -34,7 +44,7 @@
|
|
|
34
44
|
- name: PostgreSQL | Add uuid-ossp to the database with the requirement
|
|
35
45
|
sudo: yes
|
|
36
46
|
sudo_user: "{{ postgresql_service_user }}"
|
|
37
|
-
shell: "psql {{item.name}} --username {{postgresql_admin_user}} -c 'CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";'"
|
|
47
|
+
shell: "{{ postgresql_bin_directory}}/psql {{item.name}} --username {{postgresql_admin_user}} -c 'CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";'"
|
|
38
48
|
with_items: postgresql_databases
|
|
39
49
|
register: uuid_ext_result
|
|
40
50
|
failed_when: uuid_ext_result.rc != 0 and ("already exists, skipping" not in uuid_ext_result.stderr)
|
|
@@ -44,35 +54,35 @@
|
|
|
44
54
|
- name: PostgreSQL | Add postgis to the databases with the requirement
|
|
45
55
|
sudo: yes
|
|
46
56
|
sudo_user: "{{ postgresql_service_user }}"
|
|
47
|
-
shell: "psql {{item.name}} --username {{postgresql_admin_user}} -c 'CREATE EXTENSION IF NOT EXISTS postgis;'&&psql {{item.name}} -c 'CREATE EXTENSION IF NOT EXISTS postgis_topology;'"
|
|
57
|
+
shell: "{{ postgresql_bin_directory}}/psql {{item.name}} --username {{postgresql_admin_user}} -c 'CREATE EXTENSION IF NOT EXISTS postgis;'&&psql {{item.name}} -c 'CREATE EXTENSION IF NOT EXISTS postgis_topology;'"
|
|
48
58
|
with_items: postgresql_databases
|
|
49
59
|
when: item.gis is defined and item.gis
|
|
50
60
|
|
|
51
|
-
- name:
|
|
61
|
+
- name: PostgreSQL | add cube to the database with the requirement
|
|
52
62
|
sudo: yes
|
|
53
63
|
sudo_user: "{{ postgresql_service_user }}"
|
|
54
|
-
shell: "psql {{item.name}} --username {{ postgresql_admin_user }} -c 'create extension if not exists cube;'"
|
|
64
|
+
shell: "{{ postgresql_bin_directory}}/psql {{item.name}} --username {{ postgresql_admin_user }} -c 'create extension if not exists cube;'"
|
|
55
65
|
with_items: postgresql_databases
|
|
56
66
|
when: item.cube is defined and item.cube
|
|
57
67
|
|
|
58
68
|
- name: PostgreSQL | Add plpgsql to the database with the requirement
|
|
59
69
|
sudo: yes
|
|
60
70
|
sudo_user: "{{ postgresql_service_user }}"
|
|
61
|
-
shell: "psql {{item.name}} --username {{ postgresql_admin_user }} -c 'CREATE EXTENSION IF NOT EXISTS plpgsql;'"
|
|
71
|
+
shell: "{{ postgresql_bin_directory}}/psql {{item.name}} --username {{ postgresql_admin_user }} -c 'CREATE EXTENSION IF NOT EXISTS plpgsql;'"
|
|
62
72
|
with_items: postgresql_databases
|
|
63
73
|
when: item.plpgsql is defined and item.plpgsql
|
|
64
74
|
|
|
65
|
-
- name:
|
|
75
|
+
- name: PostgreSQL | add earthdistance to the database with the requirement
|
|
66
76
|
sudo: yes
|
|
67
77
|
sudo_user: "{{ postgresql_service_user }}"
|
|
68
|
-
shell: "psql {{item.name}} --username {{ postgresql_admin_user }} -c 'create extension if not exists earthdistance;'"
|
|
78
|
+
shell: "{{ postgresql_bin_directory}}/psql {{item.name}} --username {{ postgresql_admin_user }} -c 'create extension if not exists earthdistance;'"
|
|
69
79
|
with_items: postgresql_databases
|
|
70
80
|
when: item.earthdistance is defined and item.earthdistance
|
|
71
81
|
|
|
72
82
|
- name: PostgreSQL | Add citext to the database with the requirement
|
|
73
83
|
sudo: yes
|
|
74
84
|
sudo_user: "{{ postgresql_service_user }}"
|
|
75
|
-
shell: "psql {{item.name}} --username {{postgresql_admin_user}} -c 'CREATE EXTENSION IF NOT EXISTS citext;'"
|
|
85
|
+
shell: "{{ postgresql_bin_directory}}/psql {{item.name}} --username {{postgresql_admin_user}} -c 'CREATE EXTENSION IF NOT EXISTS citext;'"
|
|
76
86
|
with_items: postgresql_databases
|
|
77
87
|
register: citext_ext_result
|
|
78
88
|
failed_when: citext_ext_result.rc != 0 and ("already exists, skipping" not in citext_ext_result.stderr)
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
# file: postgresql/tasks/extensions/contrib.yml
|
|
2
2
|
|
|
3
|
-
- name: PostgreSQL | Extensions | Make sure the postgres contrib extensions are installed
|
|
3
|
+
- name: PostgreSQL | Extensions | Make sure the postgres contrib extensions are installed | Debian
|
|
4
4
|
apt:
|
|
5
5
|
name: "postgresql-contrib-{{postgresql_version}}"
|
|
6
6
|
state: present
|
|
7
7
|
update_cache: yes
|
|
8
8
|
cache_valid_time: "{{apt_cache_valid_time | default (3600)}}"
|
|
9
|
+
when: ansible_os_family == "Debian"
|
|
9
10
|
notify:
|
|
10
11
|
- restart postgresql
|
|
11
12
|
|
|
13
|
+
- name: PostgreSQL | Extensions | Make sure the postgres contrib extensions are installed | RedHat
|
|
14
|
+
yum:
|
|
15
|
+
name: "postgresql{{postgresql_version_terse}}-contrib"
|
|
16
|
+
state: present
|
|
17
|
+
when: ansible_os_family == "RedHat"
|
|
18
|
+
notify:
|
|
19
|
+
- restart postgresql
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
state: present
|
|
41
41
|
update_cache: yes
|
|
42
42
|
cache_valid_time: "{{apt_cache_valid_time | default (3600)}}"
|
|
43
|
-
environment: postgresql_env
|
|
43
|
+
environment: "{{postgresql_env}}"
|
|
44
44
|
with_items:
|
|
45
45
|
- "postgresql-{{postgresql_version}}"
|
|
46
46
|
- "postgresql-client-{{postgresql_version}}"
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
state: present
|
|
53
53
|
update_cache: yes
|
|
54
54
|
cache_valid_time: "{{apt_cache_valid_time | default (3600)}}"
|
|
55
|
-
environment: postgresql_env
|
|
55
|
+
environment: "{{postgresql_env}}"
|
|
56
56
|
when: postgresql_pgtune
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# file: postgresql/tasks/install_yum.yml
|
|
2
|
+
|
|
3
|
+
# The standard ca-certs are needed because without them apt_key will fail to
|
|
4
|
+
# validate www.postgresql.org (or probably any other source).
|
|
5
|
+
- name: PostgreSQL | Make sure the CA certificates are available
|
|
6
|
+
yum:
|
|
7
|
+
name: ca-certificates
|
|
8
|
+
state: present
|
|
9
|
+
|
|
10
|
+
- name: PostgreSQL | Add PostgreSQL repository
|
|
11
|
+
yum:
|
|
12
|
+
name: "{{ postgresql_yum_repository_url }}"
|
|
13
|
+
state: present
|
|
14
|
+
|
|
15
|
+
- name: PostgreSQL | Make sure the dependencies are installed
|
|
16
|
+
yum:
|
|
17
|
+
name: "{{ item }}"
|
|
18
|
+
state: present
|
|
19
|
+
update_cache: yes
|
|
20
|
+
with_items: ["python-psycopg2", "python-pycurl", "glibc-common"]
|
|
21
|
+
|
|
22
|
+
- name: PostgreSQL | Install PostgreSQL
|
|
23
|
+
yum:
|
|
24
|
+
name: "{{ item }}"
|
|
25
|
+
state: present
|
|
26
|
+
environment: postgresql_env
|
|
27
|
+
with_items:
|
|
28
|
+
- "postgresql{{ postgresql_version_terse }}-server"
|
|
29
|
+
- "postgresql{{ postgresql_version_terse }}"
|
|
30
|
+
|
|
31
|
+
- name: PostgreSQL | PGTune
|
|
32
|
+
yum:
|
|
33
|
+
name: pgtune
|
|
34
|
+
state: present
|
|
35
|
+
environment: postgresql_env
|
|
36
|
+
when: postgresql_pgtune
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
# file: postgresql/tasks/main.yml
|
|
2
2
|
|
|
3
|
+
- include_vars: "{{ item }}"
|
|
4
|
+
with_first_found:
|
|
5
|
+
- "../vars/{{ ansible_os_family }}.yml"
|
|
6
|
+
- "../vars/empty.yml"
|
|
7
|
+
tags: [always]
|
|
8
|
+
|
|
3
9
|
- include: install.yml
|
|
10
|
+
when: ansible_pkg_mgr == "apt"
|
|
11
|
+
tags: [postgresql, postgresql-install]
|
|
12
|
+
|
|
13
|
+
- include: install_yum.yml
|
|
14
|
+
when: ansible_pkg_mgr == "yum"
|
|
4
15
|
tags: [postgresql, postgresql-install]
|
|
5
16
|
|
|
6
17
|
- include: extensions.yml
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
- name: PostgreSQL | Ensure PostgreSQL is running
|
|
4
4
|
service:
|
|
5
|
-
name:
|
|
5
|
+
name: "{{ postgresql_service_name }}"
|
|
6
6
|
state: started
|
|
7
7
|
|
|
8
8
|
- name: PostgreSQL | Make sure the PostgreSQL users are present
|
|
9
9
|
postgresql_user:
|
|
10
10
|
name: "{{item.name}}"
|
|
11
11
|
password: "{{item.pass | default('pass')}}"
|
|
12
|
+
encrypted: "{{ item.encrypted | default(omit) }}"
|
|
12
13
|
port: "{{postgresql_port}}"
|
|
13
14
|
state: present
|
|
14
15
|
login_user: "{{postgresql_admin_user}}"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
How to add a new PostgreSQL version
|
|
2
|
+
===================================
|
|
3
|
+
|
|
4
|
+
1) Download the Debian package 'postgresql-9.X_[...].deb' from
|
|
5
|
+
http://apt.postgresql.org/pub/repos/apt/pool/main/p/postgresql-9.X/
|
|
6
|
+
|
|
7
|
+
2) Extract the 'usr/share/postgresql/9.1/postgresql.conf.sample' file
|
|
8
|
+
and save it under the 'templates' role directory
|
|
9
|
+
=> templates/postgresql.conf.9.{X}.orig
|
|
10
|
+
|
|
11
|
+
3) Check the difference between another version:
|
|
12
|
+
=> vimdiff postgresql.conf.9.{X-1}.orig postgresql.conf.9.{X}.orig
|
|
13
|
+
|
|
14
|
+
4) Copy an existing template:
|
|
15
|
+
=> cp postgresql.conf.9.{X-1}.j2 postgresql.conf.9.{X}.j2
|
|
16
|
+
|
|
17
|
+
5) Update the new template following the major differences.
|
|
18
|
+
|
|
19
|
+
5) If there are new options or some of them removed, update the 'default/main.yml' file and add a "(>= 9.X)" or "(<= 9.X)" comment to them.
|
|
20
|
+
|
|
21
|
+
6) Update the '.travis.yml' file to test its new version.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# {{ ansible_managed }}
|
|
2
|
+
# Systemd unit file override to specify user/group as well as separate config
|
|
3
|
+
# and data directories.
|
|
4
|
+
[Service]
|
|
5
|
+
User={{ postgresql_service_user }}
|
|
6
|
+
Group={{ postgresql_service_group }}
|
|
7
|
+
|
|
8
|
+
Environment=PGDATA={{ postgresql_conf_directory }}
|
|
9
|
+
|
|
10
|
+
ExecStartPre=
|
|
11
|
+
ExecStartPre={{ postgresql_bin_directory }}/postgresql{{ postgresql_version_terse }}-check-db-dir {{ postgresql_data_directory }}
|
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
|
|
19
19
|
# Default:
|
|
20
20
|
{% for connection in postgresql_pg_hba_default %}
|
|
21
|
+
{% if connection.comment is defined %}
|
|
21
22
|
# {{connection.comment}}
|
|
23
|
+
{% endif %}
|
|
22
24
|
{{connection.type}} {{connection.database}} {{connection.user}} {{connection.address}} {{connection.method}}
|
|
23
25
|
{% endfor %}
|
|
24
26
|
|
|
@@ -34,6 +36,8 @@ host all all {{host}} trust
|
|
|
34
36
|
|
|
35
37
|
# User custom
|
|
36
38
|
{% for connection in postgresql_pg_hba_custom %}
|
|
39
|
+
{% if connection.comment is defined %}
|
|
37
40
|
# {{connection.comment}}
|
|
41
|
+
{% endif %}
|
|
38
42
|
{{connection.type}} {{connection.database}} {{connection.user}} {{connection.address}} {{connection.method}}
|
|
39
43
|
{% endfor %}
|