Skip to content

Terraform module for creating Redis cluster on the DigitalOcean cloud.

License

Notifications You must be signed in to change notification settings

opsd-io/terraform-module-digitalocean-redis

Repository files navigation

OPSd - the unique and effortless way of managing cloud infrastructure.

Meet OPSd. The unique and effortless way of managing cloud infrastructure.

terraform-module-template

Introduction

What does the module provide?

Usage

module "example" {
  source = "github.com/opsd-io/terraform-module-digitalocean-redis?ref=main"

  databasename          = "example-redis-cluster"
  redis_version         = "7"
  node_size             = "db-s-1vcpu-1gb"
  region                = "nyc1"
  node_count            = 1
  common_tags           = ["production"]
  firewall_rules        = ["192.168.0.1", "192.168.0.2", "192.168.0.8"]
}

IMPORTANT: Make sure not to pin to master because there may be breaking changes between releases.

Requirements

Name Version
terraform >= 1.5.5
digitalocean >= 2.34.1

Providers

Name Version
digitalocean >= 2.34.1

Modules

No modules.

Resources

Name Type
digitalocean_database_cluster.main resource
digitalocean_database_firewall.main resource
digitalocean_database_redis_config.main resource

Inputs

Name Description Type Default Required
cluster_name The name of the database cluster. string n/a yes
common_tags A list of tag names to be applied to the database cluster. set(string) [] no
firewall_rules List of trusted sources associated with the cluster. set(string) [] no
node_count Number of redis nodes that will be created. number 1 no
node_size The redis node instance size. string "db-s-1vcpu-1gb" no
redis_version Engine version used by the cluster. number 7 no
region DigitalOcean region where the cluster will reside. string n/a yes

Outputs

Name Description
cluster_default_database Name of the cluster's default database.
cluster_default_user Username for the cluster's default user.
cluster_default_user_password Password for the cluster's default user.
cluster_host Database cluster's hostname.
cluster_id The ID of the database cluster.
cluster_main_uri The full URI for connecting to the database cluster.
cluster_port Network port that the database cluster is listening on.
cluster_private_host Same as host, but only accessible from resources within the account and in the same region.
cluster_private_uri Same as uri, but only accessible from resources within the account and in the same region.
firewall_id A unique identifier for the firewall.

Examples of usage

Do you want to see how the module works? See all the usage examples.

Related modules

The list of related modules (if present).

Contributing

If you are interested in contributing to the project, see see our guide.

Support

If you have a problem with the module or want to propose a new feature, you can report it via the project's (Github) issue tracker.

If you want to discuss something in person, you can join our community on Slack.

License

Apache License 2.0