Skip to main content
Version: 1.0.0

Getting Started

Prerequisites​

ToolMinimum versionInstall
Terraform1.9developer.hashicorp.com
ArubaCloud Provider1.0Installed automatically by terraform init
Gitanygit-scm.com

You also need:

  • An Aruba Cloud account with a project and API credentials (OAuth2 client ID and secret)
  • An SSH key pair — the public key is uploaded to ArubaCloud; the private key stays on your machine
  • Optional: a domain name for HTTPS — some examples support automatic TLS via an ACME provider such as Actalis or Let's Encrypt

1. Clone the repository​

git clone https://github.com/arubacloud/terraform-arubacloud-examples.git
cd terraform-arubacloud-examples

2. Choose an example​

cd wordpress # or: wireguard, nextcloud, minio, ...

3. Configure variables​

cp terraform.tfvars.example terraform.tfvars

Open terraform.tfvars in your editor and fill in at minimum:

arubacloud_client_id = "your-oauth2-client-id"
arubacloud_client_secret = "your-oauth2-client-secret"
ssh_public_key = "ssh-rsa AAAA..."

All other variables have sensible defaults. See the example's README.md for a full variable reference.

4. Deploy​

terraform init
terraform plan # review changes before applying
terraform apply

Provisioning typically takes 5–15 minutes — the VM boots, cloud-init installs packages, and the application starts.

5. Access the application​

After apply completes, Terraform prints the outputs:

terraform output

Common outputs include app_url, ssh_command, and admin_password.

6. Destroy​

terraform destroy
Elastic IP billing

Elastic IPs are billed even when not attached. terraform destroy releases them. Always destroy unused deployments to avoid unexpected charges.

Credential security​

  • Never commit terraform.tfvars — it is gitignored by default
  • Use sensitive = true variables (already set in all examples) to keep secrets out of plan output
  • For production, store credentials in a secrets manager and reference them via environment variables or Vault