initial commit
This commit is contained in:
24
terraform/.terraform.lock.hcl
generated
Normal file
24
terraform/.terraform.lock.hcl
generated
Normal file
@@ -0,0 +1,24 @@
|
||||
# This file is maintained automatically by "terraform init".
|
||||
# Manual edits may be lost in future updates.
|
||||
|
||||
provider "registry.terraform.io/hetznercloud/hcloud" {
|
||||
version = "1.52.0"
|
||||
constraints = "~> 1.47"
|
||||
hashes = [
|
||||
"h1:bDV74LEXxQWmpQ9OsxNPoXfhHwaWIpiS9oS+7g8gVPw=",
|
||||
"zh:1e9bb6b6a2ea5f441638dbae2d60fbe04ff455f58a18c740b8b7913e2197d875",
|
||||
"zh:29c122e404ba331cfbadacc7f1294de5a31c9dfd60bdfe3e1b402271fc8e419c",
|
||||
"zh:2bd0ae2f0bb9f16b7753f59a08e57ac7230f9c471278d7882f81406b9426c8c7",
|
||||
"zh:4383206971873f6b5d81580a9a36e0158924f5816ebb6206b0cf2430e4e6a609",
|
||||
"zh:47e2ca1cfa18500e4952ab51dc357a0450d00a92da9ea03e452f1f3efe6bbf75",
|
||||
"zh:8e9fe90e3cea29bb7892b64da737642fc22b0106402df76c228a3cbe99663278",
|
||||
"zh:a2d69350a69c471ddb63bcc74e105e585319a0fc0f4d1b7f70569f6d2ece5824",
|
||||
"zh:a97abcc254e21c294e2d6b0fc9068acfd63614b097dda365f1c56ea8b0fd5f6b",
|
||||
"zh:aba8d72d4fe2e89c922d5446d329e5c23d00b28227b4666e6486ba18ea2ec278",
|
||||
"zh:ad36c333978c2d9e4bc43dcadcbff42fe771a8c5ef53d028bcacec8287bf78a7",
|
||||
"zh:cdb1e6903b9d2f0ad8845d4eb390fbe724ee2435fb045baeab38d4319e637682",
|
||||
"zh:df77b08757f3f36b8aadb33d73362320174047044414325c56a87983f48b5186",
|
||||
"zh:e07513d5ad387247092b5ae1c87e21a387fc51873b3f38eee616187e38b090a7",
|
||||
"zh:e2be02bdc59343ff4b9e26c3b93db7680aaf3e6ed13c8c4c4b144c74c2689915",
|
||||
]
|
||||
}
|
||||
26
terraform/main.tf
Normal file
26
terraform/main.tf
Normal file
@@ -0,0 +1,26 @@
|
||||
# Upload SSH key to Hetzner
|
||||
resource "hcloud_ssh_key" "hetzner" {
|
||||
name = "Hetzner-Key"
|
||||
public_key = <<EOT
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOqDZVn9hROA7du2xT43CBZe2rAedqH2hFVAV5YDIOYa
|
||||
EOT
|
||||
}
|
||||
|
||||
resource "hcloud_server" "supabase_1" {
|
||||
name = "supabase-1"
|
||||
server_type = "cax21"
|
||||
image = "ubuntu-24.04"
|
||||
location = "nbg1" # Nuremberg
|
||||
ssh_keys = [hcloud_ssh_key.hetzner.name]
|
||||
|
||||
public_net {
|
||||
ipv4_enabled = true
|
||||
ipv6_enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
# # Object Storage bucket (Spaces-compatible)
|
||||
# resource "hcloud_object_storage" "user_files" {
|
||||
# name = "user-files"
|
||||
# location = "nbg1" # Nuremberg
|
||||
# }
|
||||
7
terraform/outputs.tf
Normal file
7
terraform/outputs.tf
Normal file
@@ -0,0 +1,7 @@
|
||||
output "supabase_1_ipv4" {
|
||||
value = hcloud_server.supabase_1.ipv4_address
|
||||
}
|
||||
|
||||
output "supabase_1_ipv6" {
|
||||
value = hcloud_server.supabase_1.ipv6_address
|
||||
}
|
||||
14
terraform/provider.tf
Normal file
14
terraform/provider.tf
Normal file
@@ -0,0 +1,14 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
hcloud = {
|
||||
source = "hetznercloud/hcloud"
|
||||
version = "~> 1.47"
|
||||
}
|
||||
}
|
||||
|
||||
required_version = ">= 1.3.0"
|
||||
}
|
||||
|
||||
provider "hcloud" {
|
||||
token = var.hcloud_token
|
||||
}
|
||||
5
terraform/variables.tf
Normal file
5
terraform/variables.tf
Normal file
@@ -0,0 +1,5 @@
|
||||
variable "hcloud_token" {
|
||||
description = "Hetzner Cloud API Token"
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
Reference in New Issue
Block a user