mirror of
https://github.com/lordmathis/dev-cluster.git
synced 2025-12-22 08:34:22 +00:00
Add cloudflare
This commit is contained in:
@@ -3,10 +3,15 @@ terraform {
|
||||
required_providers {
|
||||
hcloud = {
|
||||
source = "hetznercloud/hcloud"
|
||||
version = "~> 1.0"
|
||||
}
|
||||
sops = {
|
||||
source = "carlpett/sops"
|
||||
version = "~> 0.5"
|
||||
version = "~> 1.0"
|
||||
}
|
||||
cloudflare = {
|
||||
source = "cloudflare/cloudflare"
|
||||
version = "~> 4.0"
|
||||
}
|
||||
}
|
||||
required_version = ">= 0.13"
|
||||
@@ -25,6 +30,10 @@ provider "hcloud" {
|
||||
|
||||
provider "sops" {}
|
||||
|
||||
provider "cloudflare" {
|
||||
api_token = var.cloudflare_api_token
|
||||
}
|
||||
|
||||
data "sops_file" "secrets" {
|
||||
source_file = "secrets.enc.yaml"
|
||||
}
|
||||
@@ -100,6 +109,20 @@ resource "hcloud_firewall" "cluster-firewall" {
|
||||
}
|
||||
}
|
||||
|
||||
data "cloudflare_zones" "domain" {
|
||||
filter {
|
||||
name = data.sops_file.secrets.data["domain_name"]
|
||||
}
|
||||
}
|
||||
|
||||
resource "cloudflare_record" "cluster" {
|
||||
zone_id = data.cloudflare_zones.domain.zones[0].id
|
||||
name = "@"
|
||||
value = hcloud_server.cluster.ipv4_address
|
||||
type = "A"
|
||||
proxied = false
|
||||
}
|
||||
|
||||
output "server_ip" {
|
||||
value = hcloud_server.cluster.ipv4_address
|
||||
}
|
||||
@@ -3,3 +3,9 @@ variable "hcloud_token" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "cloudflare_api_token" {
|
||||
description = "Cloudflare API Token"
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
Reference in New Issue
Block a user