Cloudflare resources.

This commit is contained in:
2025-10-12 15:12:58 -04:00
parent 5c06f314dd
commit f6ee113145
11 changed files with 1522 additions and 260 deletions
+8 -5
View File
@@ -1,5 +1,9 @@
# Created by https://www.toptal.com/api/terraform
# Edit at https://www.toptal.com?templates=terraform
### Terraform ###
# Local .terraform directories # Local .terraform directories
.terraform/ **/.terraform/*
# .tfstate files # .tfstate files
*.tfstate *.tfstate
@@ -23,18 +27,17 @@ override.tf.json
*_override.tf *_override.tf
*_override.tf.json *_override.tf.json
# Ignore transient lock info files created by terraform apply
.terraform.tfstate.lock.info
*.terraform.lock*
# Include override files you do wish to add to version control using negated pattern # Include override files you do wish to add to version control using negated pattern
# !example_override.tf # !example_override.tf
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan # Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
example: *tfplan* # example: *tfplan*
**/*.tfplan
# Ignore CLI configuration files # Ignore CLI configuration files
.terraformrc .terraformrc
terraform.rc terraform.rc
# End of https://www.toptal.com/api/terraform
# Envs # Envs
*.env* *.env*
+10 -10
View File
@@ -2,18 +2,18 @@
# Manual edits may be lost in future updates. # Manual edits may be lost in future updates.
provider "registry.opentofu.org/cloudflare/cloudflare" { provider "registry.opentofu.org/cloudflare/cloudflare" {
version = "5.7.1" version = "5.11.0"
constraints = "~> 5.0" constraints = "~> 5.0"
hashes = [ hashes = [
"h1:24uCJp1H3ZK8CCwszYyR3qtOn5Z5Hn1eCcv2gkH7+4g=", "h1:jgb1wjIOM91LvApId25gmz6X5NcfS0e10flOrndNwqM=",
"zh:0bbd2eaa8210b2214dc426a2471b38cee53db9750b4916b34b0926fc9cbe4d7b", "zh:0848e1ac58cbca0adeba216742a5a7054a10386f019d4358eb69afa3ac4dc247",
"zh:0de3675e2ace7478ab0d354b2b6db4be2ae5a9a5e68b725cdd10e956131ec687", "zh:3212393037e7a5db03d81d652d15a6343befffbf1ed643b5ad60bf4b157762ac",
"zh:4787a255919911aac5e1f8d47ed19fa45e5b90439ecf1fffbb17ff8bfb28de79", "zh:3d89d228d0931c891b8e3ecdba28182e6a97972d1c1c7088360f7f0a40d49f97",
"zh:4eb1e4300b3cdee3a323457ebcc8df29a735ea6bbabe3cf9cbd3dc3fb5a9172b", "zh:aef6572e45bdf05765db2976625eaa1997116e17d68e82d36ff0c5090690b758",
"zh:580bbd5a727c9e3f31ae47c872df860c9a08ea998e0ff3dfe37dbac536146166", "zh:b8ba44b1a3a52252b9fe33611310869820e8610e3ae6ca67bb14134dcd20a306",
"zh:6a359212678ffcf88551e2d8d0f8e52418031cf1f8077bb8ddf500171ee90f2b", "zh:e0099f6d61c552c3fd7801d06f3d6912cb26dc3d808f97fa69015adcc4485e4d",
"zh:bec6890cb11511577c5f8ec8954e26ac51c44a114cb3e0349fea40f87930c029", "zh:e937b5d23a6373417f4e4f80bb89b1865d783af7d7baccf8547c59b4d38707ec",
"zh:dbe3585510283c8e53a2b24cc7a69fab0ee9d71addae0db1be0374bc32fc6355", "zh:ed2417b3d7487227bf78c70c372fc9fa711d83ea073755e3ff8484af7ca194c1",
"zh:f809ab383cca0a5f83072981c64208cbd7fa67e986a86ee02dd2c82333221e32", "zh:f809ab383cca0a5f83072981c64208cbd7fa67e986a86ee02dd2c82333221e32",
] ]
} }
-4
View File
@@ -1,4 +0,0 @@
email: ""
key: ""
# or
token: ""
File diff suppressed because it is too large Load Diff
+4 -3
View File
@@ -1,7 +1,8 @@
resource "cloudflare_zone" "terraform_managed_resource_17dbb71212204583b777783d25eb6738_0" { resource "cloudflare_zone" "terraform_managed_resource_17dbb71212204583b777783d25eb6738_0" {
name = "trez.wtf" name = "trez.wtf"
paused = false paused = false
type = "full" type = "full"
vanity_name_servers = []
account = { account = {
id = "f5a5c0098ccae27fb0486ffbc2ee6087" id = "f5a5c0098ccae27fb0486ffbc2ee6087"
name = "Charish.patel@trez.wtf's Account" name = "Charish.patel@trez.wtf's Account"
+6
View File
@@ -0,0 +1,6 @@
CLOUDFLARE_API_TOKEN=""
CLOUDFLARE_ZONE_ID=""
AWS_ENDPOINT_URL_S3=""
AWS_DEFAULT_REGION=""
AWS_ACCESS_KEY_ID=""
AWS_SECRET_ACCESS_KEY=""
+3 -3
View File
@@ -144,7 +144,7 @@ cf_generate () {
for resource in "${resources[@]}"; do for resource in "${resources[@]}"; do
echo "Generating ${resource}.tf..." echo "Generating ${resource}.tf..."
cf-terraforming generate --config .cf-terraforming.yaml --resource-type ${resource} > ${resource}.tf cf-terraforming generate --zone ${CLOUDFLARE_ZONE_ID} --resource-type ${resource} > ${resource}.tf
done done
echo "🧹 Cleaning up empty files..." echo "🧹 Cleaning up empty files..."
@@ -155,10 +155,10 @@ cf_generate () {
cf_import () { cf_import () {
for cfresource in $(find . -type f -name "cloudflare_*.tf"); do for cfresource in $(find . -type f -name "cloudflare_*.tf"); do
echo "Importing ${cfresource}..." echo "Importing ${cfresource}..."
cf-terraforming import --modern-import-block --config .cf-terraforming.yaml --resource-type ${cfresource} cf-terraforming import --zone ${CLOUDFLARE_ZONE_ID} --modern-import-block --resource-type $(echo ${cfresource} | sed -e 's/.\///' -e 's/\.tf//') >> imports.tf
done done
echo "✅ All Cloudflare resources import." echo "✅ All Cloudflare resources imported. Please check imports.tf"
} }
# Prompt user for input # Prompt user for input
File diff suppressed because it is too large Load Diff
+2 -10
View File
@@ -7,12 +7,8 @@ terraform {
} }
backend "s3" { backend "s3" {
bucket = "rinoa-terraform" bucket = "rinoa-terraform"
key = "cloudflare/.tfstate" key = "cloudflare/.tfstate"
endpoints = { s3 = "http://192.168.1.254:9001" }
region = "us-east-fh-pln"
skip_credentials_validation = true skip_credentials_validation = true
skip_metadata_api_check = true skip_metadata_api_check = true
skip_region_validation = true skip_region_validation = true
@@ -20,7 +16,3 @@ terraform {
skip_requesting_account_id = true # Optional, set to true if MinIO does not support AWS account ID skip_requesting_account_id = true # Optional, set to true if MinIO does not support AWS account ID
} }
} }
provider "cloudflare" {
api_token = var.cloudflare_token
}
Binary file not shown.
-24
View File
@@ -1,24 +0,0 @@
# variable "cloudflare_zone_id" {
# description = "The Cloudflare UUID for the Zone to use."
# type = string
# }
variable "cloudflare_account_id" {
description = "The Cloudflare UUID for the Account the Zone lives in."
type = string
}
variable "cloudflare_email" {
description = "The Cloudflare user."
type = string
}
variable "cloudflare_token" {
description = "The Cloudflare user's API token."
type = string
}
# variable "zone" {
# description = "The Cloudflare user's API token."
# type = string
# }