61 lines
1.3 KiB
HCL
61 lines
1.3 KiB
HCL
terraform {
|
|
required_version = ">= 1.11.0, < 2.0.0"
|
|
|
|
backend "pg" {
|
|
conn_str = "postgres://10.234.158.153:5432/tf_state?sslmode=require"
|
|
schema_name = "ext_cf_tunnel"
|
|
}
|
|
|
|
required_providers {
|
|
cloudflare = {
|
|
source = "cloudflare/cloudflare"
|
|
version = "5.22.0"
|
|
}
|
|
vault = {
|
|
source = "hashicorp/vault"
|
|
version = "5.10.1"
|
|
}
|
|
}
|
|
}
|
|
|
|
provider "vault" {}
|
|
|
|
ephemeral "vault_kv_secret_v2" "tunnel_configuration" {
|
|
mount = "secret"
|
|
name = "cloudflare/tier-o-tunnel-config"
|
|
}
|
|
|
|
ephemeral "vault_kv_secret_v2" "public_dns" {
|
|
mount = "secret"
|
|
name = "cloudflare/pages-infrastructure"
|
|
}
|
|
|
|
ephemeral "vault_kv_secret_v2" "cache_rules" {
|
|
mount = "secret"
|
|
name = "cloudflare/forge-cache"
|
|
}
|
|
|
|
ephemeral "vault_kv_secret_v2" "waf_edit" {
|
|
mount = "secret"
|
|
name = "cloudflare/waf-edit"
|
|
}
|
|
|
|
provider "cloudflare" {
|
|
alias = "tunnel"
|
|
api_token = ephemeral.vault_kv_secret_v2.tunnel_configuration.data["api-token"]
|
|
}
|
|
|
|
provider "cloudflare" {
|
|
alias = "public_dns"
|
|
api_token = ephemeral.vault_kv_secret_v2.public_dns.data["api-token"]
|
|
}
|
|
|
|
provider "cloudflare" {
|
|
alias = "cache"
|
|
api_token = ephemeral.vault_kv_secret_v2.cache_rules.data["api-token"]
|
|
}
|
|
|
|
provider "cloudflare" {
|
|
alias = "waf"
|
|
api_token = ephemeral.vault_kv_secret_v2.waf_edit.data["api-token"]
|
|
}
|