[UI] add toggle for connection pooler

This commit is contained in:
Felix Kunde
2020-04-29 15:34:56 +02:00
parent d76203b3f9
commit cc6449112e
10 changed files with 100 additions and 10 deletions
+1
View File
@@ -137,6 +137,7 @@ edit
o.spec.numberOfInstances = i.spec.numberOfInstances
o.spec.enableMasterLoadBalancer = i.spec.enableMasterLoadBalancer || false
o.spec.enableReplicaLoadBalancer = i.spec.enableReplicaLoadBalancer || false
o.spec.enableConnectionPooler = i.spec.enableConnectionPooler || false
o.spec.volume = { size: i.spec.volume.size }
if ('users' in i.spec && typeof i.spec.users === 'object') {
+24 -1
View File
@@ -239,6 +239,18 @@ new
|
| Enable replica ELB
tr
td Enable Connection Pool
td
label
input(
type='checkbox'
value='{ enableConnectionPooler }'
onchange='{ toggleEnableConnectionPooler }'
)
|
| Enable Connection Pool (using PGBouncer)
tr
td Volume size
td
@@ -493,6 +505,9 @@ new
{{#if enableReplicaLoadBalancer}}
enableReplicaLoadBalancer: true
{{/if}}
{{#if enableConnectionPooler}}
enableConnectionPooler: true
{{/if}}
volume:
size: "{{ volumeSize }}Gi"
{{#if users}}
@@ -516,13 +531,14 @@ new
- {{ odd }}/32
{{/if}}
{{#if resourcesVisible}}
resources:
requests:
cpu: {{ cpu.state.request.state }}m
memory: {{ memory.state.request.state }}Mi
limits:
cpu: {{ cpu.state.limit.state }}m
memory: {{ memory.state.limit.state }}Mi{{#if restoring}}
memory: {{ memory.state.limit.state }}Mi{{/if}}{{#if restoring}}
clone:
cluster: "{{ backup.state.name.state }}"
@@ -542,6 +558,7 @@ new
instanceCount: this.instanceCount,
enableMasterLoadBalancer: this.enableMasterLoadBalancer,
enableReplicaLoadBalancer: this.enableReplicaLoadBalancer,
enableConnectionPooler: this.enableConnectionPooler,
volumeSize: this.volumeSize,
users: this.users.valids,
databases: this.databases.valids,
@@ -552,6 +569,7 @@ new
memory: this.memory,
backup: this.backup,
namespace: this.namespace,
resourcesVisible: this.config.resources_visible,
restoring: this.backup.state.type.state !== 'empty',
pitr: this.backup.state.type.state === 'pitr',
}
@@ -598,6 +616,10 @@ new
this.enableReplicaLoadBalancer = !this.enableReplicaLoadBalancer
}
this.toggleEnableConnectionPooler = e => {
this.enableConnectionPooler = !this.enableConnectionPooler
}
this.volumeChange = e => {
this.volumeSize = +e.target.value
}
@@ -892,6 +914,7 @@ new
this.odd = ''
this.enableMasterLoadBalancer = false
this.enableReplicaLoadBalancer = false
this.enableConnectionPooler = false
this.postgresqlVersion = this.postgresqlVersion = (
this.config.postgresql_versions[0]
+9
View File
@@ -92,6 +92,8 @@ postgresql
.alert.alert-success(if='{ progress.masterLabel }') PostgreSQL master available, label is attached
.alert.alert-success(if='{ progress.masterLabel && progress.dnsName }') PostgreSQL ready: <strong>{ progress.dnsName }</strong>
.alert.alert-success(if='{ progress.pooler }') Connection pooler deployment created
.col-lg-3
help-general(config='{ opts.config }')
@@ -122,9 +124,11 @@ postgresql
jQuery.get(
'/postgresqls/' + this.cluster_path,
).done(data => {
this.progress.pooler = false
this.progress.postgresql = true
this.progress.postgresqlManifest = data
this.progress.createdTimestamp = data.metadata.creationTimestamp
this.progress.poolerEnabled = data.spec.enableConnectionPooler
this.uid = this.progress.postgresqlManifest.metadata.uid
this.update()
@@ -160,6 +164,11 @@ postgresql
this.progress.dnsName = data.metadata.name + '.' + data.metadata.namespace
}
jQuery.get('/pooler/' + this.cluster_path).done(data => {
this.progress.pooler = {"url": ""}
this.update()
})
this.update()
})
})