From a990e4bd3c76fa28ec3939bb96c17d7626b18e18 Mon Sep 17 00:00:00 2001 From: Alex Gherghisan Date: Fri, 6 Feb 2026 16:20:56 +0000 Subject: [PATCH] chore: add new retention policy to cloudflare R2 --- spartan/environments/testnet-canary.env | 46 ----------------------- spartan/terraform/cloudflare/main.tf | 46 ++++++++++++++++------- spartan/terraform/cloudflare/variables.tf | 6 +++ 3 files changed, 38 insertions(+), 60 deletions(-) delete mode 100644 spartan/environments/testnet-canary.env diff --git a/spartan/environments/testnet-canary.env b/spartan/environments/testnet-canary.env deleted file mode 100644 index 5a643cf29ace..000000000000 --- a/spartan/environments/testnet-canary.env +++ /dev/null @@ -1,46 +0,0 @@ -CREATE_ETH_DEVNET=false -GCP_REGION=us-west1-a -CLUSTER=aztec-gke-public - -NAMESPACE=${NAMESPACE:-testnet} -NETWORK=testnet -TEST_ACCOUNTS=false -SPONSORED_FPC=true -SEQ_MIN_TX_PER_BLOCK=0 -SEQ_MAX_TX_PER_BLOCK=0 -TRANSACTIONS_DISABLED=true - -ETHEREUM_CHAIN_ID=11155111 -ETHEREUM_RPC_URLS=REPLACE_WITH_GCP_SECRET -ETHEREUM_CONSENSUS_HOST_URLS=REPLACE_WITH_GCP_SECRET -ETHEREUM_CONSENSUS_HOST_API_KEYS=REPLACE_WITH_GCP_SECRET -ETHEREUM_CONSENSUS_HOST_API_KEY_HEADERS=REPLACE_WITH_GCP_SECRET -FUNDING_PRIVATE_KEY=REPLACE_WITH_GCP_SECRET -LABS_INFRA_MNEMONIC=REPLACE_WITH_GCP_SECRET -ROLLUP_DEPLOYMENT_PRIVATE_KEY=REPLACE_WITH_GCP_SECRET -OTEL_COLLECTOR_ENDPOINT=REPLACE_WITH_GCP_SECRET -VERIFY_CONTRACTS=true -ETHERSCAN_API_KEY=REPLACE_WITH_GCP_SECRET - -SNAPSHOT_BUCKET_DIRECTORY=${SNAPSHOT_BUCKET_DIRECTORY:-testnet} -BLOB_BUCKET_DIRECTORY=${BLOB_BUCKET_DIRECTORY:-testnet/blobs} -R2_ACCESS_KEY_ID=REPLACE_WITH_GCP_SECRET -R2_SECRET_ACCESS_KEY=REPLACE_WITH_GCP_SECRET -DEPLOY_INTERNAL_BOOTNODE=false -BOT_TRANSFERS_REPLICAS=0 -BOT_SWAPS_REPLICAS=0 -FLUSH_ENTRY_QUEUE=false - -P2P_TX_POOL_DELETE_TXS_AFTER_REORG=true - -DEPLOY_ARCHIVAL_NODE=false - -RPC_INGRESS_ENABLED=false - -VALIDATOR_REPLICAS=4 -VALIDATORS_PER_NODE=12 -PUBLISHERS_PER_VALIDATOR_KEY=2 -VALIDATOR_PUBLISHER_MNEMONIC_START_INDEX=5000 - -PUBLISHERS_PER_PROVER=2 -PROVER_PUBLISHER_MNEMONIC_START_INDEX=8000 diff --git a/spartan/terraform/cloudflare/main.tf b/spartan/terraform/cloudflare/main.tf index 469f7f93afd1..4925a3ae535c 100644 --- a/spartan/terraform/cloudflare/main.tf +++ b/spartan/terraform/cloudflare/main.tf @@ -37,24 +37,42 @@ resource "cloudflare_r2_custom_domain" "aztec_labs_snapshots_com" { enabled = true } +locals { + top_level_folders = toset([ + "devnet", + "ignition-sepolia", + "next-net", + "staging-ignition", + "staging-public", + ]) +} + # Lifecycle rules to automatically delete old objects resource "cloudflare_r2_bucket_lifecycle" "cleanup" { account_id = var.R2_ACCOUNT_ID bucket_name = cloudflare_r2_bucket.bucket.name - rules = [ - { - id = "delete-snapshot-files" - enabled = true - conditions = { suffix = ".db" } - delete_objects_transition = { days = var.SNAPSHOT_RETENTION_DAYS } - }, - { - id = "delete-blob-files" - enabled = true - conditions = { suffix = ".data" } - delete_objects_transition = { days = var.BLOB_RETENTION_DAYS } - }, - ] + rules = flatten([ + for folder in local.top_level_folders : [ + { + id = "delete-snapshots-${folder}" + enabled = true + conditions = { prefix = "${folder}/aztec" } + delete_objects_transition = { days = var.SNAPSHOT_RETENTION_DAYS } + }, + { + id = "delete-blobs-${folder}" + enabled = true + conditions = { prefix = "${folder}/blobs" } + delete_objects_transition = { days = var.BLOB_RETENTION_DAYS } + }, + { + id = "delete-txs-${folder}" + enabled = true + conditions = { prefix = "${folder}/txs" } + delete_objects_transition = { days = var.TX_RETENTION_DAYS } + }, + ] + ]) } diff --git a/spartan/terraform/cloudflare/variables.tf b/spartan/terraform/cloudflare/variables.tf index 32910b8304dd..0b2ab062cf0d 100644 --- a/spartan/terraform/cloudflare/variables.tf +++ b/spartan/terraform/cloudflare/variables.tf @@ -36,3 +36,9 @@ variable "SNAPSHOT_RETENTION_DAYS" { default = 7 description = "Number of days to retain snapshots" } + +variable "TX_RETENTION_DAYS" { + type = number + default = 1 + description = "Number of days to retain txs" +}