Your infrastructure, reviewed as code.

Manage databases, caches and object storage with the DanubeData Terraform provider. Keep the configuration in Git, review a plan, then apply it to your infrastructure in Germany.

  • European-owned
  • German data centers
  • TLS encrypted
main.tf · provider setup
terraform {
  required_providers {
    danubedata = {
      source  = "AdrianSilaghi/danubedata"
      version = "= 0.3.4"
    }
  }
}

# Set DANUBEDATA_API_TOKEN in your environment.
provider "danubedata" {}

Provider 0.3.4. View on the Terraform Registry.

What customers say

“As a developer and cloud enthusiast, I’ve tried a lot of infrastructure platforms — but DanubeData genuinely stands out as one of the most intuitive, modern, and reliable cloud services I’ve used. From signup to deployment, everything feels thoughtfully designed and developer-centric. Deploying a VPS, cache, or database instance takes under a minute — and that’s not an exaggeration! Their intuitive dashboard and instant provisioning make launching new services effortless, even if you’re just getting started with cloud infrastructure”

Keoma WrightCEO/Founder at OpenWeb.co.za
Cristian TorzsaCEO at InnovaSoftware SRL
Bo PereiraParis-Brest srl
Read more customer stories

Start with a configuration you can read.

Use the provider setup with one of these examples. The application stack combines the database, cache and bucket in one file.

Save this as main.tf. Supply a project-scoped API token through your environment, rather than a committed file.

Provider setup
terraform {
  required_providers {
    danubedata = {
      source  = "AdrianSilaghi/danubedata"
      version = "= 0.3.4"
    }
  }
}

# Set DANUBEDATA_API_TOKEN in your environment.
provider "danubedata" {}

VPS creation in 0.3.4

The API requires cpu_platform, which this provider release does not expose. For new VPS instances, use the console or the danube CLI. Explore VPS options while this limitation remains.

Choose a plan using its slug, and check current pricing before applying. A plan is a change preview, not a forecast of your bill.

Make infrastructure changes reviewable.

Use the same configuration in your terminal and CI. Keep the approval, state and credentials explicit.

  • Review the change before applying it

    Commit HCL and the provider lockfile. Read the plan in a pull request or CI job, then approve the saved plan.

  • Reuse modules, separate state

    Share resource definitions through modules. Give each environment its own state key and project-scoped API token.

  • Bring existing resources under management

    Use terraform import with the resource ID and matching configuration. Review the next plan before making changes.

  • Protect credentials and state

    Keep API tokens in environment variables or CI secrets. Sensitive outputs still live in state, so control access to your backend.

Before your first apply.

Provider versions, state and existing resources.

Read the provider reference or DanubeData help for the details.

  • Create a project-scoped token from Security > API tokens in the DanubeData console, with permissions for the resources you manage. Supply it through DANUBEDATA_API_TOKEN. Keep it out of version control.

    Link to this answer

Put your next change in a plan.

Create an account, issue a scoped token and start with a small configuration you can review.