digitalocean/scale-with-simplicity

HCL

Open original ↗

Captured source

source ↗

digitalocean/scale-with-simplicity

Description: Reference architectures to showcase how users can leverage DigitalOcean's robust cloud platform to build resilient, distributed systems at scale.

Language: HCL

Stars: 29

Forks: 12

Open issues: 0

Created: 2025-03-25T07:20:20Z

Pushed: 2026-04-06T19:21:37Z

Default branch: main

Fork: no

Archived: no

README:

Scale With Simplicity

This repo contains reference architectures developed by DigitalOcean to help users understand how to leverage DigitalOcean Services for specific use cases. Each reference architecture is provided as a Terraform module, allowing you to deploy and test to facilitate learning and rapid development. These reference architecture modules leverage our [Terraform Module Library](./TERRAFORM-MODULE-LIBRARY.md), which contains reusable Terraform modules addressing specific components of the architectures.

Note: While these reference architectures are fully functional, they are intended to be used as a reference. Please validate any configuration for your own use case.

---

Reference Architectures

| Name | Use Case | |----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------| | [DOKS and DBaaS Observability](./reference-architectures/doks-dbaas-observability) | Observability for DOKS workloads and managed databases using Prometheus, Grafana, and Loki | | [Globally Load Balanced Web Servers](./reference-architectures/globally-load-balanced-web-servers) | Load balanced web servers deployed into multiple regions with a global load balancer directing users to the region closest to them. | | [NAT Gateway](./reference-architectures/nat-gateway) | Route all egress traffic from DOKS cluster and Droplets through a NAT Gateway, providing a single static IP for outbound connectivity | | [Partner Network Connect with AWS](./reference-architectures/partner-network-connect-aws) | End-to-End connection between DO VPC and AWS VPC using Partner Network Connect with HA support | | [Site to Site VPN with AWS](./reference-architectures/site-to-site-vpn-aws) | IPSec VPN Gateway Droplet connecting DO VPC and DOKS cluster with AWS VPC | | [vLLM on DOKS with Managed NFS](./reference-architectures/vllm-nfs) | vLLM inference on DOKS using Managed NFS for shared model storage across GPU workers |

All reference architectures are validated using static analysis (terraform validate, fmt, tflint) when updates are made.

---

Getting Started

This section helps beginners set up Terraform and DigitalOcean access.

1. Install Terraform 2. Export your DigitalOcean token:

export DIGITALOCEAN_ACCESS_TOKEN="your_token_here"

3. Clone this repo and navigate to the desired reference architecture. 4. Create a terraform.tfvars file with required inputs.

Example:

region = "nyc3"
droplet_count = 3
image = "ubuntu-20-04-x64"

---

How to Deploy

A typical way to deploy for testing purposes would be to:

  • Ensure you have your DigitalOcean Personal Access Token set in the DIGITALOCEAN_TOKEN environment variable.
  • Clone the repo.
  • cd into the terraform directory within the reference architecture you want to test.
  • Note: Some reference architectures use multiple Terraform stacks (e.g., terraform/1-infra/, terraform/2-routes/) to handle dependencies between resources. These must be deployed sequentially, starting with stack 1. Check the reference architecture's README for specific deployment instructions.
  • Create a tfvars file with the inputs needed for the reference architecture module.
  • Run:
terraform init
terraform plan -var-file=
terraform apply -var-file=
  • Test your deployment.
  • When done, destroy the resources in reverse order (for multi-stack architectures, destroy the highest numbered stack first):
terraform destroy -var-file=

If you wish to use the reference architecture as a basis for your own deployment, it's recommended to copy the Terraform files to your own repo and customize them for your needs.

Notability

notability 3.0/10

Routine repo, low stars.