Description
This rule checks that storage autoscaling is enabled on a Managed Database cluster so the cluster automatically adds disk capacity when utilization on any node reaches a defined threshold. DigitalOcean's storage autoscaling is available across the managed engines (PostgreSQL, MySQL, MongoDB, OpenSearch, Kafka) and is configured per cluster with a customizable threshold and storage increment.
The rule inspects whether storage autoscaling is turned on for the cluster and whether the threshold and increment are set. When it triggers, DigitalOcean adds the configured increment to each node without downtime and bills it as additional storage.
Clusters with storage autoscaling disabled that are approaching their disk limit
Clusters with no headroom configured for unexpected data growth
Rationale
A managed database that runs out of disk cannot accept writes, which typically causes application errors or an outage until the cluster is manually resized. Storage autoscaling absorbs unplanned growth automatically before the disk fills.
Because autoscaling adds the increment to every node in the cluster and is billed as extra storage, setting a sensible threshold and increment — plus alerting on autoscale events — keeps growth visible while preventing capacity-driven outages.
Impact
Pros:
Prevents write failures and outages caused by a full disk
Scales without downtime and without manual intervention
Threshold and increment are customizable to balance safety and cost
Cons:
Autoscaled storage increases the bill and, once added, is not automatically reduced
The increment is applied to every node, multiplying the added storage and cost by node count
Without alerting, silent growth can mask a runaway query or data issue
Default Value
Storage autoscaling is opt-in and disabled by default; it is configured per cluster with a customizable utilization threshold (percent) and storage increment (GiB).
Pre-Requisite
DigitalOcean Control Panel access with a role that can edit cluster configuration
A PostgreSQL or MySQL cluster (storage scaling applies to disk-based engines)
A chosen utilization threshold and storage increment, plus an alerting destination
Optional: a DigitalOcean API token or doctl authenticated (doctl auth init)
Remediation
Test Plan
Using the DigitalOcean Control Panel:
In the Control Panel, open Databases and click the cluster name.
Open the Settings tab and find the Autoscale storage section within the Configuration area.
Check whether 'Enable Storage Autoscaling' is selected and review the threshold and storage increment.
Pass: Storage autoscaling is enabled with a sensible threshold and increment.
Fail: Storage autoscaling is disabled.
Using doctl or the API:
Read the cluster's storage autoscaling settings with doctl (the Control Panel shows the same values).
doctl databases storage-autoscale get <database-cluster-id>
Pass if storage autoscaling is reported as enabled with a sensible threshold percent and increment. Fail if it is reported as disabled.
Implementation Steps
Using the DigitalOcean Control Panel:
On the cluster's Settings tab, open the Autoscale storage section under Configuration.
Select 'Enable Storage Autoscaling'.
Click Customize to set a suitable Threshold and Storage Increment (mindful that the increment applies per node).
Save, and configure an alert so the team is notified when an autoscale event occurs.
Using doctl or the API:
Enable and configure storage autoscaling with doctl (it is also configurable in the Control Panel and via the DigitalOcean API). The --enabled flag is required; omit the threshold/increment flags to accept the platform defaults (80 percent, 10 GiB).
doctl databases storage-autoscale update <database-cluster-id> --enabled true --threshold-percent 80 --increment-gib 10
Backout Plan:
Disable autoscaling with doctl databases storage-autoscale update <database-cluster-id> --enabled false, or clear 'Enable Storage Autoscaling' in the Autoscale storage section and save.
Note that any storage already added by a previous autoscale event remains provisioned and billed; it is not reduced by disabling autoscaling.