Merge branch '18691-freeze-project'
[arvados.git] / tools / salt-install / config_examples / single_host / single_hostname / pillars / postgresql.sls
1 ---
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: AGPL-3.0
5
6 ### POSTGRESQL
7 postgres:
8   # Centos-7's postgres package is too old, so we need to force using upstream's
9   # This is not required in Debian's family as they already ship with PG +11
10   {%- if salt['grains.get']('os_family') == 'RedHat' %}
11   use_upstream_repo: true
12   version: '12'
13
14   pkgs_deps:
15     - libicu
16     - libxslt
17     - systemd-sysv
18
19   pkgs_extra:
20     - postgresql12-contrib
21
22   {%- else %}
23   use_upstream_repo: false
24   pkgs_extra:
25     - postgresql-contrib
26   {%- endif %}
27   postgresconf: |-
28     listen_addresses = '*'  # listen on all interfaces
29     # If you want to enable communications' encryption to the DB server,
30     # uncomment these entries
31     # ssl = on
32     # ssl_cert_file = '/etc/ssl/certs/arvados-snakeoil-cert.pem'
33     # ssl_key_file = '/etc/ssl/private/arvados-snakeoil-cert.key'
34   acls:
35     - ['local', 'all', 'postgres', 'peer']
36     - ['local', 'all', 'all', 'peer']
37     - ['host', 'all', 'all', '127.0.0.1/32', 'md5']
38     - ['host', 'all', 'all', '::1/128', 'md5']
39     - ['host', '__CLUSTER___arvados', '__CLUSTER___arvados', '127.0.0.0/8']
40   users:
41     __CLUSTER___arvados:
42       ensure: present
43       password: __DATABASE_PASSWORD__
44
45   # tablespaces:
46   #   arvados_tablespace:
47   #     directory: /path/to/some/tbspace/arvados_tbsp
48   #     owner: arvados
49
50   databases:
51     __CLUSTER___arvados:
52       owner: __CLUSTER___arvados
53       template: template0
54       lc_ctype: en_US.utf8
55       lc_collate: en_US.utf8
56       # tablespace: arvados_tablespace
57       schemas:
58         public:
59           owner: __CLUSTER___arvados
60       extensions:
61         pg_trgm:
62           if_not_exists: true
63           schema: public