digitalocean_database_cluster

Provides a DigitalOcean database cluster resource.

Example Usage

Create a new PostgreSQL database cluster

resource "digitalocean_database_cluster" "postgres-example" {
  name       = "example-postgres-cluster"
  engine     = "pg"
  version    = "15"
  size       = "db-s-1vcpu-1gb"
  region     = "nyc1"
  node_count = 1
}

Create a new MySQL database cluster

resource "digitalocean_database_cluster" "mysql-example" {
  name       = "example-mysql-cluster"
  engine     = "mysql"
  version    = "8"
  size       = "db-s-1vcpu-1gb"
  region     = "nyc1"
  node_count = 1
}

Create a new Redis database cluster

resource "digitalocean_database_cluster" "redis-example" {
  name       = "example-redis-cluster"
  engine     = "redis"
  version    = "7"
  size       = "db-s-1vcpu-1gb"
  region     = "nyc1"
  node_count = 1
}

Create a new Kafka database cluster

resource "digitalocean_database_cluster" "kafka-example" {
  name       = "example-kafka-cluster"
  engine     = "kafka"
  version    = "3.5"
  size       = "db-s-2vcpu-2gb"
  region     = "nyc1"
  node_count = 3
}

Create a new MongoDB database cluster

resource "digitalocean_database_cluster" "mongodb-example" {
  name       = "example-mongo-cluster"
  engine     = "mongodb"
  version    = "6"
  size       = "db-s-1vcpu-1gb"
  region     = "nyc3"
  node_count = 1
}

Create a new database cluster based on a backup of an existing cluster.

resource "digitalocean_database_cluster" "doby" {
  name       = "dobydb"
  engine     = "pg"
  version    = "15"
  size       = "db-s-1vcpu-2gb"
  region     = "nyc1"
  node_count = 1
  tags       = ["production"]
}

resource "digitalocean_database_cluster" "doby_backup" {
  name       = "dobydupe"
  engine     = "pg"
  version    = "15"
  size       = "db-s-1vcpu-2gb"
  region     = "nyc1"
  node_count = 1
  tags       = ["production"]

  backup_restore {
    database_name = "dobydb"
  }

  depends_on = [
    digitalocean_database_cluster.doby
  ]
}

Argument Reference

The following arguments are supported:

maintenance_window supports the following:

backup_restore supports the following:

This resource supports customized create timeouts. The default timeout is 30 minutes.

Attributes Reference

In addition to the above arguments, the following attributes are exported:

OpenSearch clusters will have the following additional attributes with connection details for their dashboard:

Import

Database clusters can be imported using the id returned from DigitalOcean, e.g.

terraform import digitalocean_database_cluster.mycluster 245bcfd0-7f31-4ce6-a2bc-475a116cca97