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.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +11 -12
  4. data/lib/tape/ansible_runner.rb +1 -1
  5. data/lib/tape/installer.rb +0 -8
  6. data/lib/tape.rb +2 -2
  7. data/requirements.yml +5 -5
  8. data/roles/backend_install_essentials/meta/main.yml +2 -2
  9. data/roles/frontend_install_essentials/meta/main.yml +1 -1
  10. data/roles/frontend_install_essentials/tasks/main.yml +6 -2
  11. data/roles/node/tasks/main.yml +35 -0
  12. data/roles/node/templates/nvm.sh +5 -0
  13. data/taperole.gemspec +1 -1
  14. data/vars/defaults.yml +3 -2
  15. data/vendor/ANXS.postgresql/.travis.yml +25 -10
  16. data/vendor/ANXS.postgresql/README.md +29 -5
  17. data/vendor/ANXS.postgresql/Vagrantfile +14 -6
  18. data/vendor/ANXS.postgresql/ansible.cfg +2 -0
  19. data/vendor/ANXS.postgresql/defaults/main.yml +49 -25
  20. data/vendor/ANXS.postgresql/handlers/main.yml +1 -1
  21. data/vendor/ANXS.postgresql/meta/.galaxy_install_info +1 -1
  22. data/vendor/ANXS.postgresql/meta/main.yml +1 -1
  23. data/vendor/ANXS.postgresql/tasks/configure.yml +76 -10
  24. data/vendor/ANXS.postgresql/tasks/databases.yml +21 -11
  25. data/vendor/ANXS.postgresql/tasks/extensions/contrib.yml +9 -1
  26. data/vendor/ANXS.postgresql/tasks/install.yml +2 -2
  27. data/vendor/ANXS.postgresql/tasks/install_yum.yml +36 -0
  28. data/vendor/ANXS.postgresql/tasks/main.yml +11 -0
  29. data/vendor/ANXS.postgresql/tasks/users.yml +2 -1
  30. data/vendor/ANXS.postgresql/templates/HOWTO.postgresql.conf +21 -0
  31. data/vendor/ANXS.postgresql/templates/etc_systemd_system_postgresql.service.d_custom.conf.j2 +11 -0
  32. data/vendor/ANXS.postgresql/templates/pg_hba.conf.j2 +4 -0
  33. data/vendor/ANXS.postgresql/templates/postgresql.conf-9.1.j2 +561 -0
  34. data/vendor/ANXS.postgresql/templates/postgresql.conf-9.2.j2 +578 -0
  35. data/vendor/ANXS.postgresql/templates/postgresql.conf-9.3.j2 +4 -0
  36. data/vendor/ANXS.postgresql/templates/postgresql.conf-9.4.j2 +4 -0
  37. data/vendor/ANXS.postgresql/templates/postgresql.conf-9.5.j2 +622 -0
  38. data/vendor/ANXS.postgresql/tests/idempotence_check.sh +28 -0
  39. data/vendor/ANXS.postgresql/tests/playbook.yml +9 -0
  40. data/vendor/ANXS.postgresql/{vars/test.yml → tests/vars.yml} +10 -1
  41. data/vendor/ANXS.postgresql/vagrant-inventory +1 -1
  42. data/vendor/ANXS.postgresql/vars/Debian.yml +4 -0
  43. data/vendor/ANXS.postgresql/vars/RedHat.yml +14 -0
  44. data/vendor/ANXS.postgresql/vars/empty.yml +2 -0
  45. data/vendor/geerlingguy.memcached/.gitignore +1 -0
  46. data/vendor/geerlingguy.memcached/.travis.yml +34 -0
  47. data/vendor/geerlingguy.memcached/README.md +53 -0
  48. data/vendor/geerlingguy.memcached/defaults/main.yml +9 -0
  49. data/vendor/geerlingguy.memcached/handlers/main.yml +3 -0
  50. data/vendor/geerlingguy.memcached/meta/.galaxy_install_info +1 -0
  51. data/vendor/geerlingguy.memcached/meta/main.yml +24 -0
  52. data/vendor/geerlingguy.memcached/tasks/main.yml +29 -0
  53. data/vendor/geerlingguy.memcached/tasks/setup-Debian.yml +6 -0
  54. data/vendor/geerlingguy.memcached/tasks/setup-RedHat.yml +3 -0
  55. data/vendor/{bennojoy.memcached/templates/memcached_debian.j2 → geerlingguy.memcached/templates/memcached-Debian.conf.j2} +7 -29
  56. data/vendor/geerlingguy.memcached/templates/memcached-RedHat.conf.j2 +19 -0
  57. data/vendor/geerlingguy.memcached/tests/inventory +1 -0
  58. data/vendor/geerlingguy.memcached/tests/test.yml +5 -0
  59. data/vendor/geerlingguy.memcached/vars/Debian.yml +3 -0
  60. data/vendor/geerlingguy.memcached/vars/RedHat.yml +3 -0
  61. data/vendor/jnv.mosh/meta/.galaxy_install_info +1 -1
  62. data/vendor/jnv.unattended-upgrades/README.md +8 -2
  63. data/vendor/jnv.unattended-upgrades/meta/.galaxy_install_info +1 -1
  64. data/vendor/jnv.unattended-upgrades/tasks/main.yml +5 -0
  65. data/vendor/jnv.unattended-upgrades/tasks/reboot.yml +12 -0
  66. data/vendor/jnv.unattended-upgrades/vars/Debian.yml +1 -1
  67. data/vendor/lxhunter.apt/meta/.galaxy_install_info +1 -1
  68. data/vendor/tersmitten.htop/meta/.galaxy_install_info +1 -1
  69. data/vendor/zzet.rbenv/README.md +10 -10
  70. data/vendor/zzet.rbenv/defaults/main.yml +9 -9
  71. data/vendor/zzet.rbenv/meta/.galaxy_install_info +1 -1
  72. data/vendor/zzet.rbenv/tasks/main.yml +41 -10
  73. metadata +35 -46
  74. data/vendor/ANXS.postgresql/test.yml +0 -8
  75. data/vendor/bennojoy.memcached/README.md +0 -49
  76. data/vendor/bennojoy.memcached/defaults/main.yml +0 -8
  77. data/vendor/bennojoy.memcached/handlers/main.yml +0 -3
  78. data/vendor/bennojoy.memcached/meta/.galaxy_install_info +0 -1
  79. data/vendor/bennojoy.memcached/meta/main.yml +0 -26
  80. data/vendor/bennojoy.memcached/tasks/main.yml +0 -30
  81. data/vendor/bennojoy.memcached/templates/memcached_redhat.j2 +0 -5
  82. data/vendor/bennojoy.memcached/vars/main.yml +0 -14
  83. data/vendor/nodesource.node/Dockerfile +0 -16
  84. data/vendor/nodesource.node/LICENSE.md +0 -11
  85. data/vendor/nodesource.node/README.md +0 -46
  86. data/vendor/nodesource.node/defaults/main.yml +0 -3
  87. data/vendor/nodesource.node/handlers/main.yml +0 -2
  88. data/vendor/nodesource.node/meta/.galaxy_install_info +0 -1
  89. data/vendor/nodesource.node/meta/main.yml +0 -18
  90. data/vendor/nodesource.node/role.yml +0 -6
  91. data/vendor/nodesource.node/tasks/main.yml +0 -26
  92. data/vendor/nodesource.node/templates/etc/apt/preferences.d/deb_nodesource_com_node.pref.2 +0 -5
  93. data/vendor/nodesource.node/tests/localhosts +0 -2
  94. data/vendor/nodesource.node/vars/main.yml +0 -2
  95. data/vendor/williamyeh.nodejs/.gitignore +0 -1
  96. data/vendor/williamyeh.nodejs/LICENSE +0 -22
  97. data/vendor/williamyeh.nodejs/README.md +0 -107
  98. data/vendor/williamyeh.nodejs/Vagrantfile +0 -33
  99. data/vendor/williamyeh.nodejs/circle.yml +0 -32
  100. data/vendor/williamyeh.nodejs/defaults/main.yml +0 -17
  101. data/vendor/williamyeh.nodejs/files/nodesource.gpg.key +0 -52
  102. data/vendor/williamyeh.nodejs/meta/.galaxy_install_info +0 -1
  103. data/vendor/williamyeh.nodejs/meta/main.yml +0 -27
  104. data/vendor/williamyeh.nodejs/tasks/main.yml +0 -19
  105. data/vendor/williamyeh.nodejs/tasks/set-role-variables.yml +0 -15
  106. data/vendor/williamyeh.nodejs/tasks/use-apt.yml +0 -88
  107. data/vendor/williamyeh.nodejs/tasks/use-yum.yml +0 -34
  108. data/vendor/williamyeh.nodejs/test/Dockerfile-centos6 +0 -29
  109. data/vendor/williamyeh.nodejs/test/Dockerfile-centos7 +0 -29
  110. data/vendor/williamyeh.nodejs/test/Dockerfile-debian7 +0 -29
  111. data/vendor/williamyeh.nodejs/test/Dockerfile-debian8 +0 -29
  112. data/vendor/williamyeh.nodejs/test/Dockerfile-ubuntu12.04 +0 -29
  113. data/vendor/williamyeh.nodejs/test/Dockerfile-ubuntu14.04 +0 -29
  114. data/vendor/williamyeh.nodejs/test.yml +0 -12
@@ -0,0 +1,622 @@
1
+ # -----------------------------
2
+ # PostgreSQL configuration file
3
+ # -----------------------------
4
+ #
5
+ # This file consists of lines of the form:
6
+ #
7
+ # name = value
8
+ #
9
+ # (The "=" is optional.) Whitespace may be used. Comments are introduced with
10
+ # "#" anywhere on a line. The complete list of parameter names and allowed
11
+ # values can be found in the PostgreSQL documentation.
12
+ #
13
+ # The commented-out settings shown in this file represent the default values.
14
+ # Re-commenting a setting is NOT sufficient to revert it to the default value;
15
+ # you need to reload the server.
16
+ #
17
+ # This file is read on server startup and when the server receives a SIGHUP
18
+ # signal. If you edit the file on a running system, you have to SIGHUP the
19
+ # server for the changes to take effect, or use "pg_ctl reload". Some
20
+ # parameters, which are marked below, require a server shutdown and restart to
21
+ # take effect.
22
+ #
23
+ # Any parameter can also be given as a command-line option to the server, e.g.,
24
+ # "postgres -c log_connections=on". Some parameters can be changed at run time
25
+ # with the "SET" SQL command.
26
+ #
27
+ # Memory units: kB = kilobytes Time units: ms = milliseconds
28
+ # MB = megabytes s = seconds
29
+ # GB = gigabytes min = minutes
30
+ # TB = terabytes h = hours
31
+ # d = days
32
+
33
+
34
+ #------------------------------------------------------------------------------
35
+ # FILE LOCATIONS
36
+ #------------------------------------------------------------------------------
37
+
38
+ # The default values of these variables are driven from the -D command-line
39
+ # option or PGDATA environment variable, represented here as ConfigDir.
40
+
41
+ data_directory = '{{postgresql_data_directory}}' # use data in another directory
42
+ # (change requires restart)
43
+ hba_file = '{{postgresql_hba_file}}' # host-based authentication file
44
+ # (change requires restart)
45
+ ident_file = '{{postgresql_ident_file}}' # ident configuration file
46
+ # (change requires restart)
47
+
48
+ # If external_pid_file is not explicitly set, no extra PID file is written.
49
+ external_pid_file = '{{postgresql_external_pid_file}}' # write an extra PID file
50
+ # (change requires restart)
51
+
52
+
53
+ #------------------------------------------------------------------------------
54
+ # CONNECTIONS AND AUTHENTICATION
55
+ #------------------------------------------------------------------------------
56
+
57
+ # - Connection Settings -
58
+
59
+ listen_addresses = '{{postgresql_listen_addresses|join(',')}}' # what IP address(es) to listen on;
60
+ # comma-separated list of addresses;
61
+ # defaults to 'localhost'; use '*' for all
62
+ # (change requires restart)
63
+ port = {{postgresql_port}} # (change requires restart)
64
+ max_connections = {{postgresql_max_connections}} # (change requires restart)
65
+ # Note: Increasing max_connections costs ~400 bytes of shared memory per
66
+ # connection slot, plus lock space (see max_locks_per_transaction).
67
+ superuser_reserved_connections = {{postgresql_superuser_reserved_connections}} # (change requires restart)
68
+ unix_socket_directories = '{{postgresql_unix_socket_directories|join(',')}}' # comma-separated list of directories
69
+ # (change requires restart)
70
+ unix_socket_group = '{{postgresql_unix_socket_group}}' # (change requires restart)
71
+ unix_socket_permissions = {{postgresql_unix_socket_permissions}} # begin with 0 to use octal notation
72
+ # (change requires restart)
73
+ bonjour = {{'on' if postgresql_bonjour else 'off'}} # advertise server via Bonjour
74
+ # (change requires restart)
75
+ bonjour_name = '{{postgresql_bonjour_name}}' # defaults to the computer name
76
+ # (change requires restart)
77
+
78
+ # - Security and Authentication -
79
+
80
+ authentication_timeout = {{postgresql_authentication_timeout}} # 1s-600s
81
+ ssl = {{'on' if postgresql_ssl else 'off'}} # (change requires restart)
82
+ ssl_ciphers = '{{postgresql_ssl_ciphers|join(':')}}' # allowed SSL ciphers
83
+ # (change requires restart)
84
+ ssl_prefer_server_ciphers = {{postgresql_ssl_prefer_server_ciphers}} # (change requires restart)
85
+ ssl_ecdh_curve = '{{postgresql_ssl_ecdh_curve}}' # (change requires restart)
86
+ ssl_cert_file = '{{postgresql_ssl_cert_file}}' # (change requires restart)
87
+ ssl_key_file = '{{postgresql_ssl_key_file}}' # (change requires restart)
88
+ ssl_ca_file = '{{postgresql_ssl_ca_file}}' # (change requires restart)
89
+ ssl_crl_file = '{{postgresql_ssl_crl_file}}' # (change requires restart)
90
+ password_encryption = {{'on' if postgresql_password_encryption else 'off'}}
91
+ db_user_namespace = {{'on' if postgresql_db_user_namespace else 'off'}}
92
+ row_security = {{'on' if postgresql_row_security else 'off'}}
93
+
94
+ # GSSAPI using Kerberos
95
+ krb_server_keyfile = '{{postgresql_krb_server_keyfile}}'
96
+ krb_caseins_users = {{'on' if postgresql_db_user_namespace else 'off'}}
97
+
98
+ # - TCP Keepalives -
99
+ # see "man 7 tcp" for details
100
+
101
+ tcp_keepalives_idle = {{postgresql_tcp_keepalives_idle}} # TCP_KEEPIDLE, in seconds;
102
+ # 0 selects the system default
103
+ tcp_keepalives_interval = {{postgresql_tcp_keepalives_interval}} # TCP_KEEPINTVL, in seconds;
104
+ # 0 selects the system default
105
+ tcp_keepalives_count = {{postgresql_tcp_keepalives_count}} # TCP_KEEPCNT;
106
+ # 0 selects the system default
107
+
108
+
109
+ #------------------------------------------------------------------------------
110
+ # RESOURCE USAGE (except WAL)
111
+ #------------------------------------------------------------------------------
112
+
113
+ # - Memory -
114
+
115
+ shared_buffers = {{postgresql_shared_buffers}} # min 128kB
116
+ # (change requires restart)
117
+ huge_pages = {{postgresql_huge_pages}} # on, off, or try
118
+ # (change requires restart)
119
+ temp_buffers = {{postgresql_temp_buffers}} # min 800kB
120
+ max_prepared_transactions = {{postgresql_max_prepared_transactions}} # zero disables the feature
121
+ # (change requires restart)
122
+ # Note: Increasing max_prepared_transactions costs ~600 bytes of shared memory
123
+ # per transaction slot, plus lock space (see max_locks_per_transaction).
124
+ # It is not advisable to set max_prepared_transactions nonzero unless you
125
+ # actively intend to use prepared transactions.
126
+ work_mem = {{postgresql_work_mem}} # min 64kB
127
+ maintenance_work_mem = {{postgresql_maintenance_work_mem}} # min 1MB
128
+ autovacuum_work_mem = {{postgresql_autovacuum_work_mem}} # min 1MB, or -1 to use maintenance_work_mem
129
+ max_stack_depth = {{postgresql_max_stack_depth}} # min 100kB
130
+ dynamic_shared_memory_type = {{postgresql_dynamic_shared_memory_type}} # the default is the first option
131
+ # supported by the operating system:
132
+ # posix
133
+ # sysv
134
+ # windows
135
+ # mmap
136
+ # use none to disable dynamic shared memory
137
+
138
+ # - Disk -
139
+
140
+ temp_file_limit = {{postgresql_temp_file_limit}} # limits per-session temp file space
141
+ # in kB, or -1 for no limit
142
+
143
+ # - Kernel Resource Usage -
144
+
145
+ max_files_per_process = {{postgresql_max_files_per_process}} # min 25
146
+ # (change requires restart)
147
+ shared_preload_libraries = '{{postgresql_shared_preload_libraries|join(',')}}' # (change requires restart)
148
+
149
+ # - Cost-Based Vacuum Delay -
150
+
151
+ vacuum_cost_delay = {{postgresql_vacuum_cost_delay}} # 0-100 milliseconds
152
+ vacuum_cost_page_hit = {{postgresql_vacuum_cost_page_hit}} # 0-10000 credits
153
+ vacuum_cost_page_miss = {{postgresql_vacuum_cost_page_miss}} # 0-10000 credits
154
+ vacuum_cost_page_dirty = {{postgresql_vacuum_cost_page_dirty}} # 0-10000 credits
155
+ vacuum_cost_limit = {{postgresql_vacuum_cost_limit}} # 1-10000 credits
156
+
157
+ # - Background Writer -
158
+
159
+ bgwriter_delay = {{postgresql_bgwriter_delay}} # 10-10000ms between rounds
160
+ bgwriter_lru_maxpages = {{postgresql_bgwriter_lru_maxpages}} # 0-1000 max buffers written/round
161
+ bgwriter_lru_multiplier = {{postgresql_bgwriter_lru_multiplier}} # 0-10.0 multipler on buffers scanned/round
162
+
163
+ # - Asynchronous Behavior -
164
+
165
+ effective_io_concurrency = {{postgresql_effective_io_concurrency}} # 1-1000; 0 disables prefetching
166
+ max_worker_processes = {{postgresql_max_worker_processes}}
167
+
168
+
169
+ #------------------------------------------------------------------------------
170
+ # WRITE AHEAD LOG
171
+ #------------------------------------------------------------------------------
172
+
173
+ # - Settings -
174
+
175
+ wal_level = {{postgresql_wal_level}} # minimal, archive, hot_standby, or logical
176
+ # (change requires restart)
177
+ fsync = {{'on' if postgresql_fsync else 'off'}} # turns forced synchronization on or off
178
+ synchronous_commit = {{postgresql_synchronous_commit}} # synchronization level;
179
+ # off, local, remote_write, or on
180
+ wal_sync_method = {{postgresql_wal_sync_method}} # the default is the first option
181
+ # supported by the operating system:
182
+ # open_datasync
183
+ # fdatasync (default on Linux)
184
+ # fsync
185
+ # fsync_writethrough
186
+ # open_sync
187
+ full_page_writes = {{'on' if postgresql_full_page_writes else 'off'}} # recover from partial page writes
188
+ wal_compression = {{ 'on' if postgresql_wal_compression else 'off' }}
189
+ wal_log_hints = {{postgresql_wal_log_hints}} # also do full page writes of non-critical updates
190
+ # (change requires restart)
191
+ wal_buffers = {{postgresql_wal_buffers}} # min 32kB, -1 sets based on shared_buffers
192
+ # (change requires restart)
193
+ wal_writer_delay = {{postgresql_wal_writer_delay}} # 1-10000 milliseconds
194
+
195
+ commit_delay = {{postgresql_commit_delay}} # range 0-100000, in microseconds
196
+ commit_siblings = {{postgresql_commit_siblings}} # range 1-1000
197
+
198
+ # - Checkpoints -
199
+
200
+ checkpoint_timeout = {{postgresql_checkpoint_timeout}} # range 30s-1h
201
+ max_wal_size = {{ postgresql_max_wal_size if postgresql_max_wal_size or '1G' }}
202
+ min_wal_size = {{ postgresql_min_wal_size if postgresql_min_wal_size or '80MB' }}
203
+ checkpoint_completion_target = {{postgresql_checkpoint_completion_target}} # checkpoint target duration, 0.0 - 1.0
204
+ checkpoint_warning = {{postgresql_checkpoint_warning}} # 0 disables
205
+
206
+ # - Archiving -
207
+
208
+ archive_mode = {{'on' if postgresql_archive_mode else 'off'}} # enables archiving; off, on, or always
209
+ archive_command = '{{postgresql_archive_command}}' # command to use to archive a logfile segment
210
+ # placeholders: %p = path of file to archive
211
+ # %f = file name only
212
+ # e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
213
+ archive_timeout = {{postgresql_archive_timeout}} # force a logfile segment switch after this
214
+ # number of seconds; 0 disables
215
+
216
+
217
+ #------------------------------------------------------------------------------
218
+ # REPLICATION
219
+ #------------------------------------------------------------------------------
220
+
221
+ # - Sending Server(s) -
222
+
223
+ # Set these on the master and on any standby that will send replication data.
224
+
225
+ max_wal_senders = {{postgresql_max_wal_senders}} # max number of walsender processes
226
+ # (change requires restart)
227
+ wal_keep_segments = {{postgresql_wal_keep_segments}} # in logfile segments, 16MB each; 0 disables
228
+ wal_sender_timeout = {{postgresql_wal_sender_timeout}} # in milliseconds; 0 disables
229
+
230
+ max_replication_slots = {{postgresql_max_replication_slots}} # max number of replication slots
231
+ # (change requires restart)
232
+
233
+ track_commit_timestamp = {{'on' if postgresql_track_commit_timestamp else 'off' }}
234
+
235
+ # - Master Server -
236
+
237
+ # These settings are ignored on a standby server.
238
+
239
+ synchronous_standby_names = '{{postgresql_synchronous_standby_names|join(',')}}' # standby servers that provide sync rep
240
+ # comma-separated list of application_name
241
+ # from standby(s); '*' = all
242
+ vacuum_defer_cleanup_age = {{postgresql_vacuum_defer_cleanup_age}} # number of xacts by which cleanup is delayed
243
+
244
+ # - Standby Servers -
245
+
246
+ # These settings are ignored on a master server.
247
+
248
+ hot_standby = {{'on' if postgresql_hot_standby else 'off'}} # "on" allows queries during recovery
249
+ # (change requires restart)
250
+ max_standby_archive_delay = {{postgresql_max_standby_archive_delay}} # max delay before canceling queries
251
+ # when reading WAL from archive;
252
+ # -1 allows indefinite delay
253
+ max_standby_streaming_delay = {{postgresql_max_standby_streaming_delay}} # max delay before canceling queries
254
+ # when reading streaming WAL;
255
+ # -1 allows indefinite delay
256
+ wal_receiver_status_interval = {{postgresql_wal_receiver_status_interval}} # send replies at least this often
257
+ # 0 disables
258
+ hot_standby_feedback = {{'on' if postgresql_hot_standby_feedback or 'off'}} # send info from standby to prevent
259
+ # query conflicts
260
+ wal_receiver_timeout = {{postgresql_wal_receiver_timeout}} # time that receiver waits for
261
+ # communication from master
262
+ # in milliseconds; 0 disables
263
+
264
+ wal_retrieve_retry_interval = {{postgresql_wal_retrieve_retry_interval}}
265
+
266
+ #------------------------------------------------------------------------------
267
+ # QUERY TUNING
268
+ #------------------------------------------------------------------------------
269
+
270
+ # - Planner Method Configuration -
271
+
272
+ enable_bitmapscan = {{'on' if postgresql_enable_bitmapscan else 'off'}}
273
+ enable_hashagg = {{'on' if postgresql_enable_hashagg else 'off'}}
274
+ enable_hashjoin = {{'on' if postgresql_enable_hashjoin else 'off'}}
275
+ enable_indexscan = {{'on' if postgresql_enable_indexscan else 'off'}}
276
+ enable_indexonlyscan = {{'on' if postgresql_enable_indexonlyscan else 'off'}}
277
+ enable_material = {{'on' if postgresql_enable_material else 'off'}}
278
+ enable_mergejoin = {{'on' if postgresql_enable_mergejoin else 'off'}}
279
+ enable_nestloop = {{'on' if postgresql_enable_nestloop else 'off'}}
280
+ enable_seqscan = {{'on' if postgresql_enable_seqscan else 'off'}}
281
+ enable_sort = {{'on' if postgresql_enable_sort else 'off'}}
282
+ enable_tidscan = {{'on' if postgresql_enable_tidscan else 'off'}}
283
+
284
+ # - Planner Cost Constants -
285
+
286
+ seq_page_cost = {{postgresql_seq_page_cost}} # measured on an arbitrary scale
287
+ random_page_cost = {{postgresql_random_page_cost}} # same scale as above
288
+ cpu_tuple_cost = {{postgresql_cpu_tuple_cost}} # same scale as above
289
+ cpu_index_tuple_cost = {{postgresql_cpu_index_tuple_cost}} # same scale as above
290
+ cpu_operator_cost = {{postgresql_cpu_operator_cost}} # same scale as above
291
+ effective_cache_size = {{postgresql_effective_cache_size}}
292
+
293
+ # - Genetic Query Optimizer -
294
+
295
+ geqo = {{'on' if postgresql_enable_tidscan else 'off'}}
296
+ geqo_threshold = {{postgresql_geqo_threshold}}
297
+ geqo_effort = {{postgresql_geqo_effort}} # range 1-10
298
+ geqo_pool_size = {{postgresql_geqo_pool_size}} # selects default based on effort
299
+ geqo_generations = {{postgresql_geqo_generations}} # selects default based on effort
300
+ geqo_selection_bias = {{postgresql_geqo_selection_bias}} # range 1.5-2.0
301
+ geqo_seed = {{postgresql_geqo_seed}} # range 0.0-1.0
302
+
303
+ # - Other Planner Options -
304
+
305
+ default_statistics_target = {{postgresql_default_statistics_target}} # range 1-10000
306
+ constraint_exclusion = {{postgresql_constraint_exclusion}} # on, off, or partition
307
+ cursor_tuple_fraction = {{postgresql_cursor_tuple_fraction}} # range 0.0-1.0
308
+ from_collapse_limit = {{postgresql_from_collapse_limit}}
309
+ join_collapse_limit = {{postgresql_join_collapse_limit}} # 1 disables collapsing of explicit
310
+ # JOIN clauses
311
+
312
+
313
+ #------------------------------------------------------------------------------
314
+ # ERROR REPORTING AND LOGGING
315
+ #------------------------------------------------------------------------------
316
+
317
+ # - Where to Log -
318
+
319
+ log_destination = '{{postgresql_log_destination}}' # Valid values are combinations of
320
+ # stderr, csvlog, syslog, and eventlog,
321
+ # depending on platform. csvlog
322
+ # requires logging_collector to be on.
323
+
324
+ # This is used when logging to stderr:
325
+ logging_collector = {{'on' if postgresql_logging_collector else 'off'}} # Enable capturing of stderr and csvlog
326
+ # into log files. Required to be on for
327
+ # csvlogs.
328
+ # (change requires restart)
329
+
330
+ # These are only used if logging_collector is on:
331
+ log_directory = '{{postgresql_log_directory}}' # directory where log files are written,
332
+ # can be absolute or relative to PGDATA
333
+ log_filename = '{{postgresql_log_filename}}' # log file name pattern,
334
+ # can include strftime() escapes
335
+ log_file_mode = {{postgresql_log_file_mode}} # creation mode for log files,
336
+ # begin with 0 to use octal notation
337
+ log_truncate_on_rotation = {{'on' if postgresql_log_truncate_on_rotation else 'off'}} # If on, an existing log file with the
338
+ # same name as the new log file will be
339
+ # truncated rather than appended to.
340
+ # But such truncation only occurs on
341
+ # time-driven rotation, not on restarts
342
+ # or size-driven rotation. Default is
343
+ # off, meaning append to existing files
344
+ # in all cases.
345
+ log_rotation_age = {{postgresql_log_rotation_age}} # Automatic rotation of logfiles will
346
+ # happen after that time. 0 disables.
347
+ log_rotation_size = {{postgresql_log_rotation_size}} # Automatic rotation of logfiles will
348
+ # happen after that much log output.
349
+ # 0 disables.
350
+
351
+ # These are relevant when logging to syslog:
352
+ syslog_facility = '{{postgresql_syslog_facility}}'
353
+ syslog_ident = '{{postgresql_syslog_ident}}'
354
+
355
+ # This is only relevant when logging to eventlog (win32):
356
+ event_source = '{{postgresql_event_source}}'
357
+
358
+ # - When to Log -
359
+
360
+ client_min_messages = {{postgresql_client_min_messages}} # values in order of decreasing detail:
361
+ # debug5
362
+ # debug4
363
+ # debug3
364
+ # debug2
365
+ # debug1
366
+ # log
367
+ # notice
368
+ # warning
369
+ # error
370
+
371
+ log_min_messages = {{postgresql_log_min_messages}} # values in order of decreasing detail:
372
+ # debug5
373
+ # debug4
374
+ # debug3
375
+ # debug2
376
+ # debug1
377
+ # info
378
+ # notice
379
+ # warning
380
+ # error
381
+ # log
382
+ # fatal
383
+ # panic
384
+ #
385
+ log_min_error_statement = {{postgresql_log_min_error_statement}} # values in order of decreasing detail:
386
+ # debug5
387
+ # debug4
388
+ # debug3
389
+ # debug2
390
+ # debug1
391
+ # info
392
+ # notice
393
+ # warning
394
+ # error
395
+ # log
396
+ # fatal
397
+ # panic (effectively off)
398
+
399
+ log_min_duration_statement = {{postgresql_log_min_duration_statement}} # -1 is disabled, 0 logs all statements
400
+ # and their durations, > 0 logs only
401
+ # statements running at least this number
402
+ # of milliseconds
403
+
404
+
405
+ # - What to Log -
406
+
407
+ debug_print_parse = {{'on' if postgresql_debug_print_parse else 'off'}}
408
+ debug_print_rewritten = {{'on' if postgresql_debug_print_rewritten else 'off'}}
409
+ debug_print_plan = {{'on' if postgresql_debug_print_plan else 'off'}}
410
+ debug_pretty_print = {{'on' if postgresql_debug_pretty_print else 'off'}}
411
+ log_checkpoints = {{'on' if postgresql_log_checkpoints else 'off'}}
412
+ log_connections = {{'on' if postgresql_log_connections else 'off'}}
413
+ log_disconnections = {{'on' if postgresql_log_disconnections else 'off'}}
414
+ log_duration = {{'on' if postgresql_log_duration else 'off'}}
415
+ log_error_verbosity = {{postgresql_log_error_verbosity}} # terse, default, or verbose messages
416
+ log_hostname = {{'on' if postgresql_log_duration else 'off'}}
417
+ log_line_prefix = '{{postgresql_log_line_prefix}}' # special values:
418
+ # %a = application name
419
+ # %u = user name
420
+ # %d = database name
421
+ # %r = remote host and port
422
+ # %h = remote host
423
+ # %p = process ID
424
+ # %t = timestamp without milliseconds
425
+ # %m = timestamp with milliseconds
426
+ # %i = command tag
427
+ # %e = SQL state
428
+ # %c = session ID
429
+ # %l = session line number
430
+ # %s = session start timestamp
431
+ # %v = virtual transaction ID
432
+ # %x = transaction ID (0 if none)
433
+ # %q = stop here in non-session
434
+ # processes
435
+ # %% = '%'
436
+ # e.g. '<%u%%%d> '
437
+ log_lock_waits = {{'on' if postgresql_log_lock_waits else 'off'}} # log lock waits >= deadlock_timeout
438
+ log_statement = '{{postgresql_log_statement}}' # none, ddl, mod, all
439
+ log_temp_files = {{postgresql_log_temp_files}} # log temporary files equal or larger
440
+ # than the specified size in kilobytes;
441
+ # -1 disables, 0 logs all temp files
442
+ log_timezone = '{{postgresql_log_timezone}}'
443
+
444
+
445
+ #------------------------------------------------------------------------------
446
+ # RUNTIME STATISTICS
447
+ #------------------------------------------------------------------------------
448
+
449
+ # - Query/Index Statistics Collector -
450
+
451
+ track_activities = {{'on' if postgresql_track_activities else 'off'}}
452
+ track_counts = {{'on' if postgresql_track_counts else 'off'}}
453
+ track_io_timing = {{'on' if postgresql_track_io_timing else 'off'}}
454
+ track_functions = {{postgresql_track_functions}} # none, pl, all
455
+ track_activity_query_size = {{postgresql_track_activity_query_size}} # (change requires restart)
456
+ update_process_title = {{'on' if postgresql_update_process_title else 'off'}}
457
+ stats_temp_directory = '{{postgresql_stats_temp_directory}}'
458
+
459
+
460
+ # - Statistics Monitoring -
461
+
462
+ log_parser_stats = {{'on' if postgresql_log_parser_stats else 'off'}}
463
+ log_planner_stats = {{'on' if postgresql_log_planner_stats else 'off'}}
464
+ log_executor_stats = {{'on' if postgresql_log_executor_stats else 'off'}}
465
+ log_statement_stats = {{'on' if postgresql_log_statement_stats else 'off'}}
466
+
467
+
468
+ #------------------------------------------------------------------------------
469
+ # AUTOVACUUM PARAMETERS
470
+ #------------------------------------------------------------------------------
471
+
472
+ autovacuum = {{'on' if postgresql_autovacuum else 'off'}} # Enable autovacuum subprocess? 'on'
473
+ # requires track_counts to also be on.
474
+ log_autovacuum_min_duration = {{postgresql_log_autovacuum_min_duration}} # -1 disables, 0 logs all actions and
475
+ # their durations, > 0 logs only
476
+ # actions running at least this number
477
+ # of milliseconds.
478
+ autovacuum_max_workers = {{postgresql_autovacuum_max_workers}} # max number of autovacuum subprocesses
479
+ # (change requires restart)
480
+ autovacuum_naptime = {{postgresql_autovacuum_naptime}} # time between autovacuum runs
481
+ autovacuum_vacuum_threshold = {{postgresql_autovacuum_vacuum_threshold}} # min number of row updates before
482
+ # vacuum
483
+ autovacuum_analyze_threshold = {{postgresql_autovacuum_analyze_threshold}} # min number of row updates before
484
+ # analyze
485
+ autovacuum_vacuum_scale_factor = {{postgresql_autovacuum_vacuum_scale_factor}} # fraction of table size before vacuum
486
+ autovacuum_analyze_scale_factor = {{postgresql_autovacuum_analyze_scale_factor}} # fraction of table size before analyze
487
+ autovacuum_freeze_max_age = {{postgresql_autovacuum_freeze_max_age}} # maximum XID age before forced vacuum
488
+ # (change requires restart)
489
+ autovacuum_multixact_freeze_max_age = {{postgresql_autovacuum_multixact_freeze_max_age}} # maximum multixact age
490
+ # before forced vacuum
491
+ # (change requires restart)
492
+ autovacuum_vacuum_cost_delay = {{postgresql_autovacuum_vacuum_cost_delay}} # default vacuum cost delay for
493
+ # autovacuum, in milliseconds;
494
+ # -1 means use vacuum_cost_delay
495
+ autovacuum_vacuum_cost_limit = {{postgresql_autovacuum_vacuum_cost_limit}} # default vacuum cost limit for
496
+ # autovacuum, -1 means use
497
+ # vacuum_cost_limit
498
+
499
+
500
+ #------------------------------------------------------------------------------
501
+ # CLIENT CONNECTION DEFAULTS
502
+ #------------------------------------------------------------------------------
503
+
504
+ # - Statement Behavior -
505
+
506
+ search_path = '{{postgresql_search_path|join(',')}}' # schema names
507
+ default_tablespace = '{{postgresql_default_tablespace}}' # a tablespace name, '' uses the default
508
+ temp_tablespaces = '{{postgresql_temp_tablespaces|join(',')}}' # a list of tablespace names, '' uses
509
+ # only default tablespace
510
+ check_function_bodies = {{'on' if postgresql_check_function_bodies else 'off'}}
511
+ default_transaction_isolation = '{{postgresql_default_transaction_isolation}}'
512
+ default_transaction_read_only = {{'on' if postgresql_default_transaction_read_only else 'off'}}
513
+ default_transaction_deferrable = {{'on' if postgresql_default_transaction_deferrable else 'off'}}
514
+ session_replication_role = '{{postgresql_session_replication_role}}'
515
+ statement_timeout = {{postgresql_statement_timeout}} # in milliseconds, 0 is disabled
516
+ lock_timeout = {{postgresql_lock_timeout}} # in milliseconds, 0 is disabled
517
+ vacuum_freeze_min_age = {{postgresql_vacuum_freeze_min_age}}
518
+ vacuum_freeze_table_age = {{postgresql_vacuum_freeze_table_age}}
519
+ vacuum_multixact_freeze_min_age = {{postgresql_vacuum_multixact_freeze_min_age}}
520
+ vacuum_multixact_freeze_table_age = {{postgresql_vacuum_multixact_freeze_table_age}}
521
+ bytea_output = '{{postgresql_bytea_output}}' # hex, escape
522
+ xmlbinary = '{{postgresql_xmlbinary}}'
523
+ xmloption = '{{postgresql_xmloption}}'
524
+
525
+ # - Locale and Formatting -
526
+
527
+ datestyle = '{{postgresql_datestyle|join(',')}}'
528
+ intervalstyle = '{{postgresql_intervalstyle}}'
529
+ timezone = '{{postgresql_timezone}}'
530
+ timezone_abbreviations = '{{postgresql_timezone_abbreviations}}' # Select the set of available time zone
531
+ # abbreviations. Currently, there are
532
+ # Default
533
+ # Australia (historical usage)
534
+ # India
535
+ # You can create your own file in
536
+ # share/timezonesets/.
537
+ extra_float_digits = {{postgresql_extra_float_digits}} # min -15, max 3
538
+ {% if not postgresql_client_encoding %}
539
+ #client_encoding = sql_ascii # actually, defaults to database
540
+ {% else %}
541
+ client_encoding = {{postgresql_client_encoding}} # actually, defaults to database
542
+ {% endif %}
543
+ # encoding
544
+
545
+ # These settings are initialized by initdb, but they can be changed.
546
+ lc_messages = '{{postgresql_lc_messages}}' # locale for system error message
547
+ # strings
548
+ lc_monetary = '{{postgresql_lc_monetary}}' # locale for monetary formatting
549
+ lc_numeric = '{{postgresql_lc_numeric}}' # locale for number formatting
550
+ lc_time = '{{postgresql_lc_time}}' # locale for time formatting
551
+
552
+ # default configuration for text search
553
+ default_text_search_config = '{{postgresql_default_text_search_config}}'
554
+
555
+ # - Other Defaults -
556
+
557
+ dynamic_library_path = '{{postgresql_dynamic_library_path}}'
558
+ local_preload_libraries = '{{postgresql_local_preload_libraries|join(',')}}'
559
+ session_preload_libraries = '{{postgresql_session_preload_libraries|join(',')}}'
560
+
561
+
562
+ #------------------------------------------------------------------------------
563
+ # LOCK MANAGEMENT
564
+ #------------------------------------------------------------------------------
565
+
566
+ deadlock_timeout = {{postgresql_deadlock_timeout}}
567
+ max_locks_per_transaction = {{postgresql_max_locks_per_transaction}} # min 10
568
+ # (change requires restart)
569
+ # Note: Each lock table slot uses ~270 bytes of shared memory, and there are
570
+ # max_locks_per_transaction * (max_connections + max_prepared_transactions)
571
+ # lock table slots.
572
+ max_pred_locks_per_transaction = {{postgresql_max_pred_locks_per_transaction}} # min 10
573
+ # (change requires restart)
574
+
575
+
576
+ #------------------------------------------------------------------------------
577
+ # VERSION/PLATFORM COMPATIBILITY
578
+ #------------------------------------------------------------------------------
579
+
580
+ # - Previous PostgreSQL Versions -
581
+
582
+ array_nulls = {{'on' if postgresql_array_nulls else 'off'}}
583
+ backslash_quote = {{postgresql_backslash_quote}} # on, off, or safe_encoding
584
+ default_with_oids = {{'on' if postgresql_default_with_oids else 'off'}}
585
+ escape_string_warning = {{'on' if postgresql_escape_string_warning else 'off'}}
586
+ lo_compat_privileges = {{'on' if postgresql_lo_compat_privileges else 'off'}}
587
+ quote_all_identifiers = {{'on' if postgresql_quote_all_identifiers else 'off'}}
588
+ sql_inheritance = {{'on' if postgresql_sql_inheritance else 'off'}}
589
+ standard_conforming_strings = {{'on' if postgresql_standard_conforming_strings else 'off'}}
590
+ synchronize_seqscans = {{'on' if postgresql_synchronize_seqscans else 'off'}}
591
+
592
+ # - Other Platforms and Clients -
593
+
594
+ transform_null_equals = {{'on' if postgresql_transform_null_equals else 'off'}}
595
+
596
+
597
+ #------------------------------------------------------------------------------
598
+ # ERROR HANDLING
599
+ #------------------------------------------------------------------------------
600
+
601
+ exit_on_error = {{'on' if postgresql_exit_on_error else 'off'}} # terminate session on any error?
602
+ restart_after_crash = {{'on' if postgresql_restart_after_crash else 'off'}} # reinitialize after backend crash?
603
+
604
+
605
+ #------------------------------------------------------------------------------
606
+ # CONFIG FILE INCLUDES
607
+ #------------------------------------------------------------------------------
608
+
609
+ # These options allow settings to be loaded from files other than the
610
+ # default postgresql.conf.
611
+
612
+ include_dir = 'conf.d' # include files ending in '.conf' from
613
+ # directory 'conf.d'
614
+ #include_if_exists = 'exists.conf' # include file only if it exists
615
+ #include = 'special.conf' # include file
616
+
617
+
618
+ #------------------------------------------------------------------------------
619
+ # CUSTOMIZED OPTIONS
620
+ #------------------------------------------------------------------------------
621
+
622
+ # Add settings for extensions here
@@ -0,0 +1,28 @@
1
+ #!/bin/bash
2
+
3
+ # Process the output of the given file (should contain a plays stdout/err)
4
+ # If we pass, return with 0 else return with 1, and print useful output
5
+
6
+ _file="$1"
7
+
8
+ # Assert filename has been passed
9
+ [ $# -eq 0 ] && { echo "Usage: $0 filename"; exit 1; }
10
+
11
+ # Assert file exists
12
+ [ ! -f "$_file" ] && { echo "$0: $_file file not found."; exit 2; }
13
+
14
+ # Make sure nothing has changed or failed
15
+ grep -q 'changed=0.*failed=0' $_file
16
+
17
+ # Success condition
18
+ if [ $? -eq 0 ]; then
19
+ echo 'Idempotence test: pass'
20
+ exit
21
+
22
+ # Failure condition, extract useful information and exit
23
+ else
24
+ echo 'Idempotence test: fail'
25
+ echo ''
26
+ grep --color=auto -B1 -A1 "\(changed\|failed\):" $_file
27
+ exit 1
28
+ fi
@@ -0,0 +1,9 @@
1
+ ---
2
+
3
+ - hosts: all
4
+ remote_user: root
5
+ sudo: yes
6
+ vars_files:
7
+ - ./vars.yml
8
+ roles:
9
+ - postgresql
@@ -1,10 +1,19 @@
1
1
  ---
2
- blah: one
2
+
3
+ postgresql_version: 9.5
4
+
3
5
  postgresql_databases:
4
6
  - name: foobar
7
+ owner: baz
8
+
5
9
  postgresql_users:
6
10
  - name: baz
7
11
  pass: pass
12
+
13
+ - name: zab
14
+ pass: md51a1dc91c907325c69271ddf0c944bc72
15
+ encrypted: yes
16
+
8
17
  postgresql_user_privileges:
9
18
  - name: baz
10
19
  db: foobar
@@ -1,2 +1,2 @@
1
1
  [anxs]
2
- anxs.local ansible_ssh_host=192.168.88.22 ansible_ssh_port=22
2
+ anxs.local ansible_ssh_host=192.168.88.22 ansible_ssh_port=22 ansible_ssh_user=vagrant ansible_ssh_private_key_file=~/.vagrant.d/insecure_private_key