我可以对 CloudFlare 配置进行版本控制吗?
Can I version control CloudFlare configuration?
我将 Cloudflare 用于 public 网站。最近,我一直在通过 website/UI 调整许多不同的配置值。有没有办法 download/upload 配置,以便它可以进行版本控制?
您可以使用 Terraform 配置 Cloudflare。查看 Terraform Cloudflare 提供商 here.
您可以使用 Cloudflare 提供的名为 cf-terraforming 的工具,该工具允许将 Cloudflare 安装程序下载到 Terraform 中。
这是使用 Terraform 的快速演示:
locals {
domain = "example.com"
hostname = "example.com" # TODO: Varies by environment
}
variable "CLOUDFLARE_ACCOUNT_ID" {}
variable "CLOUDFLARE_API_TOKEN" { sensitive = true }
provider "cloudflare" {
account_id = var.CLOUDFLARE_ACCOUNT_ID
api_token = var.CLOUDFLARE_API_TOKEN
}
resource "cloudflare_zone" "default" {
zone = local.domain
plan = "free"
}
resource "cloudflare_record" "a" {
zone_id = cloudflare_zone.default.id
name = local.hostname
value = "192.0.2.1"
type = "A"
ttl = 1
proxied = true
}
查找完整示例,请参见Terraform Starter Kit:
infra/dns-zone.tf
infra/dns-records.tf
它与提供免费帐户的 Terraform Cloud“后端”配合使用效果特别好。
我将 Cloudflare 用于 public 网站。最近,我一直在通过 website/UI 调整许多不同的配置值。有没有办法 download/upload 配置,以便它可以进行版本控制?
您可以使用 Terraform 配置 Cloudflare。查看 Terraform Cloudflare 提供商 here.
您可以使用 Cloudflare 提供的名为 cf-terraforming 的工具,该工具允许将 Cloudflare 安装程序下载到 Terraform 中。
这是使用 Terraform 的快速演示:
locals {
domain = "example.com"
hostname = "example.com" # TODO: Varies by environment
}
variable "CLOUDFLARE_ACCOUNT_ID" {}
variable "CLOUDFLARE_API_TOKEN" { sensitive = true }
provider "cloudflare" {
account_id = var.CLOUDFLARE_ACCOUNT_ID
api_token = var.CLOUDFLARE_API_TOKEN
}
resource "cloudflare_zone" "default" {
zone = local.domain
plan = "free"
}
resource "cloudflare_record" "a" {
zone_id = cloudflare_zone.default.id
name = local.hostname
value = "192.0.2.1"
type = "A"
ttl = 1
proxied = true
}
查找完整示例,请参见Terraform Starter Kit:
infra/dns-zone.tf
infra/dns-records.tf
它与提供免费帐户的 Terraform Cloud“后端”配合使用效果特别好。