The DBPool is a database connection proxy that sits between Vault Core services and the
database. It optimises the number of database connections being used at any one time and
improves the recovery speed in the event of a database failover. It provides a set sized pool of
connections per logical database.
The DBPool is deployed with three replicas that will aim to be evenly distributed across three
Availability Zones; this is done on a best effort basis. It does not need to scale and is pinned at
three replicas. A dashboard for monitoring the service can be found in Grafana under Database/
Deadpool DB Pooler.
Changes to values.yaml and packages_info
From the point of view of Vault pods, the DBPool works as a drop-in replacement. To deploy the
DBPool as part of Vault Core:
1. Make sure the dbpool-package is added to the packages_info.yaml (if using the TM
Operator) or packages.txt (if using the TM Installer).
Classification | Confidential 37 © 2023 Thought Machine
2. In addition to the usual values.yaml settings for database hosts, set the value:
common.db.pool.enabled: 'true' where 'true' is the default from Vault 4.5.
As part of Vault Core installation or upgrade, the DBPool will be deployed before any of the pods
that need to connect to it are deployed.
NOTE
You can deploy Vault without DBPool by setting common.db.pool.enabled:
'false'.