64 lines
1.5 KiB
Terraform
64 lines
1.5 KiB
Terraform
|
terraform {
|
||
|
required_providers {
|
||
|
hcloud = {
|
||
|
source = "hetznercloud/hcloud"
|
||
|
version = "~> 1.45"
|
||
|
}
|
||
|
ovh = {
|
||
|
source = "ovh/ovh"
|
||
|
version = "~> 0.48"
|
||
|
}
|
||
|
scaleway = {
|
||
|
source = "scaleway/scaleway"
|
||
|
version = "~> 2.43"
|
||
|
}
|
||
|
tailscale = {
|
||
|
source = "tailscale/tailscale"
|
||
|
version = "~> 0.16"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
backend "s3" {
|
||
|
bucket = var.backend_bucket
|
||
|
access_key = var.backend_access_key
|
||
|
secret_key = var.backend_secret_key
|
||
|
key = "terraform.tfstate"
|
||
|
region = var.backend_region
|
||
|
encrypt = true
|
||
|
endpoints = {
|
||
|
s3 = var.backend_endpoint
|
||
|
}
|
||
|
|
||
|
# Disable AWS-specific features
|
||
|
skip_credentials_validation = true
|
||
|
skip_region_validation = true
|
||
|
skip_requesting_account_id = true
|
||
|
skip_s3_checksum = true
|
||
|
}
|
||
|
}
|
||
|
|
||
|
provider "hcloud" {
|
||
|
token = "${var.hcloud_token}"
|
||
|
}
|
||
|
|
||
|
provider "ovh" {
|
||
|
endpoint = "ovh-eu"
|
||
|
application_key = "${var.ovh_application_key}"
|
||
|
application_secret = "${var.ovh_application_secret}"
|
||
|
consumer_key = "${var.ovh_consumer_key}"
|
||
|
}
|
||
|
|
||
|
provider "scaleway" {
|
||
|
organization_id = "${var.scaleway_organization_id}"
|
||
|
project_id = "${var.scaleway_project_id}"
|
||
|
access_key = "${var.scaleway_access_key}"
|
||
|
secret_key = "${var.scaleway_secret_key}"
|
||
|
region = "nl-ams"
|
||
|
zone = "nl-ams-1"
|
||
|
}
|
||
|
|
||
|
provider "tailscale" {
|
||
|
api_key = "${var.tailscale_api_key}"
|
||
|
tailnet = "${var.tailscale_tailnet}"
|
||
|
}
|