-
Notifications
You must be signed in to change notification settings - Fork 10
/
spec
110 lines (95 loc) · 3.99 KB
/
spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
---
name: postgres
packages:
- postgres
templates:
bin/ctl: bin/ctl
bin/tune: bin/tune
bin/monit_debugger: bin/monit_debugger
data/properties.sh.erb: data/properties.sh
helpers/ctl_setup.sh: helpers/ctl_setup.sh
helpers/ctl_utils.sh: helpers/ctl_utils.sh
envrc: envrc
config/postgresql.conf: config/postgresql.conf
config/hba.conf: config/hba.conf
config/ident.conf: config/ident.conf
sql/setup-replication.sql: sql/setup-replication.sql
provides:
- name: db
type: postgresql
properties:
- postgres.config.port
- pgpool.users
consumes:
- name: db
type: postgresql
properties:
postgres.config:
description: A map of postgresql.conf configuration directives, keyed by name.
default: {}
postgres.hba:
description: A list of pg_hba.conf configuration acls. See Section 19.1 of the PostgreSQL manual.
default: []
postgres.ident:
description: A list of pg_ident.conf configuration entries See Section 19.2 of the PostgreSQL manual.
default: []
postgres.tuning.enable:
description: Enable experimental Kernel Tuning code, utilizing values from postgres.tuning.* properties hierarchy. THIS IS EXPERIMENTAL.
default: false
postgres.tuning.force:
description: Whether or not to adhere strictly to specified and/or calculated tuning values. If set to false (the default), tuning parameters are taken as guides, usually in the form of minimums.
default: false
# NOTE: Neither SHMMIN nor SHMSEG are modifiable on Linux (at least not without a
# kernel reconfigure / recompile) so they are not represented here.
#
postgres.tuning.ipc.shmmax:
description: Maximum size of shared memory segment (bytes) - at least 1kB (more if running many copies of the server).
default: auto
postgres.tuning.ipc.shmall:
description: Total amount of shared memory available (bytes or pages) - this should normally be left at 'auto'.
default: auto
postgres.tuning.ipc.shmmni:
description: Maximum number of shared memory segments system-wide - like postgres.tuning.ipc.shmseg plus room for other applications.
default: auto
# NOTE: Neither SEMMAP nor SEMVMX are modifiable on Linux (at least not without a
# kernel reconfigure / recompile) so they are not represented here.
#
# HOWEVER, SEMOPM *is* configurable, so even though the PostgreSQL documentation
# doesn't mention it explicitly in section 17.1, it's available for tuning.
#
postgres.tuning.ipc.semmni:
description: Maximum number of semaphore identifiers (i.e., sets) - at least ceil((max_connections + autovacuum_max_workers + 4) / 16).
default: auto
postgres.tuning.ipc.semmns:
description: Maximum number of semaphores system-wide - ceil((max_connections + autovacuum_max_workers + 4) / 16) * 17 plus room for other applications.
default: auto
postgres.tuning.ipc.semmsl:
description: Maximum number of semaphores per set - at least 17.
default: 17
postgres.tuning.ipc.semopm:
description: The maximum number of operations that may be specified in a semop(2) call.
default: auto
postgres.tuning.limits.fds:
description: The maximum number of open files (including sockets) that any given process can have.
default: auto
postgres.replication.enabled:
description: Whether or not to enable streaming PostgreSQL replication
default: false
postgres.replication.master:
description: IP address of the preferred master node (should be the 0th postgres node's IP)
default: ~
pgpool.users:
description: "A list of {username: ..., password: ...} objects for defining pgpool users. Setting the 'admin:' key on a user will make them a superuser."
default: []
pgpool.databases:
description: A list of databases to create in Postgres.
default: []
example: |
pgpool:
databases:
- name: animals
users:
- porcupine
- hedgehog
extensions: # optional aray of extensions to enable on this database
- citext