diff --git a/internal/openstack_helm/barbican.go b/internal/openstack_helm/barbican.go
new file mode 100644
index 0000000..f246542
--- /dev/null
+++ b/internal/openstack_helm/barbican.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type BarbicanConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/cinder.go b/internal/openstack_helm/cinder.go
new file mode 100644
index 0000000..d9938a3
--- /dev/null
+++ b/internal/openstack_helm/cinder.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type CinderConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/database.go b/internal/openstack_helm/database.go
new file mode 100644
index 0000000..c5a52e7
--- /dev/null
+++ b/internal/openstack_helm/database.go
@@ -0,0 +1,7 @@
+package openstack_helm
+
+type DatabaseConf struct {
+	ConnectionRecycleTime int `yaml:"connection_recycle_time,omitempty"`
+	MaxPoolSize           int `yaml:"max_pool_size,omitempty"`
+	MaxRetries            int `yaml:"max_retries,omitempty"`
+}
diff --git a/internal/openstack_helm/designate.go b/internal/openstack_helm/designate.go
new file mode 100644
index 0000000..96bf595
--- /dev/null
+++ b/internal/openstack_helm/designate.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type DesignateConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/glance.go b/internal/openstack_helm/glance.go
new file mode 100644
index 0000000..ad1f7e8
--- /dev/null
+++ b/internal/openstack_helm/glance.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type GlanceConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/heat.go b/internal/openstack_helm/heat.go
new file mode 100644
index 0000000..3777c30
--- /dev/null
+++ b/internal/openstack_helm/heat.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type HeatConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/keystone.go b/internal/openstack_helm/keystone.go
new file mode 100644
index 0000000..3ac5d68
--- /dev/null
+++ b/internal/openstack_helm/keystone.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type KeystoneConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/magnum.go b/internal/openstack_helm/magnum.go
new file mode 100644
index 0000000..edf6e7b
--- /dev/null
+++ b/internal/openstack_helm/magnum.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type MagnumConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/manila.go b/internal/openstack_helm/manila.go
new file mode 100644
index 0000000..872049e
--- /dev/null
+++ b/internal/openstack_helm/manila.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type ManilaConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/neutron.go b/internal/openstack_helm/neutron.go
new file mode 100644
index 0000000..1c39ac8
--- /dev/null
+++ b/internal/openstack_helm/neutron.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type NeutronConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/nova.go b/internal/openstack_helm/nova.go
new file mode 100644
index 0000000..5f5618b
--- /dev/null
+++ b/internal/openstack_helm/nova.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type NovaConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/octavia.go b/internal/openstack_helm/octavia.go
new file mode 100644
index 0000000..881c026
--- /dev/null
+++ b/internal/openstack_helm/octavia.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type OctaviaConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/openstack_helm.go b/internal/openstack_helm/openstack_helm.go
new file mode 100644
index 0000000..e66c335
--- /dev/null
+++ b/internal/openstack_helm/openstack_helm.go
@@ -0,0 +1,79 @@
+package openstack_helm
+
+import (
+	"gopkg.in/yaml.v2"
+	"helm.sh/helm/v3/pkg/chart/loader"
+	"helm.sh/helm/v3/pkg/chartutil"
+)
+
+type HelmValues struct {
+	Conf `yaml:"conf"`
+}
+
+type Conf struct {
+	Barbican  *BarbicanConf  `yaml:"barbican,omitempty"`
+	Cinder    *CinderConf    `yaml:"cinder,omitempty"`
+	Designate *DesignateConf `yaml:"designate,omitempty"`
+	Glance    *GlanceConf    `yaml:"glance,omitempty"`
+	Heat      *HeatConf      `yaml:"heat,omitempty"`
+	Keystone  *KeystoneConf  `yaml:"keystone,omitempty"`
+	Magnum    *MagnumConf    `yaml:"magnum,omitempty"`
+	Manila    *ManilaConf    `yaml:"manila,omitempty"`
+	Neutron   *NeutronConf   `yaml:"neutron,omitempty"`
+	Nova      *NovaConf      `yaml:"nova,omitempty"`
+	Octavia   *OctaviaConf   `yaml:"octavia,omitempty"`
+	Placement *PlacementConf `yaml:"placement,omitempty"`
+	Senlin    *SenlinConf    `yaml:"senlin,omitempty"`
+	Staffeln  *StaffelnConf  `yaml:"staffeln,omitempty"`
+}
+
+func (h *HelmValues) YAML() ([]byte, error) {
+	return yaml.Marshal(h)
+}
+
+func (h *HelmValues) NativeHelmValues() (chartutil.Values, error) {
+	yamlData, err := h.YAML()
+	if err != nil {
+		return nil, err
+	}
+
+	return chartutil.ReadValues(yamlData)
+}
+
+func FromYAML(yamlData []byte) (*HelmValues, error) {
+	var helmValues HelmValues
+	err := yaml.Unmarshal(yamlData, &helmValues)
+	if err != nil {
+		return nil, err
+	}
+
+	return &helmValues, nil
+}
+
+func FromYAMLString(yamlString string) (*HelmValues, error) {
+	return FromYAML([]byte(yamlString))
+}
+
+func CoalescedHelmValues(name string, values *HelmValues) (*HelmValues, error) {
+	chart, err := loader.Load(name)
+	if err != nil {
+		return nil, err
+	}
+
+	releaseValues, err := values.NativeHelmValues()
+	if err != nil {
+		return nil, err
+	}
+
+	mergedValues, err := chartutil.CoalesceValues(chart, releaseValues)
+	if err != nil {
+		return nil, err
+	}
+
+	yamlData, err := mergedValues.YAML()
+	if err != nil {
+		return nil, err
+	}
+
+	return FromYAMLString(yamlData)
+}
diff --git a/internal/openstack_helm/placement.go b/internal/openstack_helm/placement.go
new file mode 100644
index 0000000..dbba720
--- /dev/null
+++ b/internal/openstack_helm/placement.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type PlacementConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/openstack_helm/senlin.go b/internal/openstack_helm/senlin.go
new file mode 100644
index 0000000..5cb3e40
--- /dev/null
+++ b/internal/openstack_helm/senlin.go
@@ -0,0 +1,10 @@
+package openstack_helm
+
+type SenlinConf struct {
+	API      SenlinAPIConf `yaml:"senlin_api"`
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
+
+type SenlinAPIConf struct {
+	Workers int32 `yaml:"workers"`
+}
diff --git a/internal/openstack_helm/staffeln.go b/internal/openstack_helm/staffeln.go
new file mode 100644
index 0000000..7cf0c9f
--- /dev/null
+++ b/internal/openstack_helm/staffeln.go
@@ -0,0 +1,5 @@
+package openstack_helm
+
+type StaffelnConf struct {
+	Database *DatabaseConf `yaml:"database,omitempty"`
+}
diff --git a/internal/testutils/oslo_db.go b/internal/testutils/oslo_db.go
new file mode 100644
index 0000000..7d9feae
--- /dev/null
+++ b/internal/testutils/oslo_db.go
@@ -0,0 +1,15 @@
+package testutils
+
+import (
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+)
+
+func TestDatabaseConf(t *testing.T, config *openstack_helm.DatabaseConf) {
+	assert.Equal(t, 10, config.ConnectionRecycleTime)
+	assert.Equal(t, 1, config.MaxPoolSize)
+	assert.Equal(t, -1, config.MaxRetries)
+}
diff --git a/roles/barbican/vars/main.yml b/roles/barbican/vars/main.yml
index 7eb2c78..701df96 100644
--- a/roles/barbican/vars/main.yml
+++ b/roles/barbican/vars/main.yml
@@ -23,6 +23,9 @@
     barbican:
       DEFAULT:
         log_config_append: null
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       oslo_messaging_notifications:
         driver: noop
       simple_crypto_plugin:
diff --git a/roles/barbican/vars_test.go b/roles/barbican/vars_test.go
new file mode 100644
index 0000000..8a0dccc
--- /dev/null
+++ b/roles/barbican/vars_test.go
@@ -0,0 +1,39 @@
+package barbican
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"_barbican_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/barbican", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Barbican.Database)
+}
diff --git a/roles/cinder/vars/main.yml b/roles/cinder/vars/main.yml
index f0d1630..179f34e 100644
--- a/roles/cinder/vars/main.yml
+++ b/roles/cinder/vars/main.yml
@@ -36,6 +36,9 @@
         barbican_endpoint_type: internal
       cors:
         allowed_origins: "*"
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       oslo_messaging_notifications:
         driver: noop
   manifests:
diff --git a/roles/cinder/vars_test.go b/roles/cinder/vars_test.go
new file mode 100644
index 0000000..c501802
--- /dev/null
+++ b/roles/cinder/vars_test.go
@@ -0,0 +1,39 @@
+package cinder
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"__cinder_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/cinder", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Cinder.Database)
+}
diff --git a/roles/designate/vars/main.yml b/roles/designate/vars/main.yml
index 09ac03c..5e4e174 100644
--- a/roles/designate/vars/main.yml
+++ b/roles/designate/vars/main.yml
@@ -18,6 +18,9 @@
     tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('designate') }}"
   conf:
     designate:
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       service:central:
         managed_resource_tenant_id: "{{ _designate_project_info.openstack_projects[0].id }}"
     pools: "{{ designate_pools | to_yaml }}"
diff --git a/roles/designate/vars_test.go b/roles/designate/vars_test.go
new file mode 100644
index 0000000..e3ec382
--- /dev/null
+++ b/roles/designate/vars_test.go
@@ -0,0 +1,39 @@
+package designate
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"_designate_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/designate", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Designate.Database)
+}
diff --git a/roles/glance/vars/main.yml b/roles/glance/vars/main.yml
index 9f62885..7774bb6 100644
--- a/roles/glance/vars/main.yml
+++ b/roles/glance/vars/main.yml
@@ -43,6 +43,9 @@
         workers: 8
       cors:
         allowed_origins: "*"
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       image_format:
         disk_formats: "qcow2,raw"
       oslo_messaging_notifications:
diff --git a/roles/glance/vars_test.go b/roles/glance/vars_test.go
new file mode 100644
index 0000000..aa0455c
--- /dev/null
+++ b/roles/glance/vars_test.go
@@ -0,0 +1,39 @@
+package glance
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"_glance_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/glance", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Glance.Database)
+}
diff --git a/roles/heat/vars/main.yml b/roles/heat/vars/main.yml
index 3104161..10202f3 100644
--- a/roles/heat/vars/main.yml
+++ b/roles/heat/vars/main.yml
@@ -35,6 +35,9 @@
         server_keystone_endpoint_type: public
       clients_keystone:
         endpoint_type: publicURL
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       ec2authtoken:
         auth_uri: http://keystone-api.openstack.svc.cluster.local:5000
       heat_api:
diff --git a/roles/heat/vars_test.go b/roles/heat/vars_test.go
new file mode 100644
index 0000000..a87f90c
--- /dev/null
+++ b/roles/heat/vars_test.go
@@ -0,0 +1,39 @@
+package heat
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"_heat_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/heat", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Heat.Database)
+}
diff --git a/roles/keystone/vars/main.yml b/roles/keystone/vars/main.yml
index 4ed3565..625ff2f 100644
--- a/roles/keystone/vars/main.yml
+++ b/roles/keystone/vars/main.yml
@@ -35,6 +35,9 @@
         methods: password,token,openid,application_credential
       cors:
         allowed_origins: "*"
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       openid:
         remote_id_attribute: HTTP_OIDC_ISS
       federation:
diff --git a/roles/keystone/vars_test.go b/roles/keystone/vars_test.go
new file mode 100644
index 0000000..c5bfe19
--- /dev/null
+++ b/roles/keystone/vars_test.go
@@ -0,0 +1,32 @@
+package keystone
+
+import (
+	_ "embed"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"_keystone_helm_values"`
+}
+
+func TestHelmValues(t *testing.T) {
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/keystone", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Keystone.Database)
+}
diff --git a/roles/magnum/vars/main.yml b/roles/magnum/vars/main.yml
index 8bc7fa3..eeee431 100644
--- a/roles/magnum/vars/main.yml
+++ b/roles/magnum/vars/main.yml
@@ -33,6 +33,9 @@
         kubernetes_default_network_driver: calico
       conductor:
         workers: 4
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       drivers:
         verify_ca: false
       glance_client:
diff --git a/roles/magnum/vars_test.go b/roles/magnum/vars_test.go
new file mode 100644
index 0000000..21e8fd6
--- /dev/null
+++ b/roles/magnum/vars_test.go
@@ -0,0 +1,39 @@
+package magnum
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"_magnum_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/magnum", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Magnum.Database)
+}
diff --git a/roles/manila/vars/main.yml b/roles/manila/vars/main.yml
index 01b8541..40e738f 100644
--- a/roles/manila/vars/main.yml
+++ b/roles/manila/vars/main.yml
@@ -47,6 +47,9 @@
       DEFAULT:
         host: manila-share-worker
         osapi_share_workers: 4
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       generic:
         connect_share_server_to_tenant_network: true
         limit_ssh_access: true
diff --git a/roles/manila/vars_test.go b/roles/manila/vars_test.go
new file mode 100644
index 0000000..627920b
--- /dev/null
+++ b/roles/manila/vars_test.go
@@ -0,0 +1,39 @@
+package manila
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"_manila_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/manila", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Manila.Database)
+}
diff --git a/roles/neutron/vars/main.yml b/roles/neutron/vars/main.yml
index 3ccd02e..151363d 100644
--- a/roles/neutron/vars/main.yml
+++ b/roles/neutron/vars/main.yml
@@ -33,6 +33,9 @@
         external_dns_driver: "{{ _neutron_external_dns_driver | default(omit) }}"
       cors:
         allowed_origin: "*"
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       nova:
         live_migration_events: true
       placement:
diff --git a/roles/neutron/vars_test.go b/roles/neutron/vars_test.go
new file mode 100644
index 0000000..8358366
--- /dev/null
+++ b/roles/neutron/vars_test.go
@@ -0,0 +1,39 @@
+package neutron
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"__neutron_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/neutron", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Neutron.Database)
+}
diff --git a/roles/nova/vars/main.yml b/roles/nova/vars/main.yml
index 1b9c802..b7a93c2 100644
--- a/roles/nova/vars/main.yml
+++ b/roles/nova/vars/main.yml
@@ -72,6 +72,9 @@
       cors:
         allowed_origin: "*"
         allow_headers: "X-Auth-Token,X-OpenStack-Nova-API-Version"
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       filter_scheduler:
         enabled_filters:
           AvailabilityZoneFilter,
diff --git a/roles/nova/vars_test.go b/roles/nova/vars_test.go
new file mode 100644
index 0000000..716b946
--- /dev/null
+++ b/roles/nova/vars_test.go
@@ -0,0 +1,39 @@
+package nova
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"_nova_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/nova", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Nova.Database)
+}
diff --git a/roles/octavia/vars/main.yml b/roles/octavia/vars/main.yml
index f83ae85..5cb3f1d 100644
--- a/roles/octavia/vars/main.yml
+++ b/roles/octavia/vars/main.yml
@@ -105,6 +105,9 @@
         client_ca: /etc/octavia/certs/client/ca.crt
         volume_driver: volume_cinder_driver
         workers: 4
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       glance:
         endpoint_type: internalURL
       haproxy_amphora:
diff --git a/roles/octavia/vars_test.go b/roles/octavia/vars_test.go
new file mode 100644
index 0000000..8c99a14
--- /dev/null
+++ b/roles/octavia/vars_test.go
@@ -0,0 +1,39 @@
+package octavia
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"_octavia_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/octavia", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Octavia.Database)
+}
diff --git a/roles/placement/vars/main.yml b/roles/placement/vars/main.yml
index 322a0ba..58082d8 100644
--- a/roles/placement/vars/main.yml
+++ b/roles/placement/vars/main.yml
@@ -23,6 +23,10 @@
     placement:
       DEFAULT:
         log_config_append: null
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
+        max_retries: -1
       oslo_messaging_notifications:
         driver: noop
   manifests:
diff --git a/roles/placement/vars_test.go b/roles/placement/vars_test.go
new file mode 100644
index 0000000..fa3fac3
--- /dev/null
+++ b/roles/placement/vars_test.go
@@ -0,0 +1,39 @@
+package placement
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"_placement_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/placement", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Placement.Database)
+}
diff --git a/roles/senlin/vars/main.yml b/roles/senlin/vars/main.yml
index e0b9887..d1fcbdc 100644
--- a/roles/senlin/vars/main.yml
+++ b/roles/senlin/vars/main.yml
@@ -26,6 +26,9 @@
     senlin:
       DEFAULT:
         log_config_append: null
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
       oslo_messaging_notifications:
         driver: noop
       senlin_api:
diff --git a/roles/senlin/vars_test.go b/roles/senlin/vars_test.go
index d872627..f399407 100644
--- a/roles/senlin/vars_test.go
+++ b/roles/senlin/vars_test.go
@@ -8,6 +8,9 @@
 	"github.com/goccy/go-yaml"
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
 )
 
 var (
@@ -17,23 +20,7 @@
 )
 
 type Vars struct {
-	SenlinHelmValues `yaml:"_senlin_helm_values"`
-}
-
-type SenlinHelmValues struct {
-	Conf `yaml:"conf"`
-}
-
-type Conf struct {
-	Senlin SenlinConf `yaml:"senlin"`
-}
-
-type SenlinConf struct {
-	API SenlinAPIConf `yaml:"senlin_api"`
-}
-
-type SenlinAPIConf struct {
-	Workers int32 `yaml:"workers"`
+	openstack_helm.HelmValues `yaml:"_senlin_helm_values"`
 }
 
 func TestMain(m *testing.M) {
@@ -45,6 +32,11 @@
 	os.Exit(code)
 }
 
-func TestSenlinHelmValues(t *testing.T) {
-	assert.Equal(t, int32(2), vars.SenlinHelmValues.Conf.Senlin.API.Workers)
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/senlin", &vars.HelmValues)
+	require.NoError(t, err)
+
+	assert.Equal(t, int32(2), vals.Conf.Senlin.API.Workers)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Senlin.Database)
 }
diff --git a/roles/staffeln/vars/main.yml b/roles/staffeln/vars/main.yml
index c0be4b3..d23c9b1 100644
--- a/roles/staffeln/vars/main.yml
+++ b/roles/staffeln/vars/main.yml
@@ -25,6 +25,9 @@
       conductor:
         backup_metadata_key: "{{ staffeln_backup_metadata_key }}"
         retention_metadata_key: "{{ staffeln_retention_metadata_key }}"
+      database:
+        connection_recycle_time: 10
+        max_pool_size: 1
   manifests:
     ingress_api: false
     service_ingress_api: false
diff --git a/roles/staffeln/vars_test.go b/roles/staffeln/vars_test.go
new file mode 100644
index 0000000..07ec9ab
--- /dev/null
+++ b/roles/staffeln/vars_test.go
@@ -0,0 +1,39 @@
+package staffeln
+
+import (
+	_ "embed"
+	"os"
+	"testing"
+
+	"github.com/goccy/go-yaml"
+	"github.com/stretchr/testify/require"
+
+	"github.com/vexxhost/atmosphere/internal/openstack_helm"
+	"github.com/vexxhost/atmosphere/internal/testutils"
+)
+
+var (
+	//go:embed vars/main.yml
+	varsFile []byte
+	vars     Vars
+)
+
+type Vars struct {
+	openstack_helm.HelmValues `yaml:"_staffeln_helm_values"`
+}
+
+func TestMain(m *testing.M) {
+	t := &testing.T{}
+	err := yaml.UnmarshalWithOptions(varsFile, &vars)
+	require.NoError(t, err)
+
+	code := m.Run()
+	os.Exit(code)
+}
+
+func TestHelmValues(t *testing.T) {
+	vals, err := openstack_helm.CoalescedHelmValues("../../charts/staffeln", &vars.HelmValues)
+	require.NoError(t, err)
+
+	testutils.TestDatabaseConf(t, vals.Conf.Staffeln.Database)
+}
