Allow port to be configurable

Regex:

- `^`        Line start
- `#*\s*`    Find line even if commented out
- `(port)`   'port' -- capture as backreference `\1`
- `\s*=\s*`  Equals sign, whether or not surrounded by whitespace
- `\d{4,5}`  Existing port value, expected at 4/5 digits
- `(.*)`     Remainder (i.e. comment) -- capture as backreference `\2`
- `$`        Line end
This commit is contained in:
Imran Iqbal
2018-06-08 23:40:12 +01:00
parent 800259dffe
commit 06e5944133
4 changed files with 27 additions and 0 deletions

View File

@@ -192,3 +192,24 @@ postgresql-running:
- file: postgresql-pg_ident
{%- endif %}
{%- if postgres.port|default(false) %}
postgresql-port:
file.replace:
- name: {{ postgres.conf_dir }}/postgresql.conf
- pattern: ^#*\s*(port)\s*=\s*\d{4,5}(.*)$
- repl: \1 = {{ postgres.port }}\2
- flags: 8 # ['MULTILINE']
- show_changes: True
- append_if_not_found: True
- backup: {{ postgres.config_backup|default(false, true) }}
- require:
- file: postgresql-config-dir
- watch_in:
- service: postgresql-port
service.running:
- name: {{ postgres.service }}
{%- endif %}