infrastructure/main.tf

63 lines
1.5 KiB
HCL

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}"
}