-
Notifications
You must be signed in to change notification settings - Fork 37
/
Copy pathspec
147 lines (142 loc) · 5.57 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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
---
name: postgres
description: "The Postgres server provides a single instance Postgres database that can be used with the Cloud Controller or the UAA. It does not provide highly-available configuration."
templates:
pre-start.sh.erb: bin/pre-start
postgres_ctl.sh.erb: bin/postgres_ctl
pg_janitor_ctl.sh.erb: bin/pg_janitor_ctl
pg_janitor.sh.erb: bin/pg_janitor.sh
postgres_start.sh.erb: bin/postgres_start.sh
pgconfig.sh.erb: bin/pgconfig.sh
utils.sh.erb: bin/utils.sh
postgresql.conf.erb: config/postgresql.conf
pg_hba.conf.erb: config/pg_hba.conf
pg_ident.conf.erb: config/pg_ident.conf
roles.sql.erb: config/roles.sql
server.private_key.erb: config/certificates/server.private_key
server.public_cert.erb: config/certificates/server.public_cert
server.ca_cert.erb: config/certificates/server.ca_cert
hooks/call-hooks.sh.erb: bin/hooks/call-hooks.sh
hooks/postgres-pre-start.sh.erb: bin/hooks/postgres-pre-start.sh
hooks/janitor.sh.erb: bin/hooks/janitor.sh
hooks/postgres-pre-stop.sh.erb: bin/hooks/postgres-pre-stop.sh
hooks/postgres-post-start.sh.erb: bin/hooks/postgres-post-start.sh
hooks/postgres-post-stop.sh.erb: bin/hooks/postgres-post-stop.sh
used_postgresql_versions.yml: config/used_postgresql_versions.yml
packages:
- postgres-common
- postgres-13
- postgres-15
- postgres-16
- postgres-yq-4
provides:
- name: postgres
type: database
properties:
- databases.port
- databases.databases
- databases.roles
- databases.tls.ca
properties:
databases.version:
description: "The database version e.g. 11, 13, 15 or 16"
default: 16
databases.port:
description: "The database port"
default: 5432
databases.databases:
description: "A list of databases and associated properties to create"
example: |
- name: sandbox
citext: true
- name: sandbox2
citext: false
databases.roles:
description: "A list of database roles and associated properties to create"
example: |
- name: pgadmin
password: passwd
permissions:
- "CONNECTION LIMIT 33"
- name: bud_spencer
common_name: "Carlo Pedersoli"
databases.max_connections:
description: "Maximum number of database connections"
default: 500
databases.log_line_prefix:
description: "The postgres `printf` style string that is output at the beginning of each log line"
default: "%m: "
databases.collect_statement_statistics:
description: "Enable the `pg_stat_statements` extension and collect statement execution statistics"
default: false
databases.additional_config:
description: "A map of additional key/value pairs to include as extra configuration properties"
example: |
shared_buffers: 4GB
databases.monit_timeout:
description: "Monit timout in seconds for the postgres job start. If not specified, no timeout statement will be added so that the global monit timeout applies."
default: 90
databases.tls.ca:
description: "PEM-encoded certification authority for secure TLS communication"
default: ''
databases.tls.certificate:
description: "PEM-encoded certificate for secure TLS communication"
default: ''
databases.tls.private_key:
description: "PEM-encoded key for secure TLS communication"
default: ''
databases.trust_local_connections:
description: Whether to trust or not local connections. Note that vcap is always trusted.
default: true
databases.skip_data_copy_in_minor:
description: "If false, during a PostgreSQL minor upgrade a copy of the data directory is created."
default: false
databases.hooks.timeout:
description: "Time limit in seconds for the hook script. By default it's set to 0 that means no time limit"
default: 0
databases.hooks.pre_start:
description: "Script to run before starting PostgreSQL"
default: ''
example: |
#!/bin/bash
echo "Going to start Postgres"
echo "PostgreSQL data directory is ${DATA_DIR}"
echo "PostgreSQL port is ${PORT}"
echo "Package directory is ${PACKAGE_DIR}"
databases.hooks.post_start:
description: "Script to run after PostgreSQL has started"
default: ''
example: |
#!/bin/bash
echo "The following databases are available:"
${PACKAGE_DIR}/bin/psql -p ${PORT} -U vcap postgres -c "\l"
databases.hooks.pre_stop:
description: "Script to run before stopping PostgreSQL"
default: ''
databases.hooks.post_stop:
description: "Script to run after PostgreSQL has stopped"
default: ''
databases.enable_trace:
description: "Print additional traces in control scripts"
default: false
databases.logging.format.timestamp:
description: |
Format for timestamp in component logs.
This includes pre-start, postgres_ctl, pg_janitor_ctl, janitor, and hooks; PostgreSQL logs are not included.
Valid values are 'rfc3339', and 'deprecated'."
'rfc3339' is the recommended format, which is human readable.
'deprecated' will result in all timestamps being in the format they were before the rfc3339 flag was introduced.
default: "rfc3339"
janitor.script:
description: "If specified, janitor would periodically run this script"
default: ''
example: |
#!/bin/bash
echo "Run VACUUM"
${PACKAGE_DIR}/bin/psql -p ${PORT} -U vcap sandbox -c "VACUUM ANALYZE"
janitor.interval:
description: "Interval in seconds between two invocations of the janitor script. By default it's set to 1 day."
default: 86400
janitor.timeout:
description: "Time limit in seconds for the janitor script. By default it's set to 0 that means no time limit"
default: 0