← Poskytovatel Cloudflare Terraform / terraform / tutorial
2: Sledování historie
V Inicializace nástroje Terraform jste vytvořili a použili základní konfiguraci Cloudflare. Nyní tuto konfiguraci uložíte do systému pro správu verzí, díky čemuž ji budete moci sledovat, procházet při revizích a v případě potřeby vrátit zpět.
1. Použijte proměnné prostředí pro autentizaci
Před odesláním do verzovacího systému odstraňte přihlašovací údaje ze souborů Terraformu. Poskytovatel Cloudflare v5 čte ověřovací údaje automaticky z proměnných prostředí.
Aktualizujte svůj main.tf soubor a odstraňte z něj pevně zakódovaný token API:
terraform {
required_providers {
cloudflare = {
source = "cloudflare/cloudflare"
version = "~> 5"
}
}
}
provider "cloudflare" {
# API token will be read from CLOUDFLARE_API_TOKEN environment variable
}
variable "zone_id" {
description = "Cloudflare Zone ID"
type = string
sensitive = true
}
variable "account_id" {
description = "Cloudflare Account ID"
type = string
sensitive = true
}
variable "domain" {
description = "Domain name"
type = string
default = "example.com"
}
resource "cloudflare_dns_record" "www" {
zone_id = var.zone_id
name = "www"
content = "203.0.113.10"
type = "A"
ttl = 1
proxied = true
comment = "Domain verification record"
}Aktualizujte terraform.tfvars soubor:
zone_id = "your-zone-id-here"
account_id = "your-account-id-here"
domain = "your-domain.com"Ujistěte se, že je váš API token nastaven jako proměnná prostředí:
export CLOUDFLARE_API_TOKEN="your-api-token-here"Ověřte, že autentizace funguje:
terraform planTerraform může při porovnávání nové konfigurace založené na proměnných se stávajícími prostředky zjistit změny. Při migraci z pevně zadaných hodnot na proměnné je to běžné:
# cloudflare_dns_record.www will be updated in-place
~ resource "cloudflare_dns_record" "www" {
~ name = "www.your-domain.com" -> "www"
~ zone_id = (sensitive value)
# (other attributes may show changes)
}
Plan: 0 to add, 1 to change, 0 to destroy.2. Uložte konfiguraci do GitHubu
Vytvořte .gitignore soubor s tímto obsahem:
.terraform/
*.tfstate*
.terraform.lock.hcl
terraform.tfvarsInicializace Gitu a commit konfigurace:
git init
git add main.tf .gitignore
git commit -m "Step 2 - Initial Terraform v5 configuration"Vytvořte repozitář GitHub (přes webové rozhraní nebo GitHub CLI) a proveďte push:
git branch -M main
git remote add origin https://github.com/YOUR_USERNAME/cf-config.git
git push -u origin mainVaše konfigurace Terraformu je nyní verzovaná a připravená pro týmovou spolupráci. Citlivá data (API tokeny, ID zón) zůstávají v bezpečí a oddělená od vašeho kódu.