-
Notifications
You must be signed in to change notification settings - Fork 7
/
manifest.yaml
executable file
·64 lines (59 loc) · 2.3 KB
/
manifest.yaml
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
type: install
version: 1.7
id: postgres-master-slave
baseUrl: https://raw.githubusercontent.com/jelastic-jps/postgres/v2.0.0
homepage: https://www.virtuozzo.com/application-platform-docs/postgresql-database-replication/
logo: /images/postgres-70x70.png
name: PostgreSQL Primary-Secondary Cluster
description:
text: |
PostgreSQL Primary-Secondary Cluster for improving data availability with asynchronous replication.
PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.
short: PostgreSQL Primary-Secondary Cluster with asynchronous replication.
categories:
- apps/clustered-dbs
- apps/clusters
settings:
fields:
- caption: Version
name: nodeType
type: list
values:
- value: postgres12
caption: PostgreSQL 12
- value: postgres13
caption: PostgreSQL 13
- value: postgres14
caption: PostgreSQL 14
- value: postgres15
caption: PostgreSQL 15
default: postgres15
- type: toggle
caption: Pgpool-II enabled
name: is_pgpool2
tooltip: <h3 align=center>Pgpool-II Load Balancer</h3>Scalable and Highly Available load balancer layer to distribute requests and manage PostgreSQL replication topology. New LB and DB nodes are automatically added into the cluster upon scaling.<br><img width='330' height='280' src='https://raw.githubusercontent.com/DmytroZubelevych/postgres/v2.0.0/images/pgpool-postgres-single-region.svg?sanitize=true'>
value: true
nodes:
cloudlets: 32
count: 2
scalingMode: STATELESS
nodeType: ${settings.nodeType}
password: ${fn.password}
cluster:
is_pgpool2: ${settings.is_pgpool2}
onInstall:
- cmd[${nodes.sqldb.master.id}]: jcm getPswd
- setGlobals:
pswd: ${response.out}
- if ('${settings.is_pgpool2}' == 'true'):
- cmd[${nodes.pgpool.master.id}]: cat /var/lib/pgsql/.pcppass |awk -F ':' '{print $4}'
- setGlobals:
pgpoolPasswd: '${response.out}'
successPath: /text/success-pgpool.md?_r=${fn.random}
- else:
- setGlobals:
successPath: /text/success.md?_r=${fn.random}
startPage: ${nodes.sqldb.master.url}
success:
email: false
text: ${globals.successPath}